検索インデックスへのアクセスの制御

アクセス権限を検索インデックス管理用のロールに割り当てます。

アクセス権限を検索インデックス管理用のロールに割り当てます。

パーミッションと構文

以下の構文を使用して、検索インデックスへのアクセス権を設定します。
  • 検索インデックスへのアクセス権を付与します。
    GRANT permission_name 
    ON (ALL SEARCH INDICES | SEARCH KEYSPACE keyspace_name | SEARCH INDEX [keyspace_name.]table_name) 
    TO role_name;
  • 検索インデックスへのアクセス権を削除します。
    REVOKE permission_name 
    ON (ALL SEARCH INDICES | SEARCH KEYSPACE keyspace_name | SEARCH INDEX [keyspace_name.]table_name)  
    FROM role_name;
1. 検索インデックス・パーミッション
permission_name CQLコマンド 説明
ALL PERMISSIONS (以下のすべてのコマンド)、GRANT、およびREVOKE 検索インデックス・アクションを実行し、以下のアクションを使用する他のロールの権限を管理します。
SEARCH.ALTER ALTER SEARCH INDEX CONFIGおよびALTER SEARCH INDEX SCHEMA 検索インデックスのスキーマ・フィールドと構成要素の追加、削除、設定を行います。
SEARCH.COMMIT COMMIT SEARCH INDEX RAMバッファーから検索に適した別のオンヒープ・メモリーの場所に検索インデックスを移動します。
SEARCH.CREATE CREATE SEARCH INDEX 新しい検索インデックスを定義します。
SEARCH.DROP DROP SEARCH INDEX 検索インデックスを削除します。
SEARCH.REBUILD REBUILD SEARCH INDEX 検索インデックスのインデックスをリビルドします。
SEARCH.RELOAD RELOAD SEARCH INDEX 検索インデックスを再度読み込みます。

検索インデックス・パーミッションの付与/取り消し(GRANT/REVOKE)を行うための要件

検索インデックス・パーミッションを管理するロールは、検索インデックス・リソースに対してAUTHORIZEを持っている必要があります。
  • すべての検索インデックスのパーミッションを管理します。
    GRANT AUTHORIZE FOR permission_name
    ON ALL SEARCH INDICES 
    TO role_name;
  • パーミッションを制限して、個々のテーブルに対するパーミッションを管理します。
    GRANT AUTHORIZE FOR permission_name
    ON SEARCH INDEX [keyspace_name.]table_name 
    TO role_name;
注: スーパーユーザー・ロールには、すべてのアクションを実行するパーミッションがあります。このため、検索インデックス・リソースに対するパーミッションを明示的に付与する必要はありません。

手順

  • すべての検索インデックスへのアクセス権を設定します。
    GRANT ALL PERMISSIONS ON ALL SEARCH INDICES TO role_name;
  • アクセス権を特定のテーブルに制限します。
    GRANT ALL PERMISSIONS ON SEARCH INDEX [keyspace_name.]table_name) TO role_name;
  • 前に付与した、すべての検索インデックスへのアクセス権を削除します。
    REVOKE ALL PERMISSIONS ON ALL SEARCH INDICES FROM role_name;
  • 前に付与した、特定のテーブルへのアクセス権を削除します。
    REVOKE ALL PERMISSIONS ON SEARCH INDEX [keyspace_name.]table_name) FROM role_name;
  • 検索インデックスへのアクセス権を持つすべてのロールをリストします。
    LIST ALL PERMISSIONS ON (ALL SEARCH INDICES|[keyspace_name.]table_name);