다음을 통해 공유


Enterprise Security Package를 사용하여 HDInsight에서 Apache Hive 정책 구성

이 문서에서는 Apache Hive에 대한 Apache Ranger 정책을 구성하는 방법을 알아봅니다. hivesampletable에 대한 액세스를 제한하기 위해 두 개의 Ranger 정책을 만듭니다. hivesampletable은 HDInsight 클러스터와 함께 제공됩니다. 정책을 구성한 후 Excel 및 ODBC(Open Database Connectivity) 드라이버를 사용하여 HDInsight의 Hive 테이블에 연결합니다.

필수 조건

  • ESP(Enterprise Security Package)를 사용한 HDInsight 클러스터. 자세한 내용은 ESP를 사용하여 HDInsight 클러스터 구성을 참조하세요.
  • 엔터프라이즈용 Microsoft 365 앱, Office 2016, Office 2013 Professional Plus, Excel 2013 Standalone 또는 Office 2010 Professional Plus가 설치된 워크스테이션.

Apache Ranger 관리 UI에 연결

Ranger 관리 UI(사용자 인터페이스)에 연결하려면 다음을 수행합니다.

  1. 브라우저에서 https://CLUSTERNAME.azurehdinsight.net/Ranger/의 Ranger 관리 UI로 이동합니다. 여기서 CLUSTERNAME은 클러스터 이름입니다.

    참고 항목

    Ranger는 다른 Apache Hadoop 클러스터가 아닌 자격 증명을 사용합니다. 브라우저가 캐시된 Hadoop 자격 증명을 사용하지 않도록 하려면 새 InPrivate 브라우저 창을 사용하여 Ranger 관리 UI에 연결합니다.

  2. 클러스터 관리자 도메인 사용자 이름과 암호를 사용하여 로그인합니다.

    HDInsight ESP Ranger 홈페이지를 보여 주는 스크린샷.

    Ranger는 현재 Yarn 및 Hive에서만 작동합니다.

도메인 사용자 만들기

hiveruser1hiveuser2를 만드는 방법에 대한 자세한 내용은 ESP를 사용하여 HDInsight 클러스터 만들기를 참조하세요. 이 문서에서는 두 개의 사용자 계정을 사용합니다.

Ranger 정책 만들기

이 섹션에서는 hivesampletable에 액세스하기 위한 두 개의 Ranger 정책을 만듭니다. 다양한 열 집합에 대해 선택 권한을 부여합니다. 두 사용자 모두 ESP를 사용하여 HDInsight 클러스터 만들기를 통해 만들어졌습니다. 다음 섹션에서는 Excel에서 두 가지 정책을 테스트합니다.

Ranger 정책을 만들려면:

  1. Ranger 관리 UI를 엽니다. 이전 섹션인 Apache Ranger 관리 UI에 연결을 참조하세요.

  2. Hive에서 CLUSTERNAME_Hive를 선택합니다. 두 가지 미리 구성된 정책이 표시됩니다.

  3. 새 정책 추가를 선택하고 다음 값을 입력합니다.

    속성
    정책 이름 read-hivesampletable-all
    Hive 데이터베이스 default
    table hivesampletable
    Hive 열 *
    사용자 선택 hiveuser1
    사용 권한 선택

    구성할 HDInsight ESP Ranger Hive 정책을 보여 주는 스크린샷. .

    참고 항목

    사용자 선택에 도메인 사용자가 입력되지 않은 경우 Ranger가 Microsoft Entra ID와 동기화될 때까지 잠시 기다립니다.

  4. 추가를 선택하여 정책을 저장합니다.

  5. 다음 속성을 가진 다른 정책을 만들려면 마지막 두 단계를 반복합니다.

    속성
    정책 이름 read-hivesampletable-devicemake
    Hive 데이터베이스 default
    table hivesampletable
    Hive 열 clientid, devicemake
    사용자 선택 hiveuser2
    사용 권한 선택

Hive ODBC 데이터 원본 만들기

Hive ODBC 데이터 원본을 만드는 방법에 대한 지침은 Hive ODBC 데이터 원본 만들기를 참조하세요.

