サービスで LDAP 認証が有効になっている場合、サービスにアクセスする際には LDAP のユーザー名とパスワードを入力する必要があります。これにより、サービスのセキュリティが向上します。EMR コンソールで簡単な操作を行うことで、サービスの LDAP 認証を有効にできます。これにより、LDAP 認証の複雑な設定が不要になります。
前提条件
DataLake またはカスタムクラスターを作成し、Hive および OpenLDAP サービスを選択済みであること。詳細については、「クラスターの作成」をご参照ください。
ワンクリックで LDAP 認証を有効にする
EMR ユーザーを追加します。詳細については、「ユーザーの追加」をご参照ください。
[サービス] タブに移動します。
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] をクリックします。
HiveServer に接続します。
LDAP 認証を有効にした後、LDAP 認証情報を使用して HiveServer に接続する必要があります。
SSH モードでクラスターにログオンします。詳細については、「クラスターへのログオン」をご参照ください。
次のコマンドを実行して HiveServer に接続します。
Beeline クライアント:
beeline -u jdbc:hive2://master-1-1:10000 -n <user> -p <password>Java Database Connectivity (JDBC):
jdbc:hive2://master-1-1:10000/default;user=<user>;password=<password>
説明コマンド内の <user> は LDAP ユーザー名、<password> は LDAP パスワードです。これらは、ステップ 1 で追加したユーザーの認証情報です。
LDAP 認証を手動で設定する
EMR コンソールには、LDAP 認証を有効にするために使用できる enableLDAP スイッチが用意されています。ただし、以前のバージョンの EMR を使用している場合や、自己管理の LDAP サービスに接続する必要がある場合は、HiveServer2 の LDAP 認証を手動で設定する必要があります。
Hive サービスの [設定] ページで、[hiveserver2-site.xml] タブに次の設定項目を追加します。詳細については、「設定項目の管理」をご参照ください。
設定項目 | 参照値 | 説明 |
hive.server2.authentication | LDAP | HiveServer2 の認証方式を指定します。 |
hive.server2.authentication.ldap.url | ldap://{ldap_hostname}:{port} 例: ldap://master-1-1:10389 | LDAP サービスに接続するための URL を指定します。この URL は必要に応じて設定します。
|
hive.server2.authentication.ldap.baseDN | ou=people,o=emr | LDAP サービス内のユーザーのベース識別名 (DN) です。EMR クラスターの LDAP サービスの場合は、 |
Hive へのユーザーアクセスを指定する
クラスター内の Hive サービスで LDAP 認証が有効になっている場合、次の設定項目を追加または変更して、特定のユーザーにアクセス権を付与できます。
設定
EMR コンソールの Hive サービスの [設定] ページで、[hiveserver2-site.xml] タブで、次の設定項目を追加または変更します。
設定項目
設定値の例
設定タイプ
注意
hive.server2.authentication.ldap.userDNPatternuid=%s,ou=people,o=emr追加
ユーザー DN パターンは、LDAP 内のユーザーの検索パスを定義します。%s プレースホルダーは、実際のユーザー名に置き換えられます。
hive.server2.authentication.ldap.groupFilterusername追加
ユーザーグループのフィルターです。指定されたグループに属するユーザーのみが HiveServer2 にアクセスできます。複数のユーザーグループを区切るには、カンマを使用します。
hive.server2.authentication.ldap.groupClassKeyposixGroup追加
LDAP のグループオブジェクトの objectClass プロパティの値です。
hive.server2.authentication.ldap.groupMembershipKeymemberUid追加
LDAP グループオブジェクトにメンバー情報を格納するためのプロパティ名です。
hive.server2.authentication.ldap.baseDNo=emr変更
LDAP 検索のベース DN です。既存の設定を、グループフィルタリングに適したベースパスに変更する必要があります。
設定を保存します。
HiveServer2 サービスを再起動して変更を適用します。
接続の検証
LDAP 認証を有効にし、対応するユーザーを設定した後、指定されたユーザーの認証情報を使用して HiveServer に接続する必要があります。
SSH を使用してクラスターに接続します。詳細については、「クラスターへのログオン」をご参照ください。
次のコマンドを実行して HiveServer に接続します。
Beeline クライアント:
beeline -u jdbc:hive2://master-1-1:10000 -n <user> -p <password>JDBC:
jdbc:hive2://master-1-1:10000/default;user=<user>;password=<password>
説明コマンド内の <user> は
hive.server2.authentication.ldap.groupFilter設定項目で設定されたユーザーを指定し、<password> はそのユーザーのパスワードを指定します。これらは、ステップ 1 で追加したユーザーの認証情報です。
> [enableLDAP]