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

이 문서에서는 Apache Hive에 대한 Apache Ranger 정책을 구성하는 방법에 대해 알아봅니다. 에 대한 액세스를 제한하는 두 개의 Ranger 정책을 만듭니다 hivesampletable. hivesampletable HDInsight 클러스터와 함께 제공됩니다. 정책을 구성한 후 Excel 및 ODBC(Open Database 커넥트ivity) 드라이버를 사용하여 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. 브라우저에서 클러스터의 이름이 있는 CLUSTERNAME Ranger 관리 UI https://CLUSTERNAME.azurehdinsight.net/Ranger/ 로 이동합니다.

    참고 항목

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

  2. 클러스터 관리자 do기본 사용자 이름 및 암호를 사용하여 로그인합니다.

    Screenshot that shows the HDInsight ESP Ranger home page.

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

도메인 사용자 만들기

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

Ranger 정책 만들기

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

Ranger 정책을 만들려면 다음을 수행합니다.

  1. Ranger 관리 UI를 엽니다. Apache Ranger 관리 UI에 커넥트 이전 섹션을 참조하세요.

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

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

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

    Screenshot that shows the HDInsight ESP Ranger Hive policies to configure. .

    참고 항목

    do기본 사용자가 사용자 선택에서 채워지지 않은 경우 Ranger가 Microsoft Entra ID와 동기화될 때까지 잠시 기다립니다.

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

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

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

Hive ODBC 데이터 원본 만들기

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

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

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

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

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

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

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

    Screenshot that shows the Open data connection wizard.

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

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

  5. 데이터베이스 및 테이블 선택 대화 상자가 열릴 때까지 기다립니다. 이 단계는 몇 초 정도 걸릴 수 있습니다.

  6. hivesampletable>Next를 선택합니다.

  7. 마침을 선택합니다.

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

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

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

    정의 hiveuser1 한 Ranger 정책에 따라 모든 열에 대한 선택 권한이 있습니다. 이 쿼리는 에 대한 hiveuser1자격 증명과 함께 작동하지만 이 쿼리는 에 대한 hiveuser2자격 증명에서 작동하지 않습니다.

  10. 확인을 선택하여 커넥트ion 속성 대화 상자를 닫습니다.

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

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

마지막 섹션에서 만든 두 번째 정책(read-hivesampletable-devicemake)을 테스트하려면 다음을 수행합니다.

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

  2. 데이터를 가져오는 마지막 절차를 따릅니다. 유일한 변경 내용은 대신 자격 증명을 hiveuser2hiveuser1사용하는 것입니다. 이 작업은 두 개의 열만 볼 수 있는 권한이 있으므로 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"
    

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

다음 단계