すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:DLF-Auth

最終更新日:Jan 11, 2025

DLF-Authコンポーネントは、Data Lake Formation(DLF)によって提供されます。 DLF-Authを使用して、DLFのデータ権限管理機能を有効にすることができます。 DLF-Authを使用すると、データベース、テーブル、列、および関数に対してきめ細かい権限管理を実装できます。 これにより、データレイクのデータ権限を一元的に管理できます。 このトピックでは、DLF-Authを有効にして権限を管理する方法について説明します。

背景情報

DLFは、クラウドベースのデータレイクの構築に役立つフルマネージドサービスです。 DLFは、クラウドベースのデータレイクの一元的な権限管理とメタデータ管理を提供します。 DLFの詳細については、「Data Lake Formationとは」をご参照ください。DLF-EMR

前提条件

OpenLDAPサービスを含むE-MapReduce(EMR)クラスターが作成されています。 詳細については、「クラスターの作成」をご参照ください。

説明

EMRクラスターを作成するときは、ソフトウェア構成手順で [メタデータ][DLF統合メタデータ] を選択する必要があります。

制限

  • DLFでは、RAMユーザーのみが権限を管理できます。 したがって、EMRコンソールでユーザー管理機能を使用してRAMユーザーを追加する必要があります。

  • DLFのデータ権限管理機能を使用できるリージョンについては、「サポートされているリージョンとエンドポイント」をご参照ください。

  • DLF-AuthでHiveまたはSparkを有効にした場合、RangerでHiveまたはSparkを有効または無効にすることはできません。 RangerでHiveまたはSparkを有効にした場合、DLF-AuthでHiveまたはSparkを有効または無効にすることはできません。

  • 次の表に、DLF-AuthでサポートされているEMRバージョンとコンピュートエンジンを示します。

    EMRバージョン

    Hive

    Spark

    Presto

    Impala

    EMR V3.X

    EMR V3.39.0以前

    サポートされていません

    サポートされていません

    サポートされていません

    サポートされていません

    EMR V3.40.0

    サポートされています

    サポートされています

    サポートされています

    サポートされていません

    EMR V3.41.0~EMR V3.43.1

    サポートされています

    サポートされています

    サポートされていません

    サポートされていません

    EMR V3.44.0以降

    サポートされています

    サポートされています

    サポートされています

    サポートされています

    EMR V5.X

    EMR V5.5.0以前

    サポートされていません

    サポートされていません

    サポートされていません

    サポートされていません

    EMR V5.6.0

    サポートされています

    サポートされています

    サポートされています

    サポートされていません

    EMR V5.7.0~EMR V5.9.1

    サポートされています

    サポートされています

    サポートされていません

    サポートされていません

    EMR V5.10.0以降

    サポートされています

    サポートされています

    サポートされています

    サポートされています

手順

このセクションでは、DLF-Authを有効にして、データレイクで完全に管理された一元的な権限管理を実装する方法について説明します。

  1. 手順 1:DLF-AuthでHiveを有効にする

  2. 手順 2:RAMユーザーを追加する

  3. 手順 3:RAMユーザーの権限を確認する

  4. 手順 4:オプション。Hive の LDAP 認証を有効にする

    DLF-Auth を使用して権限を管理できるようにした後、Hive の Lightweight Directory Access Protocol ( LDAP ) 認証を有効にすることをお勧めします。これにより、Hive に接続するすべてのユーザーは、LDAP 認証に合格した後に関連するスクリプトを実行できます。

手順 1:DLF-AuthでHiveを有効にする

  1. DLF-Authサービスページに移動します。

    1. EMRコンソール にログインします。 左側のナビゲーションペインで、[EMR on ECS] をクリックします。

    2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します

    3. [EMR On ECS] ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。

    4. [サービス] タブで、DLF-Authを見つけて [ステータス] をクリックします。

  2. DLF-AuthでHiveを有効にします。

    1. [ステータス] タブの [サービスの概要] セクションで、[enablehive] をオンにします。

    2. 表示されるメッセージで、[OK] をクリックします。

  3. HiveServerを再起動します。

    1. [サービス] タブで、[hive] を見つけて [ステータス] をクリックします。

    2. [ステータス] タブの [コンポーネント] セクションで、[hiveserver] を見つけて、[アクション] 列の [再起動] をクリックします。

    3. 表示されるダイアログボックスで、[実行理由] パラメーターを設定し、[OK] をクリックします。

    4. [確認] メッセージで、[OK] をクリックします。

