DLF-Auth は Data Lake Formation (DLF) のコンポーネントであり、ご利用の EMR クラスターに対して詳細な権限管理を適用します。有効化すると、DLF を通じてデータベース、テーブル、カラム、および関数へのアクセスを制御し、データレイク全体で一元的な権限管理を実現します。
DLF はクラウドベースのデータレイク構築を支援するフルマネージドサービスであり、一元的な権限管理およびメタデータ管理を提供します。DLF の詳細については、「Data Lake Formation とは」をご参照ください。

制限事項
DLF では、RAM ユーザーのみが権限を管理できます。EMR コンソールのユーザー管理機能から RAM ユーザーを追加してください。
DLF-Auth と Ranger は、同一のコンピュートエンジンを同時に制御できません。Hive または Spark を DLF-Auth で有効化した場合、同じエンジンを Ranger で有効化または無効化することはできません(その逆も同様です)。
サポート対象リージョンについては、「サポート対象リージョンとエンドポイント」をご参照ください。
サポート対象の EMR バージョンおよびコンピュートエンジン
| EMR バージョン | Hive | Spark | Presto | Impala |
|---|---|---|---|---|
| EMR V3.39.0 以前 | サポート | 未サポート | 未サポート | 未サポート |
| EMR V3.40.0 | サポート | サポート | サポート | 未サポート |
| EMR V3.41.0~V3.43.1 | サポート | サポート | 未サポート | 未サポート |
| EMR V3.44.0 以降 | サポート | サポート | サポート | サポート |
| EMR V5.5.0 以前 | サポート | 未サポート | 未サポート | 未サポート |
| EMR V5.6.0 | サポート | サポート | サポート | 未サポート |
| EMR V5.7.0~V5.9.1 | サポート | サポート | 未サポート | 未サポート |
| EMR V5.10.0 以降 | サポート | サポート | サポート | サポート |
前提条件
E-MapReduce クラスターを作成済みで、OpenLDAP サービスを選択している必要があります。詳細については、「クラスターの作成」をご参照ください。
ソフトウェア構成ページで、メタデータ にデフォルトの DLF 統合メタデータ を使用してください。
開始前に、以下の要件を満たしていることを確認してください。
OpenLDAP サービスを有効にした EMR クラスターが存在すること。詳細については、「クラスターの作成」をご参照ください。
EMR クラスター作成時に、ソフトウェア構成ステップで メタデータ に DLF 統合メタデータ を選択してください。
DLF-Auth の有効化
ステップ 1:DLF-Auth で Hive を有効化
EMR コンソール で、左側ナビゲーションウィンドウの EMR on ECS をクリックします。
ご利用のリージョンとリソースグループを選択し、対象のクラスターを見つけたら、操作列の サービス をクリックします。
サービス タブで、DLF-Auth を見つけ、ステータス をクリックします。
サービス概要 セクションで、enableHive をオンにし、確認メッセージで OK をクリックします。
HiveServer を再起動します。
サービス タブで、Hive を見つけ、ステータス をクリックします。
コンポーネント セクションで、HiveServer を見つけ、操作列の 再起動 をクリックします。
実行理由を入力し、OK をクリックしてから、確認ダイアログで再度 OK をクリックします。
ステップ 2:RAM ユーザーの追加
DLF では、RAM ユーザーのみが権限を管理できます。ユーザー管理機能を使用して、クラスターに RAM ユーザーを追加してください。
EMR コンソール で、ご利用のクラスターに移動し、操作列の サービス をクリックします。
ユーザー タブをクリックし、ユーザーの追加 をクリックします。
ユーザーの追加 ダイアログボックスで、ユーザー名 ドロップダウンリストから RAM ユーザーを選択し、パスワード および パスワードの確認 を設定します。
OK をクリックします。
ステップ 3:権限の確認および付与
RAM ユーザーに AliyunDLFDssFullAccess ポリシーまたは AdministratorAccess ポリシーがアタッチされている場合、すでにすべての DLF リソースへのアクセス権限が付与されています。このステップはスキップしてください。
現在の権限を確認
SSH でクラスターにログインします。詳細については、「クラスターへのログイン」をご参照ください。
HiveServer2 に接続します。
beeline -u jdbc:hive2://master-1-1:10000 -n <user> -p <password><user>および<password>は、ステップ 2 で設定した認証情報に置き換えてください。既存のテーブルをクエリします。
select * from testdb.test;testdb.testは、実際のテーブル名に置き換えてください。RAM ユーザーに権限がない場合は、エラーが返されます。
DLF コンソールで権限を付与
DLF コンソール にログインします。
左側ナビゲーションウィンドウで、データ権限 > データ権限 を選択します。
権限の追加 をクリックし、以下のパラメーターを設定します。
パラメーター 説明 例 プリンシパルタイプ 権限を付与する ID の種類。 RAM ユーザー/ロール(デフォルト) プリンシパルの選択 権限を付与する RAM ユーザー。 ステップ 2 で追加したユーザーを選択 認可方法 権限のスコープの指定方法。 リソース認可(デフォルト) リソースタイプ アクセス制御対象のリソースの種類。 メタデータテーブル データ権限 ユーザーが実行可能な操作。 Select 付与された権限 プリンシパルに付与される権限。 — OK をクリックします。
権限が有効になったことを確認
ステップ 3 で実行したテーブルクエリを再度実行します。クエリが成功すれば、Select 権限が有効になっていることが確認できます。
ステップ 4(オプション):Hive の LDAP 認証を有効化
DLF-Auth を有効化した後、Hive の Lightweight Directory Access Protocol (LDAP) 認証を有効化することで、Hive に接続するすべてのユーザーがクエリ実行前に認証を行うようになります。
EMR コンソール で、ご利用のクラスターに移動し、操作列の サービス をクリックします。
サービス タブで、Hive セクションの ステータス をクリックします。
ご利用の EMR バージョンに応じて、enableLDAP を有効化します。
EMR V5.11.1 以降のマイナーバージョン、または EMR V3.45.1 以降のマイナーバージョン: サービス概要 セクションで、enableLDAP をオンにし、OK をクリックします。
EMR V5.11.0 以前のマイナーバージョン、または EMR V3.45.0 以前のマイナーバージョン: コンポーネント セクションで、HiveServer を見つけ、
> enableLDAP をクリックし、実行理由を入力して、両方のダイアログで OK をクリックします。
HiveServer を再起動します。
コンポーネント セクションで、HiveServer を見つけ、操作列の 再起動 をクリックします。
実行理由を入力し、OK をクリックしてから、確認ダイアログで再度 OK をクリックします。