LIST PERMISSIONS

リソースのパーミッションをリストします。

パーミッションのリスト。リソースおよび/またはロールのフィルター・リスト。
制約事項:
  • すべてのパーミッションをリストできるのはスーパーユーザーだけです。
  • ターゲット・リソースおよびロールに対するDESCRIBEパーミッションが必要です。

構文

LIST ( ALL PERMISSIONS | permission_list )
  [ ON resource_name ]
  [ OF role_name ] 
  [ NORECURSIVE ] ;
ヒント: ON resource_nameを省略すると関連したすべてのリソースが表示され、OF role_nameを省略するとすべてのロール・パーミッションが表示されます。
1. 凡例
構文規則 説明
大文字 リテラル・キーワード。
小文字 リテラル以外。
イタリック体 変数値。ユーザー定義値と置き換えます。
[] 任意。角かっこ( [] )で任意指定のコマンド引数を囲みます。角かっこは入力しないでください。
( ) グループ。丸かっこ(( ))は、選択肢を含むグループを示します。丸かっこは入力しないでください。
| または。縦棒( | )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。
... 繰り返し可能。省略記号(...)は、構文要素を必要な回数だけ繰り返すことができることを示します。
'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またはALTERAUTHORIZE [FOR permission_list]CREATEDESCRIBEDROPMODIFY、およびSELECT
  • 関数(および集計) - ALL PERMISSIONSまたはALTERAUTHORIZE [FOR permission_list]CREATE、およびDROP
  • 検索インデックス - AUTHORIZE [FOR permission_list]SEARCH.ALTERSEARCH.COMMITSEARCH.CREATESEARCH.DROPSEARCH.REBUILD、およびSEARCH.RELOAD
  • ロール - ALL PERMISSIONSまたはALTERAUTHORIZE [FOR permission_list]CREATEDESCRIBEDROPPROXY.EXECUTE、およびPROXY.LOGIN
  • JMX (MBeans) - ALL PERMISSIONSまたはAUTHORIZE [FOR permission_list]DESCRIBEEXECUTEMODIFY、およびSELECT
  • リモート・プロシージャ・コール(RPC) - ALL PERMISSIONSまたはAUTHORIZE [FOR permission_list]EXECUTEMODIFY、および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 FUNCTIONSALL 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
role_name
ロールを選択します。ロール名に大文字や特殊文字が使用されている場合は、単一引用符で囲みます。
NORECURSIVE

ロールに付与されたパーミッションのみが表示されます。デフォルトでは、パーミッション・チェックは再帰的で、直接のパーミッションと継承されたパーミッションが表示されます。

リスト出力

listコマンドは、以下の情報を表示します。
list all permissions of role1;

 role  | username | resource           | permission | granted | restricted | grantable
-------+----------+--------------------+------------+---------+------------+-----------
 role1 |    role1 | <keyspace cycling> |       DROP |   False |       True |      True
 role1 |    role1 | <keyspace cycling> |  AUTHORIZE |    True |       True |     False
 role2 |    role2 | <keyspace cycling> |     CREATE |    True |      False |     False
 role3 |    role3 | <keyspace cycling> |       DROP |   False |      False |      True
 role3 |    role3 | <keyspace cycling> |     MODIFY |    True |      False |     False

(5 rows)
出力カラム
ロール
パーミッションが付与または承認されたロールの名前。
username
ロールがレガシー・ユーザー・アカウントと関連付けられている場合は、ユーザー名が表示され、それ以外の場合は、ロール名が表示されます。
resource
リソース名は山かっこで囲まれます。
permission
パーミッションの名前。
ヒント: ALL PERMISSIONSが使用されると、リソースに関連付けられている各パーミッションのタイプが付与されます。
granted
  • True - permissionによってに付与されたコマンドがresourceに対して実行されます。AUTHORIZEが指定され、grantedがTrueの場合、ロールを持つユーザーは、リソースに対して付与された他のパーミッションを他のロールに付与できます。
  • False - ユーザーはpermissionコマンドを実行できません。
restricted
  • True - grantedがTrueの場合でも、リソースに対するパーミッションに関連付けられているコマンドの実行が拒否されます。grantableがTrueの場合は、ロールを持つユーザーは自分のロール以外のロールを承認できます。
  • False - ユーザーは、grantedがTrueであるコマンドを実行できます。
grantable
  • True - 自分のロール以外の別のロールのresourceに対してpermissionを付与または取り消すことができます。
  • False - permissionにAUTHORIZEが付与されていません。

すべてのロールとリソースに対するすべてのパーミッション

すべてのリソースですべてのロールに付与されているパーミッションをリストします。
LIST ALL PERMISSIONS;

個別のロール・パーミッション

samに付与されているすべてのパーミッションをリストします。
LIST ALL PERMISSIONS OF sam;
出力は以下のようになります。
 role | username | resource           | permission | granted | restricted | grantable
------+----------+--------------------+------------+---------+------------+-----------
  sam |      sam | <keyspace cycling> |     SELECT |   False |      False |      True
  sam |      sam | <keyspace cycling> |     MODIFY |   False |      False |      True

(2 rows)

リソースに対するすべてのパーミッション

cyclist_nameテーブルに対するすべてのパーミッションをリストします。
LIST ALL PERMISSIONS ON cycling.cyclist_name;
出力は以下のようになります。
 role            | username        | resource           | permission | granted | restricted | grantable
-----------------+-----------------+--------------------+------------+---------+------------+-----------
           coach |           coach | <keyspace cycling> |      ALTER |    True |      False |     False
           coach |           coach | <keyspace cycling> |     SELECT |    True |      False |     False
           coach |           coach | <keyspace cycling> |     MODIFY |    True |      False |     False
   cycling_admin |   cycling_admin | <keyspace cycling> |     CREATE |    True |      False |     False
   cycling_admin |   cycling_admin | <keyspace cycling> |      ALTER |    True |      False |     False
   cycling_admin |   cycling_admin | <keyspace cycling> |       DROP |    True |      False |     False
   cycling_admin |   cycling_admin | <keyspace cycling> |     SELECT |    True |      False |     False
   cycling_admin |   cycling_admin | <keyspace cycling> |     MODIFY |    True |      False |     False
   cycling_admin |   cycling_admin | <keyspace cycling> |  AUTHORIZE |    True |      False |     False
   cycling_admin |   cycling_admin | <keyspace cycling> |   DESCRIBE |    True |      False |     False
 cycling_analyst | cycling_analyst | <keyspace cycling> |     SELECT |    True |      False |     False
        dantest1 |        dantest1 | <keyspace cycling> |  AUTHORIZE |    True |      False |     False
        db_admin |        db_admin | <keyspace cycling> |     SELECT |   False |       True |     False
        db_admin |        db_admin | <keyspace cycling> |     MODIFY |   False |       True |     False
          martin |          martin |    <all keyspaces> |     CREATE |   False |       True |     False
          martin |          martin | <keyspace cycling> |     CREATE |    True |      False |     False
      role_admin |      role_admin | <keyspace cycling> |     SELECT |   False |       True |     False
      role_admin |      role_admin | <keyspace cycling> |     MODIFY |   False |       True |     False
             sam |             sam | <keyspace cycling> |     SELECT |   False |      False |      True
             sam |             sam | <keyspace cycling> |     MODIFY |   False |      False |      True
    team_manager |    team_manager | <keyspace cycling> |     MODIFY |    True |      False |     False

(21 rows)