SHOW ROLES¶
システム定義のロールや存在するカスタムロールなど、アカウント全体で表示できるすべてのロールをリストします。
重要
Snowflakeでは、ユーザーがロールを一覧表示できます。ただし、ロールをリストする機能は、ロールの使用とは同じではありません。ロールの名前を知っていても、追加のアクセスは許可されません。
これは、随意アクセス制御およびロールベースアクセス制御の一部です。詳細については、 アクセス制御の概要 をご参照ください。
- こちらもご参照ください。
構文¶
SHOW [ TERSE ] ROLES
  [ LIKE '<pattern>' ]
  [ IN CLASS <class_name> ]
  [ STARTS WITH '<name_string>']
  [ LIMIT <rows> [ FROM '<name_string>' ] ]
パラメーター¶
- TERSE
- 列のサブセットのみを返します。 - is_default
- コマンドの実行に使用されるロールがユーザーの既定のロールであるかどうかを指定します。 
- is_current
- コマンドの実行に使用されるロールがユーザーの現在のロールであるかどうかを指定します。 
- is_inherited
- コマンドの実行に使用されるロールが指定されたロールを継承するかどうかを指定します。 
 
- LIKE 'pattern'
- オプションで、オブジェクト名でコマンド出力をフィルタリングします。フィルターは、 SQL ワイルドカード文字( - %および- _)をサポートする、 大文字と小文字を区別しない パターンマッチングを使用します。- たとえば、次のパターンは 同じ 結果を返します。 - ... LIKE '%testing%' ...- ... LIKE '%TESTING%' ...- . デフォルト: 値なし(フィルタリングは出力に非適用)。 
- IN CLASS class_name
- 指定したクラス( - class_name)の記録を返します。
- STARTS WITH 'name_string'
- オプションで、オブジェクト名の先頭に表示される文字に基づいてコマンド出力をフィルタリングします。文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します。 - たとえば、次の文字列は 異なる 結果を返します。 - ... STARTS WITH 'B' ...- ... STARTS WITH 'b' ...- . デフォルト: 値なし(フィルターは出力に適用されない) 
- LIMIT rows [ FROM 'name_string' ]
- オプションで、返される行の最大数を制限すると同時に、結果の「ページネーション」を有効にします。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。 - オプションの - FROM 'name_string'サブ句は、結果の「カーソル」として効果的に機能します。これにより、指定された文字列と一致するオブジェクト名を持つ最初の行に続く指定された行数を取得できます。- 文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します。 
- 文字列に完全なオブジェクト名を含める必要はありません。部分的な名前がサポートされています。 
 - デフォルト:値なし(出力に制限は適用されない) - 注釈 - FROM 'name_string'句と- STARTS WITH 'name_string'句の両方をサポートする SHOW コマンドの場合、同じステートメントでこれらの両方の句を組み合わせることができます。ただし、両方の条件を満たしている必要があります。そうでない場合、互いにキャンセルされ、結果が返されません。- さらに、オブジェクトは名前の辞書式順序で返されるため、 - FROM 'name_string'は、- STARTS WITH 'name_string'によって返される行よりも辞書式の値が大きい行のみを返します。- 例: - ... STARTS WITH 'A' LIMIT ... FROM 'B'は結果を返しません。
- ... STARTS WITH 'B' LIMIT ... FROM 'A'は結果を返しません。
- ... STARTS WITH 'A' LIMIT ... FROM 'AB'は結果を返します(入力文字列に一致する行がある場合)。
 
使用上の注意¶
- CLASSを指定すると、以下の列のみが返されます。- | created_on | name | comment |
- このコマンドの実行には、稼働中のウェアハウスは必要ありません。 
- このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。 
- MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。 
- このコマンドの出力を後処理するには、 パイプ演算子 ( - ->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。- このコマンドの出力列名は小文字で生成されます。パイプ演算子または でこのコマンドの結果セットを消費する場合 RESULT_SCAN 関数の場合は、を使用します 二重引用符で囲まれた識別子 クエリの列名に を使用し、スキャンされた出力の列名と一致するようにします。たとえば、出力列の名前が次の場合 - type``次に を指定します ``"type"識別子用。
例¶
すべてのロールを表示:
SHOW ROLES;---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+ created_on | name | is_default | is_current | is_inherited | assigned_to_users | granted_to_roles | granted_roles | owner | comment | ---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+ Fri, 05 Dec 2014 16:25:06 -0800 | ACCOUNTADMIN | Y | Y | N | 1 | 0 | 2 | | | Mon, 15 Dec 2014 17:58:33 -0800 | ANALYST | N | N | N | 0 | 6 | 0 | SECURITYADMIN | Data analyst | Fri, 05 Dec 2014 16:25:06 -0800 | PUBLIC | N | N | Y | 0 | 0 | 0 | | | Fri, 05 Dec 2014 16:25:06 -0800 | SECURITYADMIN | N | N | Y | 0 | 1 | 0 | | | Fri, 05 Dec 2014 16:25:06 -0800 | SYSADMIN | N | N | Y | 5 | 1 | 2 | | | ---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+
この例では:
- ACCOUNTADMIN システム定義のロールは、現在の(つまりログインしている)ユーザーの現在のロールと既定のロールです。 
- 4つのシステム定義のロールに加えて、1つのカスタムロール(ANALYST)が作成されました。ロールは、SECURITYADMIN システム定義ロールによって所有されています。 
my_role2 という最初のロールの後に、アカウントにあるアカウントロールを最大10個返します。
SHOW ROLES LIMIT 10 FROM 'my_role2';