LDAP ユーザーに関して Hue を設定する - Amazon EMR

LDAP ユーザーに関して Hue を設定する

LDAP との統合により、ユーザーは LDAP のディレクトリに保存されている既存の認証情報を使用して Hue にログインすることができます。Hue を LDAP と統合する場合、Hue で個別にユーザー情報を管理する必要はありません。以下に示す情報では、Microsoft Active Directory との Hue の統合を示していますが、その設定オプションはどの LDAP のディレクトリでも類似しています。

LDAP 認証では、最初にサーバーをバインドして接続を確立します。次に、確立された接続は、LDAP ユーザー情報を検索するために以降のクエリで使用されます。Active Directory サーバーで匿名接続が許可されていない限り、接続はバインド識別子名とパスワードで確立される必要があります。バインド識別子名(DN)は、bind_dn 設定で定義されます。バインドパスワードは bind_password 設定で定義されます。Hue には、LDAP リクエストをバインドするために、検索バインドと直接バインドという 2 つの方法があります。Amazon EMR で Hue を使用するための推奨の方法は、検索バインドです。

検索バインドが Active Directory で使用される場合、Hue はベース識別子名(DN)から取得される必要がある属性を見つけるために、ユーザー名属性(user_name_attr config で定義されます)を使用します。検索バインドは、完全な DN が Hue のユーザーに対して不明な場合に役立ちます。

たとえば、共通名(CN)を使用するように user_name_attr config を設定している場合があります。その場合は、Active Directory サーバーは、ログイン時に提供される Hue ユーザー名を使用して、ベース識別子名から開始して一致する共通名をディレクトリツリーで検索します。Hue ユーザーの共通名が見つかった場合、ユーザーの識別子名がサーバーによって返されます。次に、Hue はバインド操作を実行して、ユーザーの認証に使用される識別子名を構築します。

注記

検索バインドでは、ベース識別子名で開始してすべてのディレクトリのサブツリーでユーザー名を検索します。Hue の LDAP 設定で指定されたベース識別子名はユーザー名の最も近い親である必要があります。それ以外の場合、LDAP 認証のパフォーマンスが低下する可能性があります。

直接バインドが Active Directory で使用されている場合、認証には正確な nt_domain または ldap_username_pattern、が使用される必要があります。直接バインドが使用されている場合、nt ドメイン(nt_domain 設定で定義されます)属性が定義されていると、<login username>@nt_domain 形式を使用してユーザー識別名テンプレートが作成されます。このテンプレートは、ベース識別子名で開始してすべてのディレクトリのサブツリーを検索するために使用されます。nt ドメインが設定されていない場合、Hue はユーザーの正確な識別子名パターン(ldap_username_pattern 設定で定義されます)を検索します。このインスタンスで、サーバーは、ベース識別子名で開始してすべてのディレクトリサブツリーで、一致する ldap_username_pattern 値を検索します。

AWS CLI を使用して Hue の LDAP プロパティを伴うクラスターを起動するには
  • hue-ini の LDAP プロパティを指定するには、Hue がインストールされたクラスターを作成し、LDAP の設定プロパティのある json ファイルを参照します。サンプルコマンドを以下に示します。Amazon S3 に格納されている設定ファイル myConfig.json を参照します。

    aws emr create-cluster --release-label emr-5.36.1 --applications Name=Hue Name=Spark Name=Hive \ --instance-type m5.xlarge --instance-count 3 --configurations https://s3.amazonaws.com/mybucket/myfolder/myConfig.json.

    myConfig.json のコンテンツの例を以下に示します。

    [ { "Classification": "hue-ini", "Properties": {}, "Configurations": [ { "Classification": "desktop", "Properties": {}, "Configurations": [ { "Classification": "ldap", "Properties": {}, "Configurations": [ { "Classification": "ldap_servers", "Properties": {}, "Configurations": [ { "Classification": "yourcompany", "Properties": { "base_dn": "DC=yourcompany,DC=hue,DC=com", "ldap_url": "ldap://ldapurl", "search_bind_authentication": "true", "bind_dn": "CN=hue,CN=users,DC=yourcompany,DC=hue,DC=com", "bind_password": "password" }, "Configurations": [] } ] } ] }, { "Classification": "auth", "Properties": { "backend": "desktop.auth.backend.LdapBackend" } } ] } ] } ]
注記

Amazon EMR バージョン 5.21.0 以降では、実行中のクラスター内のインスタンスグループごとに、クラスター設定を上書きして追加の設定分類を指定できます。これを行うには、Amazon EMR コンソール、AWS Command Line Interface (AWS CLI)、または AWS SDK を使用します。詳細については、「実行中のクラスター内のインスタンスグループの設定を指定する」を参照してください。

Hue で LDAP 設定を表示するには
  1. Amazon EMR クラスターのマスターノードに対するアクティブな VPN 接続または SSH トンネルがあることを確認します。次に、ブラウザで、「master-public-dns:8888」と入力して Hue ウェブインターフェイスを開きます。

  2. Hue の管理者認証情報を使用してログインします。[Did you know? (ご存知でしたか?)] ウィンドウが開いた場合は、[Got it, prof! (分かりました!)] をクリックして閉じます。

  3. ツールバーの [Hue] アイコンをクリックします。

  4. [About Hue (Hue の詳細)] ページで、[Configuration (設定)] をクリックします。

  5. [Configuration Sections and Variables (設定セクションと変数)] セクションで、[Desktop (デスクトップ)] をクリックします。

  6. [ldap] セクションにスクロールして、設定を確認します。