データ・リソース
キースペース、テーブル、行、およびタイプへのアクセスを許可するための構文。
dse.yaml
dse.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/dse.yaml |
tarボール・インストール | installation_location/resources/dse/conf/dse.yaml |
データ・リソースは、キースペース、タイプ、テーブル、および行です。 アクセスは、モデル化階層を使用して制御されます。最上位オブジェクトに権限の付与および取り消しを行うと、すべての祖先に対して同じパーミッションが自動的に適用されます。
データ・リソースには、以下の階層があります。
構文
データ・リソースのアクセス制御には、以下の構文を使用します。
- ALL KEYSPACES構文:
GRANT permission[, permission ...] ON ALL KEYSPACES TO role_name;
パーミッションはALL PERMISSIONS、CREATE、DESCRIBE、DROP、MODIFY、SELECT。 - KEYSPACE構文:
GRANT permission[, permission ...] ON KEYSPACE keyspace_name TO role_name;
パーミッションはALL PERMISSIONS、CREATE、DESCRIBE、DROP、MODIFY、SELECT。注: ユーザー定義タイプのアクセス制御は、そのロールがキースペースに対して持っている権限と同じです。 - TABLE構文:
GRANT permission[, permission ...] ON [TABLE] keyspace_name.table_name TO role_name;
権限はALL PERMISSIONS、DROP、MODIFY、SELECT。 - ROWS構文:
GRANT permission[, permission ...] ON 'filter_text' ROWS IN keyspace_name.table_name TO role_name;
権限はALL PERMISSIONS、MODIFY、SELECT。注: 行レベルのアクセス制御(RLAC)はデフォルトで無効になっています。RLACを使用するには、allow_row_level_securityパラメーターをdse.yamlでtrueに設定します。
パーミッション・マトリックス
以下の表で、ロールに権限が付与されたときにリソースで有効になるCQLステートメントを説明します。
権限のタイプ | リソース名 | パーミッション |
---|---|---|
ALL PERMISSIONS | ALL KEYSPACES | CREATE KEYSPACEおよびDROP KEYSPACEのほか、CREATE、ALTER、AUTHORIZE、DESCRIBE、DROP、MODIFY、およびSELECT権限で説明されている祖先オブジェクトに対するすべてのパーミッション。 |
ALL PERMISSIONS | KEYSPACE | キースペースに対するALTER、AUTHORIZE、DESCRIBE、およびSELECT権限、およびタイプ、テーブル、および行に対するCREATE、ALTER、AUTHORIZE、DESCRIBE、DROP、およびSELECT権限。 |
ALL PERMISSIONS | TABLE | 表に対するMODIFY、SELECT、およびAUTHORIZE権限、および行に対するすべての権限。 |
ALL PERMISSIONS | ROWS | フィルター処理テキストに一致する行に対するMODIFYおよびSELECT権限。 |
ALTER | ALL KEYSPACES | ALTER KEYSPACE、ALTER TABLE、ALTER TYPE、RESTRICT ROWS、UNRESTRICT ROWS。 |
ALTER | KEYSPACE | |
ALTER | TABLE | ALTER TABLE、RESTRICT ROWS、UNRESTRICT ROWS。 |
CREATE | ALL KEYSPACES | CREATE KEYSPACE、CREATE TABLE、CREATE TYPE。 注: リソースを作成すると、それを作成したロールにAUTHORIZEパーミッションが自動的に付与されます。 |
CREATE | KEYSPACE | 指定したキースペース内のCREATE TABLE、CREATE TYPE。 |
CREATE | TABLE | 指定したキースペース内のCREATE TABLE |
DESCRIBE | ALL KEYSPACES | 任意のキースペース内のDESCRIBE KEYSPACE、DESCRIBE TABLE、DESCRIBE TYPE |
DESCRIBE | KEYSPACE | 指定されたキースペース内のDESCRIBE KEYSPACE、DESCRIBE TABLE、DESCRIBE TYPE、DESCRIBE FUNCTION、DESCRIBE AGGREGATE |
DROP | ALL KEYSPACES | 任意のキースペース内のDROP KEYSPACE、DROP TABLE、およびDROP TYPE |
DROP | KEYSPACE | 指定したキースペース内のDROP TABLE、DROP TYPE |
DROP | TABLE | DROP TABLE |
MODIFY | ALL KEYSPACES | すべてのテーブルに対するINSERT、UPDATE、DELETE、TRUNCATE |
MODIFY | KEYSPACE | 指定したキースペース内の任意のテーブルに対するINSERT、UPDATE、DELETE、TRUNCATE |
MODIFY | TABLE | 指定したテーブルに対するINSERT、UPDATE、DELETE、TRUNCATEマテリアライズド・ビュー(MV)のあるテーブルについての注を参照してください。 |
MODIFY | ROWS | テーブルの'filtering_data'に一致するパーティションに対するINSERT、UPDATE、DELETE。 |
SELECT | ALL KEYSPACES | 任意のテーブルに対するSELECT。 |
SELECT | KEYSPACE | 指定したキースペース内の任意のテーブルに対するSELECT。 |
SELECT | TABLE | 指定したテーブルに対するSELECT。 |
SELECT | ROWS | 指定したテーブル内の'filtering_data'と完全に一致する行に対するSELECT。 |
注: アクセス許可が有効になっている場合、
INSERT
コマンドまたはUPDATE
コマンドを使用してマテリアライズド・ビュー(MV)が含まれたベース・テーブルを変更する場合は、そのベース・テーブルに対するMODIFY
またはALL PERMISSIONS
がユーザーに与えられている必要があります。