LIST PERMISSIONS

ユーザーに付与されたパーミッションをリストします。

ユーザーに付与されたパーミッションをリストします。

構文 

LIST permission_name PERMISSION |(LIST ALL PERMISSIONS)ON resource OF user_name NORECURSIVE

permission_nameは以下のいずれかです。

  • ALTER
  • AUTHORIZE
  • CREATE
  • DROP
  • MODIFY
  • SELECT

resourceは以下のいずれかです。

  • ALL KEYSPACES
  • KEYSPACE keyspace_name
  • TABLE keyspace_name.table_name

構文の凡例 

  • 大文字はリテラルを意味する
  • 小文字は、リテラルでないことを意味する
  • イタリック体は指定が任意であることを意味する
  • パイプ(|)記号はORまたはAND/ORを意味する
  • 省略記号(...)は繰り返し可能を意味する
  • 範囲記号「(」および「)」はリテラルではなく、範囲を示す

この構文には、CQL文の終了となるセミコロンは含まれていません。

説明 

パーミッション・チェックは再帰的です。NORECURSIVE指定子を省略した場合は、要求対象のリソースおよび階層のその親に対するパーミッションが示されます。

  • リソース名(ALL KEYSPACES、キースペース、またはテーブル)を省略すると、すべてのテーブルおよびすべてのキースペースのパーミッションがリストされます。
  • ユーザー名を省略すると、すべてのユーザーのパーミッションがリストされます。すべてのユーザーのパーミッションをリストするには、スーパーユーザーである必要があります。スーパーユーザーでない場合は、以下を追加する必要があります。
    OF <自分のユーザー名>
  • NORECURSIVE指定子を省略すると、リソースおよびその親リソースに対するパーミッションがリストされます。
  • ユーザー名に英数字以外の文字が含まれている場合のみ、ユーザー名を単一引用符で囲みます。

GRANTの例で、ユーザーを作成し、パーミッションを付与した後、リソースおよびその親に対してユーザーが持っているパーミッションをリストできます。

 

「例」の例を完了したと想定して、akersに付与されたすべてのパーミッションをリストします。

LIST ALL PERMISSIONS OF akers;

出力は以下のようになります。

username | resource | permission ----------+--------------------+------------ akers | <keyspace field> | MODIFY

すべてのユーザーに付与されたパーミッションをリストします。

LIST ALL PERMISSIONS;

出力は以下のようになります。

username | resource | permission ----------+----------------------+------------ akers | <keyspace field> | MODIFY boone | <keyspace forty9ers> | ALTER boone | <table ravens.plays> | CREATE boone | <table ravens.plays> | ALTER boone | <table ravens.plays> | DROP boone | <table ravens.plays> | SELECT boone | <table ravens.plays> | MODIFY boone | <table ravens.plays> | AUTHORIZE spillman | <all keyspaces> | SELECT

playsテーブルのすべてのパーミッションをリストします。

LIST ALL PERMISSIONS ON ravens.plays;

出力は以下のようになります。

username | resource | permission ----------+----------------------+------------ boone | <table ravens.plays> | CREATE boone | <table ravens.plays> | ALTER boone | <table ravens.plays> | DROP boone | <table ravens.plays> | SELECT boone | <table ravens.plays> | MODIFY boone | <table ravens.plays> | AUTHORIZE spillman | <all keyspaces> | SELECT

ravens.playsテーブルとその親に対するすべてのパーミッションをリストします。

出力は以下のようになります。

LIST ALL PERMISSIONS ON ravens.plays NORECURSIVE;
username | resource | permission ----------+----------------------+------------ boone | <table ravens.plays> | CREATE boone | <table ravens.plays> | ALTER boone | <table ravens.plays> | DROP boone | <table ravens.plays> | SELECT boone | <table ravens.plays> | MODIFY boone | <table ravens.plays> | AUTHORIZE