このトピックでは、Ranger で YARN を有効にし、関連する権限を設定する方法について説明します。
仕組み
YARN を Ranger と統合すると、Ranger は Capacity Scheduler キューに対してのみアクセス制御を適用します。Fair Scheduler キューの権限は、Ranger では管理できません。
Ranger キューのポリシーと YARN 自体の Capacity Scheduler アクセス制御リスト (ACL) 設定は同時に有効になります。次の図は認証フローを示しています。
前提条件
作業を開始する前に、以下の要件を満たしていることを確認してください。
-
クラスター作成時に Ranger を選択した、EMR V5.11.0 または V3.45.0 より前のバージョンの EMR クラスターが存在すること。詳細については、「クラスターの作成」をご参照ください。
EMR V5.11.0 以降、および EMR V3.45.0 以降を実行しているクラスターでは、OpenLDAP がインストールされている場合、RangerUserSync が自動的に LDAP サーバーに接続します。RangerUserSync のユーザー ソース(UNIX または LDAP)を確認するには、Ranger サービスページの [構成] タブで、ranger.usersync.sync.source 設定項目を検索してください。
制限事項
Ranger は、Capacity Scheduler を使用しており、かつ YARN ACL 機能が有効になっている場合にのみ、YARN キューの権限を制御します。Ranger で YARN を有効にする前に、以下の構成要件を確認してください。
| 構成ファイル | パラメーター | 必要な値 |
|---|---|---|
yarn-site.xml |
yarn.resourcemanager.scheduler.class |
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler |
yarn-site.xml |
yarn.acl.enable |
true |
capacity-scheduler.xml |
yarn.scheduler.capacity.root.acl_submit_applications |
半角スペース 1 文字 ( ) |
capacity-scheduler.xml |
yarn.scheduler.capacity.root.acl_administer_queue |
hadoop(先頭に半角スペースあり。これにより、hadoop グループにすべてのキューを管理する権限が付与されます) |
acl_submit_applications または acl_administer_queue をルート キュー以外のキューに設定しないでください。非ルート キューにこれらのパラメーターを設定すると、Ranger ポリシーがオーバーライドされ、Ranger 認証が中断されます。
詳細については、「YARN スケジューラ」および「YARN の高セキュリティ機能」をご参照ください。
Ranger での YARN の有効化
-
EMR コンソール にログインします。
-
上部のナビゲーションバーで、ご利用のクラスターが配置されているリージョンとリソースグループを選択します。
-
EMR on ECS ページで、対象のクラスターを見つけ、[操作] 列の [サービス] をクリックします。
-
[サービス] タブで、Ranger-plugin セクションの [ステータス] をクリックします。
-
[サービス概要] セクションで、enableYARN をオンにし、確認ダイアログボックスで [OK] をクリックします。
-
変更を適用するために ResourceManager を再起動します。
-
[サービス] タブで、
アイコンをクリックし、YARN を選択します。 -
[ステータス] タブの [コンポーネント] セクションで、ResourceManager を見つけ、[操作] 列の [再起動] をクリックします。
-
ダイアログボックスで、[実行理由] フィールドに入力し、[OK] をクリックします。
-
[確認] ダイアログボックスで、[OK] をクリックします。
-
Ranger でのキュー権限の設定
Ranger で YARN を有効にすると、YARN サービスが Ranger の Web UI に追加されます。以下の手順では、ユーザー emr-user にキュー権限を付与する例を示します。
-
Ranger の Web UI で、emr-yarn をクリックします。詳細については、「概要」をご参照ください。

-
右上隅の [新規ポリシーの追加] をクリックします。
-
ポリシーの詳細を設定します。
ポリシーの詳細
パラメーター 説明 [ポリシー名] ポリシーの一意な名前です。 [キュー] ターゲットキューです。例えば、 root.default。[再帰的] 子キューがこのポリシーの権限を継承するかどうかを示します。 許可条件
パラメーター 説明 [グループの選択] このポリシーを適用するユーザーグループ。 [ユーザーの選択] このポリシーを適用するユーザー。例: emr-user。権限 付与する権限。例: admin-queue。
-
[追加] をクリックします。ポリシーは約 1 分以内に有効になります。適用後、
emr-userはroot.defaultキューにジョブを送信できるようになります。