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

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

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

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

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.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;