データ・リソース

キースペース、テーブル、行、およびタイプへのアクセスを許可するための構文。

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 PERMISSIONSCREATEDESCRIBEDROPMODIFYSELECT
  • KEYSPACE構文:
    GRANT permission[, permission ...]  
    ON KEYSPACE keyspace_name 
    TO role_name;
    パーミッションはALL PERMISSIONSCREATEDESCRIBEDROPMODIFYSELECT
    注: ユーザー定義タイプのアクセス制御は、そのロールがキースペースに対して持っている権限と同じです。
  • TABLE構文:
    GRANT permission[, permission ...]  
    ON [TABLE] keyspace_name.table_name 
    TO role_name;
    権限はALL PERMISSIONSDROPMODIFYSELECT
  • ROWS構文:
    GRANT permission[, permission ...]  
    ON 'filter_text' ROWS IN keyspace_name.table_name 
    TO role_name;
    権限はALL PERMISSIONSMODIFYSELECT
    注: 行レベルのアクセス制御(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 KEYSPACEALTER TABLEALTER TYPERESTRICT ROWSUNRESTRICT ROWS
ALTER KEYSPACE
ALTER TABLE ALTER TABLERESTRICT ROWSUNRESTRICT ROWS
CREATE ALL KEYSPACES CREATE KEYSPACECREATE TABLECREATE TYPE
注: リソースを作成すると、それを作成したロールにAUTHORIZEパーミッションが自動的に付与されます。
CREATE KEYSPACE 指定したキースペース内のCREATE TABLECREATE TYPE
CREATE TABLE 指定したキースペース内のCREATE TABLE
DESCRIBE ALL KEYSPACES 任意のキースペース内のDESCRIBE KEYSPACEDESCRIBE TABLEDESCRIBE TYPE
DESCRIBE KEYSPACE 指定されたキースペース内のDESCRIBE KEYSPACEDESCRIBE TABLEDESCRIBE TYPEDESCRIBE FUNCTIONDESCRIBE AGGREGATE
DROP ALL KEYSPACES 任意のキースペース内のDROP KEYSPACEDROP TABLE、およびDROP TYPE
DROP KEYSPACE 指定したキースペース内のDROP TABLEDROP TYPE
DROP TABLE DROP TABLE
MODIFY ALL KEYSPACES すべてのテーブルに対するINSERTUPDATEDELETETRUNCATE
MODIFY KEYSPACE 指定したキースペース内の任意のテーブルに対するINSERTUPDATEDELETETRUNCATE
MODIFY TABLE 指定したテーブルに対するINSERTUPDATEDELETETRUNCATEマテリアライズド・ビュー(MV)のあるテーブルについての注を参照してください。
MODIFY ROWS テーブルの'filtering_data'に一致するパーティションに対するINSERTUPDATEDELETE
SELECT ALL KEYSPACES 任意のテーブルに対するSELECT
SELECT KEYSPACE 指定したキースペース内の任意のテーブルに対するSELECT
SELECT TABLE 指定したテーブルに対するSELECT
SELECT ROWS 指定したテーブル内の'filtering_data'と完全に一致する行に対するSELECT
注: アクセス許可が有効になっている場合INSERTコマンドまたはUPDATEコマンドを使用してマテリアライズド・ビュー(MV)が含まれたベース・テーブルを変更する場合は、そのベース・テーブルに対するMODIFYまたはALL PERMISSIONSがユーザーに与えられている必要があります。