REVOKE CALLER¶
呼び出し元許可 を使用して実行可能所有者に付与された権限を取り消します。
REVOKE CALLER コマンドのバリエーションは以下のとおりです。
REVOKE CALLER --- 特定のオブジェクトの特定の権限を取り消します。
REVOKE ALL CALLER PRIVILEGES --- 特定のオブジェクトのすべての権限を取り消します。実行ファイルがオブジェクトにアクセスしようとしても、呼び出し元の権限では実行できません。
REVOKE INHERITED CALLER --- スキーマ、データベース、アカウントを共有している場合、同じタイプの現在および将来のオブジェクトすべてについて、呼び出し元グラントを取り消します。指定されたリストの権限のみが取り消されます。
REVOKE ALL INHERITED CALLER PRIVILEGES --- スキーマ、データベース、アカウントを共有している場合、同じタイプの現在および将来のオブジェクトすべてについて、呼び出し元グラントを取り消します。すべての権限が取り消され、実行ファイルは呼び出し元の権限では実行できなくなります。
構文¶
REVOKE CALLER <object_privilege> [ , <object_privilege> ... ]
ON <object_type> <object_name>
FROM { ROLE | DATABASE ROLE } <grantee_name>
REVOKE ALL CALLER PRIVILEGES
ON <object_type> <object_name>
FROM { ROLE | DATABASE ROLE } <grantee_name>
REVOKE INHERITED CALLER <object_privilege> [ , <object_privilege> ... ]
ON ALL <object_type_plural>
IN { ACCOUNT | DATABASE <db_name> | SCHEMA <schema_name> | APPLICATION <app_name> | APPLICATION PACKAGE <app_pkg_name> }
FROM { ROLE | DATABASE ROLE } <grantee_name>
REVOKE ALL INHERITED CALLER PRIVILEGES
ON ALL <object_type_plural>
IN { ACCOUNT | DATABASE <db_name> | SCHEMA <schema_name> | APPLICATION <app_name> | APPLICATION PACKAGE <app_pkg_name> }
FROM { ROLE | DATABASE ROLE } <grantee_name>
パラメーター¶
object_privilege [ , object_privilege ... ]
取り消すオブジェクト権限。指定されたロールが所有する実行可能対象は、これらの権限では実行できなくなります。特定のオブジェクト型の権限リストについては、 アクセス制御権限 をご参照ください。
複数のオブジェクト権限を指定するには、コンマ区切りのリストを使用します。
ON object_type object_name
権限を取り消すオブジェクト(型を含む)。
TABLE
やWAREHOUSE
のように、object_type
の単数形を使用します。ON ALL object_type_plural IN ACCOUNT
または .ON ALL object_type_plural IN DATABASE db_name
または .ON ALL object_type_plural IN SCHEMA schema_name
または .ON ALL object_type_plural IN APPLICATION app_name
または .ON ALL object_type_plural IN APPLICATION PACKAGE app_pkg_name
特定の型の全オブジェクトに対する権限を取り消します。たとえば、
TABLES
やWAREHOUSES
のように、オブジェクト型の複数形を使います。REVOKE ステートメントを使用して、現在のアカウント内にあるすべてのオブジェクト、または指定したデータベース、スキーマ、アプリケーション、またはアプリケーションパッケージ内のオブジェクトへのアクセスを取り消すことができます。
FROM ROLE grantee_name
または .FROM DATABASE ROLE grantee_name
以前に呼び出し元許可を付与された実行可能所有者。
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
MANAGE CALLER GRANTS |
アカウント |
アカウントレベルの MANAGE CALLER GRANTS 権限は、呼び出し元許可にのみ関係します。ロールから権限を取り消すことはできません。 |
任意の権限 |
すべての指定オブジェクト |
REVOKE コマンドで指定されたオブジェクトに対して、少なくとも1つの権限が必要です。たとえば、あるテーブルの呼び出し元許可を取り消すには、そのテーブルに対して少なくとも1つの権限を持っている必要があります。 |
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
例¶
owner_role
が所有する実行可能ファイルが現在のアカウントの表示にアクセスする場合、呼び出し元の権限で実行できなくなりました。
REVOKE ALL INHERITED CALLER PRIVILEGES ON ALL VIEWS IN ACCOUNT FROM ROLE owner_role;
owner_role
が所有する実行ファイルが db.sch1
スキーマにアクセスする際、 USAGE 権限で実行できなくなりました。
REVOKE CALLER USAGE ON SCHEMA db.sch1 FROM ROLE owner_role;