LDAPスキームの定義

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

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

始める前に

以下のオプションを指定して「DSE Unified Authentication(DSE統合認証)の有効化」の手順を完了します。

  • 認証の場合は、authentication_options.scheme:ldapを設定します。
    authentication_options:
    ...
       scheme: ldap
  • ロール管理の場合は、role_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
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/cassandra/cassandra.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/cassandra/conf/cassandra.yaml
dse.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/dse.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/dse/conf/dse.yaml

手順

各ノードで、dse.yamlLDAPオプションを構成します。
注: マルチ・データ・センター・サポートには、最も近い使用可能なLDAPホストを使用してください。
  1. LDAPスキームを認証またはロール管理に使用する場合は、以下のオプションを構成します。
    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です。
    ldap_options:
        server_host: localhost
        server_port: 389
        search_dn: cn=Admin
        search_password: secret
        use_ssl: false
        use_tls: false
        truststore_path:
        truststore_password:
        truststore_type: jks
        user_search_base: ou=users,dc=example,dc=com
        user_search_filter: (uid={0})
    
        credentials_validity_in_ms: 0
        connection_pool:
            max_active: 8
            max_idle: 8
  2. 以下のオプションは、LDAPをロール管理に使用する場合にのみ構成します。
    • ユーザー・エントリーの属性からグループ・リストを返します。
          user_memberof_attribute: memberof
          group_search_type: memberof_search
      1. ユーザー属性のオプション
      オプション 設定 説明
      user_memberof_attribute memberof グループ名のリストを格納する属性。ロール・マネージャーは、リスト内のいずれかに完全に一致するDSEロールを割り当てます。
      注: 一致しないグループは無視されます。
      group_search_type memberof_search user_search_baseuser_search_filterを使用して、ユーザー・エントリーを再帰的に検索します。
    • ディレクトリー内のグループ・オブジェクトを検索して、ユーザーを含んでいるすべてのグループを返します。
          group_search_type: directory_search
          group_search_base: DN 
          group_search_filter: (uniquemember={0})
          group_name_attribute: CN
      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ユーザーおよびグループのロールを設定しておくことが推奨されます。

次のタスク