DLF-Authコンポーネントは、Data Lake Formation(DLF)によって提供されます。 DLF-Authを使用して、DLFのデータ権限管理機能を有効にすることができます。 DLF-Authを使用すると、データベース、テーブル、列、および関数に対してきめ細かい権限管理を実装できます。 これにより、データレイクのデータ権限を一元的に管理できます。 このトピックでは、DLF-Authを有効にして権限を管理する方法について説明します。
背景情報
DLFは、クラウドベースのデータレイクの構築に役立つフルマネージドサービスです。 DLFは、クラウドベースのデータレイクの一元的な権限管理とメタデータ管理を提供します。 DLFの詳細については、「Data Lake Formationとは」をご参照ください。
前提条件
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を有効にして、データレイクで完全に管理された一元的な権限管理を実装する方法について説明します。
手順 4:オプション。Hive の LDAP 認証を有効にする
DLF-Auth を使用して権限を管理できるようにした後、Hive の Lightweight Directory Access Protocol ( LDAP ) 認証を有効にすることをお勧めします。これにより、Hive に接続するすべてのユーザーは、LDAP 認証に合格した後に関連するスクリプトを実行できます。
手順 1:DLF-AuthでHiveを有効にする
DLF-Authサービスページに移動します。
EMRコンソール にログインします。 左側のナビゲーションペインで、[EMR on ECS] をクリックします。
上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
[EMR On ECS] ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。
[サービス] タブで、DLF-Authを見つけて [ステータス] をクリックします。
DLF-AuthでHiveを有効にします。
[ステータス] タブの [サービスの概要] セクションで、[enablehive] をオンにします。
表示されるメッセージで、[OK] をクリックします。
HiveServerを再起動します。
[サービス] タブで、[hive] を見つけて [ステータス] をクリックします。
[ステータス] タブの [コンポーネント] セクションで、[hiveserver] を見つけて、[アクション] 列の をクリックします。
表示されるダイアログボックスで、[実行理由] パラメーターを設定し、[OK] をクリックします。
[確認] メッセージで、[OK] をクリックします。
手順 2:RAMユーザーを追加する
ユーザー管理機能を使用してRAMユーザーを追加できます。
[ユーザー] タブに移動します。
EMRコンソール にログインします。 左側のナビゲーションペインで、[EMR on ECS] をクリックします。
上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
[EMR on ECS] ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。
[ユーザー] タブをクリックします。
[ユーザー] タブで、[ユーザーの追加] をクリックします。
[ユーザーの追加] ダイアログボックスで、[ユーザー名] ドロップダウンリストから既存のRAMユーザーをEMRユーザーアカウントとして選択し、[パスワード] と [パスワードの確認] を指定します。
[OK] をクリックします。
手順 3:RAMユーザーの権限を確認する
AliyunDLFDssFullAccessポリシーまたはAdministratorAccessポリシーがRAMユーザーにアタッチされている場合、RAMユーザーはDLFのすべてのきめ細かいリソースにアクセスするために必要な権限を持っています。 RAMユーザーに権限を付与する必要はありません。
RAMユーザーに権限を付与する前に、RAMユーザーの権限を確認します。
SSHモードでクラスターにログインします。 詳細については、「クラスターへのログイン」をご参照ください。
次のコマンドを実行してHiveServer2にアクセスします。
beeline -u jdbc:hive2://master-1-1:10000 -n <user> -p <password>説明<user> と <password> は、「手順 2:RAMユーザーを追加する」で設定したユーザー名とパスワードに置き換えます。
既存のテーブルに関する情報をクエリします。
たとえば、次のコマンドを実行してtestテーブルをクエリします。
testdb.testをテーブルの実際の名前に置き換えます。select * from testdb.test;RAMユーザーがテーブルに対する権限を持っていない場合、権限がないためにクエリが失敗したことを示すエラーメッセージが返されます。

RAMユーザーに権限を付与します。
DLFコンソール にログインします。
左側のナビゲーションペインで、 を選択します。
[データ権限] ページで、[権限の追加] をクリックします。
[権限の追加] ページで、パラメーターを設定します。 次の表に、パラメーターを示します。
パラメーター
説明
プリンシパル
プリンシパルタイプ
プリンシパルのタイプ。 デフォルト値:RAMユーザー/ロール。
プリンシパルの選択
権限を付与するRAMユーザー。 [プリンシパルの選択] ドロップダウンリストから、「手順 2:RAMユーザーを追加する」で追加したユーザーを選択します。
リソース
承認方法
承認方法。 デフォルト値:リソース承認。
リソースタイプ
リソースのタイプ。 ビジネス要件に基づいてタイプを選択します。
この例では、メタデータテーブルを使用します。
権限
データ権限
この例では、[選択] を使用します。
付与された権限
[OK] をクリックします。
RAMユーザーに付与されている権限を確認します。
手順 1 を参照して、テーブルのデータを再度クエリします。 RAMユーザーにはSelect権限が付与されているため、クエリは成功します。
手順 4:(オプション)HiveのLDAP認証を有効にする
[サービス] タブに移動します。
EMRコンソール にログインします。 左側のナビゲーションペインで、[EMR on ECS] をクリックします。
上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します。
[EMR On ECS] ページで、目的のクラスターを見つけ、[アクション] 列の [サービス] をクリックします。
<LDAP認証を有効にします。
[サービス] タブで、Hiveセクションの [ステータス] をクリックします。
enableLDAPをオンにします。
EMR V5.11.1以降のマイナーバージョンのクラスター、およびEMR V3.45.1以降のマイナーバージョンのクラスター
[サービスの概要] セクションで、[enableldap] をオンにします。
[確認] メッセージで、OK をクリックします。
EMR V5.11.0以前のマイナーバージョンのクラスター、およびEMR V3.45.0以前のマイナーバージョンのクラスター
Components セクションで、[hiveserver] を見つけ、[アクション] 列の を選択します。
表示されるダイアログボックスで、Execution Reason フィールドに実行理由を入力し、OK をクリックします。
[確認] ダイアログボックスで、OK をクリックします。
HiveServerを再起動します。
[ステータス] タブの [コンポーネント] セクションで、[hiveserver] を見つけて、[アクション] 列の [再起動] をクリックします。
表示されるダイアログボックスで、[実行理由] フィールドに実行理由を入力し、[OK] をクリックします。
[確認] ダイアログボックスで、[OK] をクリックします。
> [enableldap]