手順 2:RAMユーザーを追加する

ユーザー管理機能を使用してRAMユーザーを追加できます。

  1. [ユーザー] タブに移動します。

    1. EMRコンソール にログインします。 左側のナビゲーションペインで、[EMR on ECS] をクリックします。

    2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します

    3. [EMR on ECS] ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。

    4. [ユーザー] タブをクリックします。

  2. [ユーザー] タブで、[ユーザーの追加] をクリックします。

  3. [ユーザーの追加] ダイアログボックスで、[ユーザー名] ドロップダウンリストから既存のRAMユーザーをEMRユーザーアカウントとして選択し、[パスワード][パスワードの確認] を指定します。

  4. [OK] をクリックします。

手順 3:RAMユーザーの権限を確認する

重要

AliyunDLFDssFullAccessポリシーまたはAdministratorAccessポリシーがRAMユーザーにアタッチされている場合、RAMユーザーはDLFのすべてのきめ細かいリソースにアクセスするために必要な権限を持っています。 RAMユーザーに権限を付与する必要はありません。

  1. RAMユーザーに権限を付与する前に、RAMユーザーの権限を確認します。

    1. SSHモードでクラスターにログインします。 詳細については、「クラスターへのログイン」をご参照ください。

    2. 次のコマンドを実行してHiveServer2にアクセスします。

      beeline -u jdbc:hive2://master-1-1:10000 -n <user> -p <password>
      説明

      <user><password> は、「手順 2:RAMユーザーを追加する」で設定したユーザー名とパスワードに置き換えます。

    3. 既存のテーブルに関する情報をクエリします。

      たとえば、次のコマンドを実行してtestテーブルをクエリします。 testdb.test をテーブルの実際の名前に置き換えます。

      select * from testdb.test;

      RAMユーザーがテーブルに対する権限を持っていない場合、権限がないためにクエリが失敗したことを示すエラーメッセージが返されます。error

  2. RAMユーザーに権限を付与します。

    1. DLFコンソール にログインします。

    2. 左側のナビゲーションペインで、[データ権限] > [データ権限] を選択します。

    3. [データ権限] ページで、[権限の追加] をクリックします。

    4. [権限の追加] ページで、パラメーターを設定します。 次の表に、パラメーターを示します。

      パラメーター

      説明

      プリンシパル

      プリンシパルタイプ

      プリンシパルのタイプ。 デフォルト値:RAMユーザー/ロール。

      プリンシパルの選択

      権限を付与するRAMユーザー。 [プリンシパルの選択] ドロップダウンリストから、「手順 2:RAMユーザーを追加する」で追加したユーザーを選択します。

      リソース

      承認方法

      承認方法。 デフォルト値:リソース承認。

      リソースタイプ

      リソースのタイプ。 ビジネス要件に基づいてタイプを選択します。

      この例では、メタデータテーブルを使用します。

      権限

      データ権限

      この例では、[選択] を使用します。

      付与された権限

    5. [OK] をクリックします。

  3. RAMユーザーに付与されている権限を確認します。

    手順 1 を参照して、テーブルのデータを再度クエリします。 RAMユーザーにはSelect権限が付与されているため、クエリは成功します。

