認証スキームへのロールのバインド

グループ名またはユーザー名が複数のスキームで見つかった場合に、意図しないロールの割り当てを防止します。

グループ名またはユーザー名が複数のスキームで見つかった場合に、意図しないロールの割り当てを防止します。スキームに対する実行パーミッションがロールにある場合は、そのスキームに対して認証されたユーザーにのみロールを適用できます。

スキーム・パーミッションの強制

LDAPを使用してロールを管理すると(role_management_options.mode: ldap)、意図しないロールの割り当てが生じる可能性があります。DSE Role Manager(DSEロール・マネージャー)は、ユーザーのグループとロールの名前が一致する場合に、ロールを割り当てます。内部スキームに対して認証を行うユーザーは、ログインとパスワードに関連付けられたロールを自動的に取得します。同じユーザーがLDAPに存在する場合は、一致するすべてのグループ名-ロール名も割り当てられます。

同様に、LDAPユーザーが認証すると、すべてのグループ-ロールの一致が割り当てられます。内部認証とLDAP認証の両方が混在する環境では、内部認証に使用されるグループ名とロールが重複する可能性があります。たとえば、adminなどの内部アカウントは、LDAPグループの管理者と重複する可能性があります。DataStaxは、scheme_permissionsを有効にして、対応するロールにスキームでの実行権限を付与することを推奨します。

スキーム・パーミッションのCQL構文

ロールをスキームに関連付けたり、ロールをスキームから削除したりするには、CQLのGRANTコマンドおよびREVOKEコマンドを使用します。
  • ロールをスキームに関連付けるには、以下のようになります。
    GRANT EXECUTE 
    ON [ALL AUTHENTICATION SCHEMES|INTERNAL SCHEME|LDAP SCHEME|KERBEROS SCHEME] 
    TO role_name; 
  • スキームからロールを削除するには:
    REVOKE EXECUTE 
    ON [ALL AUTHENTICATION SCHEMES|INTERNAL SCHEME|LDAP SCHEME|KERBEROS SCHEME] 
    FROM role_name; 

dse.yaml

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

始める前に

dse.yamlauthorization_options.scheme_permissions: trueを設定します。有効にした後、ロールを認証スキームに関連付けて割り当てる必要があります。
警告: ロールは、別のロールに割り当てることのできるリソースです。パーミッションは継承されます。つまり、リソース・ロールのすべてのパーミッションがターゲット・ロールに付与されます。

手順

  • 任意のスキームで認証するユーザーのロール割り当てを許可します。
    GRANT EXECUTE 
    ON ALL AUTHENTICATION SCHEMES 
    TO role_name;
  • LDAPで認証するユーザーにのみロール割り当てを許可します。
    GRANT EXECUTE 
    ON LDAP SCHEME 
    TO role_name;
  • 内部スキームで認証するユーザーにのみロール割り当てを許可します。
    GRANT EXECUTE 
    ON INTERNAL SCHEME 
    TO role_name;
  • Kerberosで認証するユーザーにのみロール割り当てを許可します。
    GRANT EXECUTE 
    ON KERBEROS SCHEME 
    TO role_name;
  • 内部またはLDAPで認証するユーザーなど、複数のスキームのロール割り当てを許可するには、複数のCQL文を実行する必要があります。
    GRANT EXECUTE ON INTERNAL SCHEME TO role_name;
    GRANT EXECUTE on LDAP SCHEME to role_name;