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

ユーザー名に一致するロールを作成します。

DataStax Enterprise Role Manager(DataStax Enterpriseロール・マネージャー)の内部モードでは、認証ユーザーの名前をロールと直接、照合します。DSEは、以下のスキームで認証されているユーザーの内部ロール管理をサポートしています。

  • 内部スキーム:
    • ロール名:認証のユーザー名。
    • ロール・オプション:LOGIN = true and PASSWORD = 'some_password'
    • スキーム・パーミッションGRANT EXECUTE on INTERNAL SCHEME to role_name;
    注: modeと認証スキームがどちらもinternalの場合、接続要求で提供されたユーザー名に一致するロールが割り当てられます。
  • Kerberosスキーム:
    • ロール名:REALMを含むKerberosユーザー・プリンシパル名と完全に一致します。照合では大文字と小文字が区別されます。ロール名は引用符で囲みます。たとえば、'jdoe@EXAMPLE.COM'などです。
    • ロール・オプション:LOGIN = true
    • スキーム・パーミッションGRANT EXECUTE on KERBEROS SCHEME to role_name;
  • LDAPスキーム:
    • ロール名:接続文字列で提供されたユーザー名と完全に一致します。照合では大文字と小文字が区別されます。
    • ロール・オプション:LOGIN = true
    • スキーム・パーミッションGRANT EXECUTE on LDAP SCHEME to role_name;

始める前に

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

  • 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: internal

手順

  • 内部ユーザーの場合、ログインが有効でパスワードが内部に格納されているロールを作成します。
    CREATE ROLE jane WITH LOGIN = true AND PASSWORD = 'Abc123Jane';

    ALTER ROLEコマンドを使用して、パスワードを変更します。

    割り当てを認証スキームにバインドします。

    GRANT EXECUTE on INTERNAL SCHEME to jane;

    単一引用符でロール名を囲みます。名前は大文字と小文字が区別されます。

  • Kerberosユーザー・プリンシパルの場合、ログインが有効で、REALM(user_name@REALM)を含むロールを作成します。
    CREATE ROLE 'jane@EXAMPLE.COM' WITH LOGIN = true;

    単一引用符でロール名を囲んで、大文字と小文字の区別を維持します。すべてのKerberosロールでログインをtrueに設定します。パスワードは設定しないでください。

    割り当てを認証スキームにバインドします。

    GRANT EXECUTE on KERBEROS SCHEME to 'jane@EXAMPLE.COM';

    単一引用符でロール名を囲みます。名前は大文字と小文字が区別されます。

  • LDAPユーザーの場合、UIDまたはsamAccountName(ユーザー・フィルター属性)に一致するロールを作成します。
    CREATE ROLE jane WITH LOGIN = true;

    すべてのLDAPロールでログインをtrueに設定します。パスワードは設定しないでください。

    割り当てを認証スキームにバインドします。

    GRANT EXECUTE on LDAP SCHEME to jane;