すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:LDAP 認証の使用

最終更新日:Jun 23, 2026

サービスで LDAP 認証を有効にすると、そのサービスにアクセスする際に LDAP のユーザー名とパスワードの入力が必須となり、サービスのセキュリティが向上します。EMR コンソールで簡単な操作を行うだけで、サービスの LDAP 認証を有効にできます。これにより、LDAP 認証の複雑な設定作業が不要になります。

前提条件

Hive および OpenLDAP コンポーネントを選択して、DataLake クラスターまたはカスタムクラスターを作成済みであること。詳細については、「クラスターの作成」をご参照ください。

ワンクリックでの LDAP 認証の有効化

  1. EMR ユーザーを追加します。詳細については、「ユーザーの追加」をご参照ください。

  2. [サービス] タブに移動します。

    1. EMR コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[EMR on ECS] をクリックします。

    3. 上部のナビゲーションバーで、クラスターが所在するリージョンを選択し、ビジネス要件に応じてリソースグループを選択します

    4. [EMR on ECS] ページで、対象のクラスターを見つけ、[操作] 列の [サービス] をクリックします。

  3. LDAP 認証を有効にします。

    1. Services ページで、Hive サービスのセクションにある Status をクリックします。

    2. enableLDAP スイッチをオンにします。

      • EMR 5.11.1 以降および EMR 3.45.1 以降の場合

        1. サービスの概要 セクションで、[enableLDAP] スイッチをオンにします。

        2. 表示されたダイアログボックスで、決定 をクリックします。

      • EMR 5.11.0 以前および EMR 3.45.0 以前の場合

        1. Components セクションで [HiveServer] を見つけ、[操作] 列で more > [enableLDAP] を選択します。

        2. 表示されたダイアログボックスで、Execution Reason を入力し、決定 をクリックします。

        3. Confirm ダイアログボックスで、決定 をクリックします。

    3. HiveServer を再起動します。

      1. Components セクションで [HiveServer] を見つけ、[操作] 列の 再起動 をクリックします。

      2. 表示されたダイアログボックスで、Execution Reason を入力し、OK をクリックします。

      3. Confirm ダイアログボックスで、OK をクリックします。

  4. HiveServer に接続します。

    LDAP 認証を有効にした後、LDAP 認証情報を使用して HiveServer2 に接続する必要があります。

    1. SSH 経由でクラスターにログインします。詳細については、「クラスターへのログイン」をご参照ください。

    2. 次のコマンドを実行して HiveServer2 に接続します。

      • 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><password> は、ステップ 1 で追加したユーザーのユーザー名とパスワードです。

LDAP 認証の手動設定

EMR コンソールには、ワンクリックで LDAP 認証を有効にできる enableLDAP ボタンが用意されています。古いバージョンの EMR を使用している場合や、自己管理型 LDAP サービスに接続する場合は、HiveServer2 の LDAP 認証を手動で設定する必要があります。

EMR コンソールの Hive サービスの Configure ページで、[hiveserver2-site.xml] タブに移動し、次の設定項目を追加します。設定項目の追加方法の詳細については、「設定項目の管理」をご参照ください。

パラメーター

説明

hive.server2.authentication

LDAP

HiveServer2 の認証方式を指定します。

hive.server2.authentication.ldap.url

ldap://{ldap_hostname}:{port}

例: ldap://master-1-1:10389

LDAP サービスの接続 URL です。この値はご利用の環境によって異なります。

  • {ldap_hostname}: LDAP サービスのホスト名または IP アドレス。EMR クラスターの LDAP サービスに接続する場合、通常、値は emr-header-1 です。

  • LDAP サービスポート。EMR LDAP サービスのデフォルトポートは 10389 です。自己管理型 LDAP サービスの場合は、ご利用の環境に固有のポートを使用してください。

hive.server2.authentication.ldap.baseDN

ou=people,o=emr

ユーザーのベース識別名 (DN) です。EMR LDAP サービスの場合、値は ou=people,o=emr です。自己管理型 LDAP サービスの場合は、ご利用の環境のベース DN を使用してください。

特定のユーザーまたはグループへのアクセスの制限

Hive サービスの LDAP 認証を有効にした後、次の設定を追加または変更して、特定のユーザーにアクセスを制限できます。

設定

  1. EMR コンソールの Hive サービスの Configure ページで、[hiveserver2-site.xml] タブに移動し、次の設定項目を追加または変更します。

    パラメーター

    値の例

    操作

    説明

    hive.server2.authentication.ldap.userDNPattern

    uid=%s,ou=people,o=emr

    追加

    LDAP 内のユーザーの検索パスを定義するユーザー DN パターンです。%s は実際のユーザー名に置き換えられます。

    hive.server2.authentication.ldap.groupFilter

    username

    追加

    グループのコンマ区切りのリストです。これらのグループに属するユーザーのみが HiveServer2 にアクセスできます。

    hive.server2.authentication.ldap.groupClassKey

    posixGroup

    追加

    LDAP でグループオブジェクトを示す objectClass 属性の値です。

    hive.server2.authentication.ldap.groupMembershipKey

    memberUid

    追加

    LDAP グループオブジェクトでメンバー情報を格納するために使用される属性名です。

    hive.server2.authentication.ldap.baseDN

    o=emr

    変更

    LDAP 検索のベース DN です。既存の値をグループフィルタリングに有効なベースパスに変更します。

  2. 新規および変更済みの設定を保存します。

  3. HiveServer2 サービスを再起動して、新しい設定を適用します。

接続の検証

LDAP 認証を有効にし、ユーザーを設定した後、ユーザーの認証情報を提供して HiveServer2 に接続する必要があります。

  1. SSH 経由でクラスターにログインします。詳細については、「クラスターへのログイン」をご参照ください。

  2. 次のコマンドを実行して HiveServer2 に接続します。

    • 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 で追加したユーザー名とパスワードです。

トラブルシューティング

LDAP 認証有効後の Hive 接続エラー

  • 問題: Beeline コマンドを実行して HiveServer2 に接続すると、次のエラーメッセージが表示されます。

    [root@master-1-1(xxx) ~]# beeline -u jdbc:hive2://master-1-1:10000 -n xxx -p xxx
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/opt/apps/HIVE/hive-3.1.3-hadoop3.1-1.0.9/lib/log4j-slf4j-impl-2.17.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/opt/apps/HADOOP-COMMON/hadoop-3.2.1-1.3.5-alinux3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
    Connecting to jdbc:hive2://master-1-1:10000
    25/08/11 17:58:17 [main]: WARN jdbc.HiveConnection: Failed to connect to master-1-1:10000
    Unknown HS2 problem when communicating with Thrift server.
    Error: Could not open client transport with JDBC Uri: jdbc:hive2://master-1-1:10000: Peer indicated failure: Error validating the login (state=08S01,code=0)
  • 原因: Beeline コマンドで指定されたユーザーが、LDAP グループフィルターによって承認されていません。

  • 解決策: hive.server2.authentication.ldap.groupFilter パラメーターでユーザーを指定します。または、hive.server2.authentication.ldap.groupFilter パラメーターですでに指定されているユーザーを使用して HiveServer2 に接続します。