SHOW CALLER GRANTS

制限された呼び出し元の権限を実装するために使用される、 呼び出し元許可 のリスト。

構文

SHOW CALLER GRANTS
{
{ ON <object_type> <object_name> | ON ACCOUNT }
| TO { ROLE | DATABASE ROLE }  <owner_name>
}
Copy

パラメーター

ON object_type object_name または . ON ACCOUNT

特定のオブジェクトの呼び出し元許可をリストするか、アカウントが関与するすべての呼び出し元許可をリストするかを指定します。

TABLEWAREHOUSE のように、 object_type の単数形を使用します。

TO ROLE <owner_name> または . TO DATABASE ROLE <owner_name>

実行可能所有者を指定し、その所有者に付与されているすべての呼び出し元許可をリストします。

出力

コマンドの出力には、オブジェクトのプロパティとメタデータを説明する以下の列が含まれます。

説明

created_on

呼び出し元許可が付与された日時。

privilege

grantee_name が所有する実行可能対象を実行できる権限。

granted_on

オブジェクトに直接付与されたか、その型のすべてのオブジェクトに付与されたかに関係なく、呼び出し元許可の対象となるオブジェクトの型。

name

呼び出し元許可が特定のオブジェクトに直接付与されている場合は、オブジェクト名を指定します。

is_inherited

TRUE の場合、呼び出し元許可は、 GRANT INHERITED CALLER または GRANT ALL INHERITED CALLER PRIVILEGES ステートメントを使用して、特定の型のオブジェクトすべてに付与されました。

FALSE の場合、呼び出し元許可は、 name オブジェクトに直接付与されました。

inherited_from

GRANT INHERITED CALLER または GRANT ALL INHERITED CALLER PRIVILEGES ステートメントを使用して、呼び出し元許可が特定の型のオブジェクトすべてに付与された場合は、付与されたレベルを示します。 ACCOUNT の1つ、 DATABASE、または SCHEMA

inherited_from_database

inherited_from がデータベース(アプリケーションまたはアプリケーションパッケージを含む)の場合は、データベース名を指定します。 inherited_from がスキーマの場合は、スキーマを含むデータベース名を指定します。

inherited_from_schema

inherited_from がスキーマの場合は、スキーマ名を指定します。

granted_to

呼び出し元許可が付与された実行可能所有者の型。 ROLE の1つ、または DATABASE ROLE

grantee_name

呼び出し元許可が付与された実行可能所有者の名前。

アクセス制御の要件

誰でも SHOW CALLER GRANTS TO ... コマンドを実行し、特定の実行可能所有者に付与された呼び出し元許可をリストすることができます。

SHOW CALLER GRANTS ON ...コマンドの実行には以下の権限が必要です。

権限

オブジェクト

メモ

任意の権限

指定されたオブジェクト

SHOW CALLER GRANTS コマンドで指定されたオブジェクトに対する権限が少なくとも1つ必要です。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

  • SHOW CALLER GRANTS ON ...ステートメントを実行すると、出力の異なる行が別のことを示す場合があります。たとえば、ある行では呼び出し元許可がオブジェクトに直接付与されたことを示し、別の行では GRANT ステートメントの IN 句でオブジェクトが指定されたことを示します。詳細については、 呼び出し元グラントのリスト をご参照ください。

  • ユーザーが SHOW CALLER GRANTS を実行すると、その結果には、そのユーザーが少なくとも1つの権限を持っているオブジェクトのみが含まれます。詳細については、 条件付き出力 をご参照ください。

  • このコマンドの出力を後処理するには、 RESULT_SCAN 関数を使用できます。この関数は、出力をクエリ可能なテーブルとして扱います。

テーブル t1 に付与されている呼び出し元グラントをリストします。

SHOW CALLER GRANTS ON TABLE t1;
Copy

現在のアカウントに付与されているすべての呼び出し元グラントをリストします。これには、アカウントに対する直接のグラント(GRANTCALLER ... ONACCOUNT)と、アカウント内のすべてのオブジェクトに対するグラント (GRANT INHERITED CALLER ... IN ACCOUNT) が含まれます。

SHOW CALLER GRANTS ON ACCOUNT;
Copy

データベースロール db.owner_role に付与されたすべての呼び出し元グラントをリストします。

SHOW CALLER GRANTS TO DATABASE ROLE db.owner_role;
Copy