LDAPモード用にロールを作成する

LDAPでロール割り当てを管理するために、LDAPサーバー内のグループ名に一致するロールを作成します。

ロール管理モードがLDAPに設定されている場合、DataStax Enterprise Role Manager(DataStax Enterpriseロール・マネージャー)はLDAP内のユーザーを検索し、グループのリストを返します。グループ検索は、ldap_optionsで構成されます。

以下の規則が適用されます。
  • LDAPグループ名とロール名の照合では大文字と小文字が区別され、グループ名属性の値に完全に一致する必要があります。
  • CQL要求を可能にするには、ユーザーのLDAPグループ名の1つ以上がロールに一致する必要があります。
  • ユーザーのグループに一致する少なくとも1つのロールでログインが有効になっている必要があります。
  • ロール名に一致するLDAPグループのメンバーであるユーザーに、ロールを割り当てます。
  • 個別のパーミッション・セットを持つLDAPグループごとに1つのロールを作成します。 LDAPモードを選択している場合、ネストされたロールは無効になります。GRANT role_name TO role_nameを使用すると、エラーが発生します。
ヒント: DSEは、名前がLDAPのユーザー名フィルターに一致するが、内部やKerberosなど別の方法で認証されているユーザーの検索をサポートしています。通常、Kerberosのフル・プリンシパル名はユーザーの電子メール・アドレスに一致します。Kerberos認証とLDAPグループ検索を使用するには、LDAPユーザー・フィルター内のKerberosプリンシパル名に一致するユーザー属性を指定します。たとえば、mail: {0}などです。

始める前に

これらの指示は、以下の設定を持つ環境に適用されます。

  • cassandra.yamlファイルでオーセンティケーター、オーソライザー、およびロール・マネージャーが設定されている。
    authenticator: com.datastax.bdp.cassandra.auth.DseAuthenticator
    authorizer: com.datastax.bdp.cassandra.auth.DseAuthorizer
    role_manager: com.datastax.bdp.cassandra.auth.DseRoleManager
  • dse.yamlファイルで認証、ロール管理、および権限管理オプションが設定されている。
    authentication_options:
     default_scheme: ldap
     other_schemes:
     - kerberos
     - internal
    ...
    
    authorization_options:
     enabled: true
    
    ...
    role_management_options:
     mode: ldap

手順

  1. ロールを作成します。
    以下の例は、analyst LDAPグループ内のユーザーのロールを示しています。
    CREATE ROLE analyst WITH LOGIN = true;
    ヒント: スーパーユーザーは、自身を除くすべてのロールに対してパーミッションを付与したり、取り消したりすることができます。
  2. 割り当てをLDAP認証スキームにバインドします。
    GRANT EXECUTE on LDAP SCHEME to analyst;
    大文字を使用するには単一引用符でロール名を囲みます。名前は大文字と小文字が区別されます。
    ロール・マネージャーは、LDAPスキームで認証されたユーザーに対してのみ、ロールを割り当てます。scheme_permissionsがtrueに設定されている場合にのみ必須です。
  3. cyclingキースペース内のSELECTを許可します。
    GRANT SELECT on KEYSPACE cycling to analyst;
    analystグループのユーザーは、cyclingキースペース内ですべてのテーブルをクエリーできます。