SHOW CALLER GRANTS¶
制限された呼び出し元の権限を実装するために使用される、 呼び出し元許可 のリスト。
構文¶
SHOW CALLER GRANTS
{
{ ON <object_type> <object_name> | ON ACCOUNT }
| TO { ROLE | DATABASE ROLE } <owner_name>
}
パラメーター¶
ON object_type object_nameまたは .ON ACCOUNT特定のオブジェクトの呼び出し元許可をリストするか、アカウントが関与するすべての呼び出し元許可をリストするかを指定します。
TABLEやWAREHOUSEのように、object_typeの単数形を使用します。TO ROLE <owner_name>または .TO DATABASE ROLE <owner_name>実行可能所有者を指定し、その所有者に付与されているすべての呼び出し元許可をリストします。
出力¶
コマンドの出力には、オブジェクトのプロパティとメタデータを説明する以下の列が含まれます。
列 |
説明 |
|---|---|
|
呼び出し元許可が付与された日時。 |
|
|
|
オブジェクトに直接付与されたか、その型のすべてのオブジェクトに付与されたかに関係なく、呼び出し元許可の対象となるオブジェクトの型。 |
|
呼び出し元許可が特定のオブジェクトに直接付与されている場合は、オブジェクト名を指定します。 |
|
|
|
GRANT INHERITED CALLER または GRANT ALL INHERITED CALLER PRIVILEGES ステートメントを使用して、呼び出し元許可が特定の型のオブジェクトすべてに付与された場合は、付与されたレベルを示します。 |
|
|
|
|
|
呼び出し元許可が付与された実行可能所有者の型。 |
|
呼び出し元許可が付与された実行可能所有者の名前。 |
アクセス制御の要件¶
誰でも SHOW CALLER GRANTS TO ... コマンドを実行し、特定の実行可能所有者に付与された呼び出し元許可をリストすることができます。
SHOW CALLER GRANTS ON ...コマンドの実行には以下の権限が必要です。
権限 |
オブジェクト |
注意 |
|---|---|---|
任意の権限 |
指定されたオブジェクト |
SHOW CALLER GRANTS コマンドで指定されたオブジェクトに対する権限が少なくとも1つ必要です。 |
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
使用上の注意¶
SHOW CALLER GRANTS ON ...ステートメントを実行すると、出力の異なる行が別のことを示す場合があります。たとえば、ある行では呼び出し元許可がオブジェクトに直接付与されたことを示し、別の行では GRANT ステートメントの IN 句でオブジェクトが指定されたことを示します。詳細については、 呼び出し元グラントのリスト をご参照ください。
ユーザーが SHOW CALLER GRANTS を実行すると、その結果には、そのユーザーが少なくとも1つの権限を持っているオブジェクトのみが含まれます。詳細については、 条件付き出力 をご参照ください。
このコマンドの実行には、稼働中のウェアハウスは必要ありません。
このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。
MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。
このコマンドの出力を後処理するには、 パイプ演算子 (
->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.
When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column
type, specifySELECT "type".You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.
例¶
テーブル t1 に付与されている呼び出し元グラントをリストします。
SHOW CALLER GRANTS ON TABLE t1;
現在のアカウントに付与されているすべての呼び出し元グラントをリストします。これには、アカウントに対する直接のグラント(GRANTCALLER ... ONACCOUNT)と、アカウント内のすべてのオブジェクトに対するグラント (GRANT INHERITED CALLER ... IN ACCOUNT) が含まれます。
SHOW CALLER GRANTS ON ACCOUNT;
データベースロール db.owner_role に付与されたすべての呼び出し元グラントをリストします。
SHOW CALLER GRANTS TO DATABASE ROLE db.owner_role;