LDAPスキームの定義

認証やロール管理に使用する外部LDAPサーバーを構成します。

DataStax Enterpriseでは、以下の用途でLDAPを使用できます。
  • 認証:DSEは構成済みLDAPに認証情報をパススルーします。
  • ロール管理:DSEは認証ユーザーを検索し、LDAPグループのリストを取得してから、LDAPグループ名をDSEロール名と照合します。

dse.yaml

dse.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/dse/dse.yaml
tarボール・インストール installation_location/resources/dse/conf/dse.yaml

始める前に

以下のオプションを指定して、DSE Unified Authentication(DSE統合認証)を有効にする操作を完了します。

  • 認証に関して、dse.yamlauthentication_options.scheme:ldapまたはauthentication_options.other_scheme:ldapが設定されていることを確認します。
    authentication_options:
    ...
       scheme: ldap
  • ロール管理に関して、dse.yamlrole_management_options.mode: ldapが設定されていることを確認します。
    role_management_options:
    ...
       mode: ldap
サポートされているLDAP v3サーバーが使用可能であることを確認します。DataStax Enterpriseでは以下をサポートしています。
  • Microsoft Active Directory:
    • Windows 2008
    • Windows 2012
  • OpenLDAP 2.4.x
  • Oracle Directory Server Enterprise Edition 11.1.1.7.0

手順

