パーミッションについて
パーミッションはデータベース・リソースへのアクセスを制御します。
ロールを作成した後で、GRANTとREVOKEを使用して、CQLデータベース・リソースへのアクセスを制御します。
使用可能なパーミッション
リソースに対するパーミッションをロールに付与します。権限の付与は、リソース階層の任意のレベルで行うことができます。付与できるすべての権限を次に示します。
- ALL PERMISSIONS
- ALTER
- AUTHORIZE
- CREATE
- DESCRIBE
- DROP
- EXECUTE
- MODIFY
- PROXY.EXECUTE
- PROXY.LOGIN
- SEARCH.ALTER
- SEARCH.COMMIT
- SEARCH.CREATE
- SEARCH.DROP
- SEARCH.REBUILD
- SEARCH.RELOAD
- SELECT
- role_name
データベース・リソース構造
パーミッションを適用するDataStax Enterpriseデータベース・オブジェクト。データベース・リソースは階層をモデル化しています。チェーンの上位のリソースに対するパーミッションを付与することで、それより下位のすべてのリソースに対する同じパーミッションが自動的に付与されます。
注: すべての権限がすべての型のリソースに適用されるわけではありません。たとえば、
EXECUTE
は、関数、MBean、RPC、および認証スキームに関する場合にのみ有効です。パーミッションが適用されないリソースに対する権限を付与しようとすると、エラーが発生します。使用可能なオブジェクト:
- 関数
-
- ALL FUNCTIONS
- ALL FUNCTIONS IN KEYSPACE keyspace_name
- FUNCTION keyspace_name.function_name
- ALL FUNCTIONS IN KEYSPACE keyspace_name
- ALL FUNCTIONS
- データ
-
- ALL KEYSPACES
- KEYSPACE keyspace_name
- TABLE table_name
- Rows ('filtering_data' ROWS IN table_name )
- Indexes(検索インデックス以外)は、テーブルに属しますが、パーミッションを直接割り当てることはできません。テーブルに対するALTERパーミッションがある場合、ユーザーはインデックスのCREATEおよびDROPを実行できます。
- Typesはキースペースに属しますが、パーミッションを直接割り当てることはできません。型を管理するには、キースペース・パーミッションをCREATE、DROP、ALTERのいずれかに設定します。これにより、テーブルについても同じパーミッションがユーザーに付与されます。
- TABLE table_name
- KEYSPACE keyspace_name
- ALL KEYSPACES
- 検索インデックス
-
- ALL SEARCH INDICES
- SEARCH INDICES [keyspace_name.]table_name
- ALL SEARCH INDICES
- JMX
-
- ALL MBEANS
- MBEAN mbean_name
- MBEANS pattern
- MBEAN mbean_name
- ALL MBEANS
- ロール
-
- ALL ROLES
- ROLE role_name
注: ロールは、割り当て可能なパーミッション・セットであるとともに、データベース・リソースでもあります。GRANT role_name TO role_name
では、文の最初のロールのパーミッションがすべて2番目のロールにも付与されます。独自のパーミッション階層構造を作成するには、ロールを使用してください。
- ALL ROLES
- リモート・プロシージャ・コール(RPC)
-
- ALL OBJECTS
- OBJECT object_name
- METHOD
- OBJECT object_name
- ALL OBJECTS
- 認証スキーム
-
- ALL SCHEMES
- (LDAP | KERBEROS | INTERNAL) SCHEME
- ALL SCHEMES