GRANT
データベース・リソースへのアクセスを許可します。
キースペース、テーブル、関数などのデータベース・リソースに対する権限をロールに割り当てます。
重要: パーミッションはアクティブなクライアント・セッションに対しても、即座に適用されます。
制約事項: 認証および権限管理を有効にして、データベース・リソースへのアクセスを制御します。「DSE Unified Authentication(DSE統合認証)の有効化」を参照してください。
構文
GRANT permission ON object TO role_name ;
構文規則 | 説明 |
---|---|
大文字 | リテラル・キーワード。 |
小文字 | リテラル以外。 |
イタリック体 |
変数値。ユーザー定義値と置き換えます。 |
[] |
任意。角かっこ( [] )で任意指定のコマンド引数を囲みます。角かっこは入力しないでください。 |
( ) |
グループ。丸かっこ(( ) )は、選択肢を含むグループを示します。丸かっこは入力しないでください。 |
| |
または。縦棒( | )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。 |
... |
繰り返し可能。省略記号(... )は、構文要素を必要な回数だけ繰り返すことができることを示します。 |
'Literal string' |
単一引用符( ' )でCQL文内のリテラル文字を囲みます。大文字を維持するには、単一引用符を使用します。 |
{ key : value } |
マップ・コレクション。中かっこ( { } )でマップ・コレクションまたはキーと値のペアを囲みます。コロンでキーと値を区切ります。 |
<datatype1,datatype2> |
セット、リスト、マップ、またはタプル。山かっこ(< > )で、セット、リスト、マップまたはタプル内のデータ型を囲みます。データ型はコンマで区切ります。 |
cql_statement; |
CQL文の終了。セミコロン( ; )ですべてのCQL文を終了します。 |
[--] |
コマンドライン・オプションとコマンド引数は、2つのハイフン(-- )。この構文は、引数がコマンドライン・オプションと間違われる可能性がある場合に役立ちます。 |
' <schema> ... </schema> ' |
検索CQLのみ:単一引用符( ' )でXMLスキーマ宣言全体を囲みます。 |
@xml_entity='xml_entity_type' |
検索CQLのみ:スキーマ・ファイルおよびsolrConfigファイル内のXML要素を上書きするための実体とリテラル値を示します。 |
- permission
-
データ・リソースに関してロールに付与されているアクセスの種類。
ALL PERMISSIONS
またはパーミッションのコンマ区切りリスト。パーミッションは、以下のように固有のリソースです。
- データ -
ALL PERMISSIONS
またはALTER
、AUTHORIZE [FOR permission_list]
、CREATE
、DESCRIBE
、DROP
、MODIFY
、およびSELECT
- 関数(および集計) -
ALL PERMISSIONS
またはALTER
、AUTHORIZE [FOR permission_list]
、CREATE
、およびDROP
- 検索インデックス -
AUTHORIZE [FOR permission_list]
、SEARCH.ALTER
、SEARCH.COMMIT
、SEARCH.CREATE
、SEARCH.DROP
、SEARCH.REBUILD
、およびSEARCH.RELOAD
- ロール -
ALL PERMISSIONS
またはALTER
、AUTHORIZE [FOR permission_list]
、CREATE
、DESCRIBE
、DROP
、PROXY.EXECUTE
、およびPROXY.LOGIN
- JMX (MBeans) -
ALL PERMISSIONS
またはAUTHORIZE [FOR permission_list]
、DESCRIBE
、EXECUTE
、MODIFY
、およびSELECT
- リモート・プロシージャ・コール(RPC) -
ALL PERMISSIONS
またはAUTHORIZE [FOR permission_list]
、EXECUTE
、MODIFY
、およびSELECT
- 認証スキーム -
ALL PERMISSIONS
またはAUTHORIZE [FOR permission_list]
およびEXECUTE
- Sparkワークプール -
ALL PERMISSIONS
またはAUTHORIZE [FOR permission_list]
、CREATE
、およびDESCRIBE
- Sparkサブミット -
ALL PERMISSIONS
またはAUTHORIZE [FOR permission_list]
、DESCRIBE
、およびMODIFY
注: アクセス制御を管理するには、パーミッションの種類に関して、そのリソースのAUTHORIZEパーミッションがロールに含まれている必要があります。FOR パーミッションを指定せずにAUTHORIZEが付与されている場合
、そのロールはオブジェクトのすべてのパーミッションを管理できます。 - データ -
- resource_name
-
パーミッションを適用するDataStax Enterpriseデータベース・オブジェクト。データベース・リソースは階層をモデル化しており、最上位オブジェクトのパーミッションによって、オブジェクトの祖先の同じパーミッションがロールに付与されます。以下のキーワードを使用してリソースを識別します。
- データ -
ALL KEYSPACES
>KEYSPACE
keyspace_name >TABLE table_name
>'filtering_data' ROWS IN table_name
- 関数(集計を含む) -
ALL FUNCTIONS
、ALL FUNCTIONS IN KEYSPACE keyspace_name
、およびFUNCTION keyspace_name.function_name( argument_types)
- 検索インデックス -
ALL SEARCH INDICES
> SEARCH KEYSPACE keyspace_name >SEARCH INDICES [keyspace_name.]table_name
- JMX MBeans -
ALL MBEANS > MBEAN mbean_name
およびMBEANS pattern
- リモート・プロシージャ・コール(RPC) -
ALL REMOTE CALLS
>REMOTE METHOD name
|REMOTE OBJECT name
- ロール -
ALL ROLES
>ROLE role_name
- 認証スキーム -
ALL SCHEMES
>LDAP
|KERBEROS
|INTERNAL
- 分析アプリケーション
- ワークプール -
ANY WORKPOOL
>WORKPOOL 'dc_name.*'
>WORKPOOL 'dc_name.workpool_name'
- サブミット -
ANY SUBMISSION
>ANY SUBMISSION IN WORKPOOL 'datacenter_name.*' > 'datacenter_name.workpool_name' > SUBMISSION ID
- ワークプール -
- データ -
例
ほとんどの環境では、ユーザー認証はLDAPなどの外部ディレクトリー・サービスに照らしてユーザー認証情報を確認するプラグインによって処理されます。簡潔にするため、以下の例では内部ユーザーを使用します。
オブジェクト・パーミッションの管理
AUTHORIZE
を使用して、ロールが特定のリソースのアクセス制御を管理できるようにします。- cyclingキースペース内のすべてのオブジェクトについて、
AUTHORIZE
を含むすべてのパーミッション・タイプをロールが付与できるようにします。GRANT AUTHORIZE ON KEYSPACE cycling TO cycling_admin;
警告: これによって、ロールは、そのロールのパーミッションと、継承するロールを変更できるようになるため、cyclingキースペースにおけるスーパーユーザーになります。 sam
ロールは、クエリーを実行し、cyclingキースペース内のデータを変更するパーミッションを割り当てることができます。GRANT AUTHORIZE FOR SELECT, MODIFY ON KEYSPACE cycling TO sam;
ヒント:sam
ロールは、AUTHORIZE
,AUTHORIZE FOR ...
、ALTER
、CREATE
、DESCRIBE
、およびDROP
などの他のパーミッションを別のロールに付与することはできません。
データ・リソースへのアクセス
データ・リソース・パーミッションを使用して、キースペース、テーブル、行、および型へのアクセスを管理します。
cyclingキースペースへのすべてのパーミッションをcycling_adminロールに付与します。
GRANT ALL PERMISSIONS ON KEYSPACE cycling TO cycling_admin;
cyclingキースペースのすべてのテーブルに対して
SELECT
文を実行し、データを変更するパーミッションをcoachロールに付与します。GRANT SELECT, MODIFY ON KEYSPACE cycling TO coach;
cyclingキースペースに対して
ALTER KEYSPACE
文を実行し、cyclingキースペース内のすべてのテーブルに対してALTER TABLE
文、CREATE INDEX
文、およびDROP INDEX
文を実行するパーミッションをcoachロールに付与します。GRANT ALTER ON KEYSPACE cycling TO coach;
cycling.cyclist_category
テーブルに'Sprint’を含んでいる行に対してSELECT
文を実行するパーミッションをmartinロールに付与します。GRANT SELECT ON 'Sprint' ROWS IN cycling.cyclist_category TO martin;
注: filtering_dataの文字列では大文字と小文字が区別されます。
パーミッションを表示するには、「パーミッションのリスト」を参照してください。