すべてのノードで、 dse.yamlLDAPオプションを構成します。
注: マルチ・データ・センター・サポートには、最も近い使用可能なLDAPホストを使用してください。
  1. LDAPスキームを認証またはロール管理に使用する場合は、以下のオプションを構成します。
    AD認証の最小設定の例:
    ldap_options:
        server_host: win2012ad_server.mycompany.lan
        server_port: 389
        search_dn: cn=lookup_user,cn=users,dc=win2012domain,dc=mycompany,dc=lan
        search_password: lookup_user_password
        use_ssl: false
        use_tls: false
        truststore_path: path/to/truststore
        truststore_password: passwordToTruststore
        truststore_type: jks
        user_search_base: cn=users,dc=win2012domain,dc=mycompany,dc=lan
        user_search_filter: (sAMAccountName={0})
    
        credentials_validity_in_ms: 0
        search_validity_in_seconds: 0
        connection_pool:
            max_active: 8
            max_idle: 8
    1. 以下の必要な設定をすべて構成します。
      オプション 説明
      server_host LDAPサーバーのホスト名。
      server_port LDAPサーバーがリッスンするポート。暗号化されていない接続のデフォルト・ポートは389です。

      LDAPのデフォルトのSSLポートは636です。

      search_dn user_search_baseおよびgroup_search_baseに対する読み取りアクセス権を持つアカウントの識別名(DN)。匿名のバインドを使用する場合はコメントアウトします
      search_password search_dnユーザーのパスワード。
      user_search_base 認証およびロール管理のmemberof検索でユーザー・エントリーの再帰検索を開始するオブジェクトの識別名(DN)。たとえば、example.comですべてのユーザーを検索対象にするには、「ou=users,dc=example,dc=com」と指定します。

      Active Directoryでは、別の検索ベース(通常は、CN=search,CN=Users,DC=ActDir_domname,DC=internal)を使用します。たとえば、CN=search,CN=Users,DC=example,DC=internalのようになります。

      user_search_filter ユーザーを識別する属性。デフォルトの設定値は(uid={0})です。

      Active Directoryを使用する場合は、フィルターを(sAMAccountName={0})に設定します。

    2. 以下のオプション設定を構成します。
      オプション 説明
      use_ssl LDAPサーバーへのSSL接続を有効にするには、trueに設定します。trueに設定されている場合は、server_portをLDAPサーバーのSSLポートに変更しなければならないことがあります。デフォルト値はfalseです。
      use_tls LDAPサーバーへのTLS接続を有効にするには、trueに設定します。trueに設定する場合は、server_portをLDAPサーバーのTLSポートに変更します。デフォルト値はfalseです。
      truststore_path SSL証明書のトラストストアのパス。
      truststore_password トラストストアにアクセスするためのパスワード。
      truststore_type トラストストアのタイプ。デフォルト値はjksです。
      credentials_validity_in_ms 認証情報キャッシュの時間(単位はミリ秒)。キャッシュを無効にするには、0に設定します。キャッシュはデフォルトで無効になっています。

      キャッシュを有効にすると、DataStax Enterpriseは指定された期間、ユーザー認証情報をローカルに格納します。リモートLDAPサーバーにバインドするには、時間とリソースが必要となります。そのため、認証情報キャッシュを有効にすると、通常は、初期認証フェーズ後にパフォーマンスが向上します。LDAPサーバーのユーザー認証情報に行った変更は、キャッシュ期間中にDataStax Enterpriseに反映されません。

      search_validity_in_seconds 検索キャッシュの時間(単位はミリ秒)。キャッシュを無効にするには、0に設定します。キャッシュはデフォルトで無効になっています。

      検索キャッシュを有効にすると、LDAPサーバーに送信される要求の数が減るため、パフォーマンスが向上します。LDAPサーバーのユーザー・データに行った変更は、キャッシュ期間中に反映されません。

      connection_pool LDAP要求を行うための接続プールの構成設定。
      max_active LDAPサーバーへのアクティブな接続の最大数。デフォルト値は8です。
      max_idle 要求待ちプールでのアイドル接続の最大数。デフォルト値は8です。
  2. ロール管理モードldapの場合、以下のいずれかを選択します。
    • オプション1。ユーザー・エントリーの属性からグループのリストを取得するようにDSEを構成します。
          user_memberof_attribute: memberof
          group_search_type: memberof_search
      注: memberofは、デフォルトのMicrosoft Active Directory LDAPスキームのグループのリストを含む属性の名前です。OpenLDAPには、デフォルトで属性のメンバーはありません。
      1. ユーザー属性のオプション
      オプション 設定 説明
      user_memberof_attribute memberof グループ名のリストを格納する属性。ロール・マネージャーは、リスト内のいずれかに完全に一致するDSEロールを割り当てます。
      注: 一致しないグループは無視されます。
      group_search_type memberof_search user_search_baseuser_search_filterを使用して、ユーザー・エントリーを再帰的に検索します。
    • オプション2。 検索ベースからすべてのグループ・オブジェクトを検索し、そのユーザーが含まれているグループのリストを返すようにDSEを構成します。
          group_search_type: directory_search
          group_search_base: DN 
          group_search_filter: (uniquemember={0})
          group_name_attribute: CN
      注: uniquememberは、グループ用のデフォルトのMicrosoft Active Directory LDAPスキームのユーザーのリストを含む属性の名前です。
      2. グループ・オブジェクトのオプション
      オプション 設定 説明
      group_search_type directory_search group_search_baseを使用して、グループ・オブジェクトを再帰的に検索します。
      group_search_base DN ユーザーを含んでいるグループの再帰チェックがロール・マネージャーによって開始される場所を指定します。

      たとえば、example.comのすべての内部グループをチェックするには cn=internal ou=group,dc=example,dc=com.

      group_search_filter (uniquemember={0}) ユーザー名に一致する属性。大半のLDAPサービスでは、この属性はuniquememberです。
      group_name_attribute cn ロール・マネージャーが構成済みDSEロールとの照合を行うグループ名が含まれている属性。グループ名は、大文字と小文字の区別も含め、DSEロール名と完全に一致する必要があります。
      注: 一致しないグループは無視されます。
  3. ローリング再起動を実行して変更を実装します。
    ヒント: 認証が有効になっているDSE環境にLDAPを追加する場合は、再起動する前にLDAPユーザーおよびグループのロールを設定しておくことが推奨されます。