手順 4:(オプション)HiveのLDAP認証を有効にする

  1. [サービス] タブに移動します。

    1. EMRコンソール にログインします。 左側のナビゲーションペインで、[EMR on ECS] をクリックします。

    2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します

    3. [EMR On ECS] ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。

  2. <LDAP認証を有効にします。

    1. [サービス] タブで、Hiveセクションの [ステータス] をクリックします。

    2. enableLDAPをオンにします。

      • EMR V5.11.1以降のマイナーバージョンのクラスター、およびEMR V3.45.1以降のマイナーバージョンのクラスター

        1. [サービスの概要] セクションで、[enableldap] をオンにします。

        2. [確認] メッセージで、OK をクリックします。

      • EMR V5.11.0以前のマイナーバージョンのクラスター、およびEMR V3.45.0以前のマイナーバージョンのクラスター

        1. Components セクションで、[hiveserver] を見つけ、[アクション] 列の more > [enableldap] を選択します。

        2. 表示されるダイアログボックスで、Execution Reason フィールドに実行理由を入力し、OK をクリックします。

        3. [確認] ダイアログボックスで、OK をクリックします。

    3. HiveServerを再起動します。

      1. [ステータス] タブの [コンポーネント] セクションで、[hiveserver] を見つけて、[アクション] 列の [再起動] をクリックします。

      2. 表示されるダイアログボックスで、[実行理由] フィールドに実行理由を入力し、[OK] をクリックします。

      3. [確認] ダイアログボックスで、[OK] をクリックします。

FAQ

Q:複数のカタログを使用する場合、DLF-Authで各カタログのIDをどのように設定しますか?

A:次の手順を実行して、DLF-AuthでカタログのIDを設定できます。

説明

このバージョンでは、Prestoコンピュートエンジンはサポートされていません。 したがって、Prestoコンピュートエンジンを設定する必要はありません。

  1. DLF-Authサービスページに移動します。

    1. EMRコンソール にログインします。 左側のナビゲーションペインで、[EMR on ECS] をクリックします。

    2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します

    3. [EMR on ECS] ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。

    4. [サービス] タブで、DLF-Authを見つけて [設定] をクリックします。

  2. Hiveコンピュートエンジンを設定します。

    ビジネス要件に基づいてHiveコンピュートエンジンを設定できます。

    1. Hiveの設定項目を追加します。

      1. [dlf-hive-security.xml] タブをクリックします。

      2. [設定項目の追加] をクリックします。

      3. 表示されるダイアログボックスで、[キー] パラメーターを dlf.catalog.id に設定し、[値] パラメーターをクラスターに関連付けられているDLFカタログのIDに設定します。

        DLFカタログのIDを取得するには、Hiveサービスページの [設定] タブで dlf.catalog.id パラメーターの値を確認します。

      4. [OK] をクリックします。

      5. 表示されるダイアログボックスで、[実行理由] パラメーターを設定し、[保存] をクリックします。

    2. HiveServerを再起動します。

      1. Hiveサービスページの [ステータス] タブに移動します。

      2. [コンポーネント] セクションで、[hiveserver] を見つけて、[アクション] 列の [再起動] をクリックします。

      3. 表示されるダイアログボックスで、[実行理由] パラメーターを設定し、[OK] をクリックします。

      4. [確認] メッセージで、[OK] をクリックします。

  3. Sparkコンピュートエンジンを設定します。

    ビジネス要件に基づいてSparkコンピュートエンジンを設定できます。

    1. Sparkの設定項目を追加します。

      1. [dlf-spark-security.xml] タブをクリックします。

      2. [設定項目の追加] をクリックします。

      3. 表示されるダイアログボックスで、[キー] パラメーターを dlf.catalog.id に設定し、[値] パラメーターをクラスターに関連付けられているDLFカタログのIDに設定します。

        DLFカタログのIDを取得するには、Sparkサービスページの [設定] タブで dlf.catalog.id パラメーターの値を確認します。

      4. [OK] をクリックします。

      5. 表示されるダイアログボックスで、[実行理由] パラメーターを設定し、[保存] をクリックします。

    2. Spark Thrift Serverを再起動します。

      1. [ステータス] タブのSparkサービスページに移動します。

      2. [コンポーネント] セクションで、[sparkthriftserver] を見つけて、[アクション] 列の [再起動] をクリックします。

      3. 表示されるダイアログボックスで、[実行理由] パラメーターを設定し、[OK] をクリックします。

      4. [確認] メッセージで、[OK] をクリックします。