속성 설명
데이터 원본 이름 데이터 원본에 이름을 지정합니다.
호스트 CLUSTERNAME.azurehdinsight.net을 입력합니다. 예를 들어, myHDICluster.azurehdinsight.net을 사용합니다.
포트 443을 사용합니다. (이 포트는 563에서 443으로 변경되었습니다.)
데이터베이스 기본값을 사용합니다.
Hive 서버 유형 Hive 서버 2를 선택합니다.
메커니즘 Azure HDInsight Service를 선택합니다.
HTTP 경로 비워 둠
사용자 이름 hiveuser1@contoso158.onmicrosoft.com를 입력합니다. 사용자 이름이 다른 경우 도메인 이름을 업데이트합니다.
암호 hiveuser1의 암호를 입력합니다.

데이터 원본을 저장하기 전에 테스트를 선택합니다.

HDInsight에서 Excel로 데이터 가져오기

마지막 섹션에서는 두 가지 정책을 구성했습니다. hiveuser1에는 모든 열에 대한 선택 권한이 있고 hiveuser2에는 두 열에 대한 선택 권한이 있습니다. 이 섹션에서는 데이터를 Excel로 가져오는 두 사용자를 가장할 수 있습니다.

  1. Excel에서 새 통합 문서나 기존 통합 문서를 엽니다.

  2. 데이터 탭에서 데이터 가져오기>기타 원본에서>ODBC에서로 이동하여 ODBC에서 창을 엽니다.

    데이터 연결 열기 마법사를 보여 주는 스크린샷.

  3. 드롭다운 목록에서 마지막 섹션에서 만든 데이터 원본 이름을 선택한 다음, 확인을 선택합니다.

  4. 처음 사용하는 경우 ODBC 드라이버 대화 상자가 열립니다. 왼쪽 메뉴에서 을 선택합니다. 그런 다음 연결을 선택하여 탐색기 창을 엽니다.

  5. Select Database and Table 대화 상자가 열릴 때까지 기다립니다. 이 단계는 몇 초 정도 걸릴 수 있습니다.

  6. hivesampletable>다음을 선택합니다.

  7. 마침을 선택합니다.

  8. 데이터 가져오기 대화 상자에서 쿼리를 변경하거나 지정할 수 있습니다. 이렇게 하려면 속성을 선택합니다. 이 단계는 몇 초 정도 걸릴 수 있습니다.

  9. 정의 탭을 선택합니다. 명령 텍스트는 다음과 같습니다.

    SELECT * FROM "HIVE"."default"."hivesampletable"`
    

    정의한 Ranger 정책에 따라 hiveuser1은 모든 열에 대한 선택 권한을 갖습니다. 이 쿼리는 hiveuser1에 대한 자격 증명으로는 작동하지만, 이 쿼리는 hiveuser2에 대한 자격 증명으로는 작동하지 않습니다.

  10. 확인을 선택하여 연결 속성 대화 상자를 닫습니다.

  11. 확인을 선택하여 데이터 가져오기 대화 상자를 닫습니다.

  12. hiveuser1의 암호를 다시 입력한 후 확인을 선택합니다. 데이터를 Excel로 가져오는 데 몇 초 정도 걸립니다. 완료되면 11개의 데이터 열이 표시됩니다.

지난 섹션에서 만든 두 번째 정책(read-hivesampletable-devicemake)을 테스트하려면

  1. Excel에서 새 시트를 추가합니다.

  2. 데이터를 가져오는 마지막 절차를 따릅니다. 유일한 변경 내용은 hiveuser1 대신 hiveuser2에 대한 자격 증명을 사용하는 것입니다. hiveuser2에는 두 개의 열만 볼 수 있는 권한이 있으므로 이 작업은 실패합니다. 다음 오류가 표시됩니다.

    [Microsoft][HiveODBC] (35) Error from Hive: error code: '40000' error message: 'Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [hiveuser2] does not have [SELECT] privilege on [default/hivesampletable/clientid,country ...]'.
    
  3. 데이터를 가져오는 동일한 절차를 따릅니다. 이번에는 hiveuser2에 대한 자격 증명을 사용하고 다음에서 select 문도 수정합니다.

    SELECT * FROM "HIVE"."default"."hivesampletable"
    

    다음으로 변경:

    SELECT clientid, devicemake FROM "HIVE"."default"."hivesampletable"
    

    완료되면 가져온 데이터의 두 열이 표시됩니다.

다음 단계