例 - Amazon Redshift

次の例では、SALES テーブルに関する INSERT 権限を GUESTS ユーザーグループから取り消します。このコマンドを実行すると、GUESTS のメンバーは、INSERT コマンドを使って SALES テーブルにデータをロードすることができなくなります。

revoke insert on table sales from group guests;

次の例では、QA_TICKIT スキーマのすべてのテーブルに対する SELECT 権限をユーザー fred から取り消します。

revoke select on all tables in schema qa_tickit from fred;

次の例では、SELECT 権限をユーザー bobr のビューから取り消します。

revoke select on table eventview from bobr;

次の例では、TICKIT データベースで一時テーブルを作成する権限をすべてのユーザーから取り消します。

revoke temporary on database tickit from public;

次の例では、cust_profileテーブルの cust_name 列 と cust_phone 列に対する SELECT 権限をユーザー user1 から取り消します。

revoke select(cust_name, cust_phone) on cust_profile from user1;

次の例では、sales_groupグループから、cust_profileテーブルの cust_name 列と cust_phone 列に対する SELECT 権限と cust_contact_preference 列に対する UPDATE 権限を取り消します。

revoke select(cust_name, cust_phone), update(cust_contact_preference) on cust_profile from group sales_group;

次の例では、ALL キーワードを使用して、sales_adminグループ cust_profile テーブルの 3 つの列に対する SELECT 権限と UPDATE 権限の両方を取り消す方法を説明します。

revoke ALL(cust_name, cust_phone,cust_contact_preference) on cust_profile from group sales_admin;

次の例では、cust_profile_vwビューの cust_name 列に対する SELECT 権限を user2 ユーザーから取り消す方法を説明します。

revoke select(cust_name) on cust_profile_vw from user2;

データ共有経由で作成されたデータベースから USAGE アクセス許可を取り消す例

次の例では、13b8833d-17c6-4f16-8fe4-1a018f5ed00d 名前空間から salesshare データ共有へのアクセスを取り消します。

REVOKE USAGE ON DATASHARE salesshare FROM NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';

次の例では、sales_db に対する USAGE アクセス許可を Bob から取り消します。

REVOKE USAGE ON DATABASE sales_db FROM Bob;

次の例では、sales_schema に対する USAGE アクセス許可を Analyst_role から REVOKE します。

REVOKE USAGE ON SCHEMA sales_schema FROM ROLE Analyst_role;

スコープ付きアクセス許可を取り消す例

次の例では、Sales_db データベース内の現在および将来のすべてのスキーマの使用を Sales ロールから取り消します。

REVOKE USAGE FOR SCHEMAS IN DATABASE Sales_db FROM ROLE Sales;

次の例では、Sales_db データベース内の現在および将来のすべてのテーブルに対する SELECT アクセス許可をユーザー alice に付与する権限を取り消します。aliceSales_db 内のすべてのテーブルへのアクセスを保持します。

REVOKE GRANT OPTION SELECT FOR TABLES IN DATABASE Sales_db FROM alice;

次の例では、Sales_schema スキーマ内の関数の EXECUTE アクセス許可をユーザー bob から削除します。

REVOKE EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema FROM bob;

次の例では、ShareDb データベースの ShareSchema スキーマ内のすべてのテーブルに対するすべてのアクセス許可を Sales ロールから削除します。スキーマを指定するとき、2 つの部分からなる形式 database.schema を使用してスキーマのデータベースを指定することもできます。

REVOKE ALL FOR TABLES IN SCHEMA ShareDb.ShareSchema FROM ROLE Sales;

次の例では、前の例と同じです。2 つの部分からなる形式を使用する代わりに、DATABASE キーワードを使用してスキーマのデータベースを指定できます。

REVOKE ALL FOR TABLES IN SCHEMA ShareSchema DATABASE ShareDb FROM ROLE Sales;

AssumeROLE 権限を取り消す例

次に、ASSUMEROLE 権限を取り消す例を示します。

スーパーユーザーは、クラスターで次のステートメントを 1 回実行することによって、ユーザーおよびグループに対して ASSUMEROLE 権限の使用を有効にする必要があります。

revoke assumerole on all from public for all;

次のステートメントは、すべてのオペレーションのすべてのロールについて、ユーザー reg_user1 からの ASSUMEROLE 権限を取り消します。

revoke assumerole on all from reg_user1 for all;

ROLE 権限を取り消す例

次の例では、sample_role1 を sample_role2 から取り消します。

CREATE ROLE sample_role2; GRANT ROLE sample_role1 TO ROLE sample_role2; REVOKE ROLE sample_role1 FROM ROLE sample_role2;

次の例では、user1 からシステム権限を取り消します。

GRANT ROLE sys:DBA TO user1; REVOKE ROLE sys:DBA FROM user1;

次の例では、user1 から sample_role1 と sample_role2 を取り消します。

CREATE ROLE sample_role1; CREATE ROLE sample_role2; GRANT ROLE sample_role1, ROLE sample_role2 TO user1; REVOKE ROLE sample_role1, ROLE sample_role2 FROM user1;

次の例では、ADMIN OPTION を指定して user1 から sample_role2 を取り消します。

GRANT ROLE sample_role2 TO user1 WITH ADMIN OPTION; REVOKE ADMIN OPTION FOR ROLE sample_role2 FROM user1; REVOKE ROLE sample_role2 FROM user1;

次の例では、sample_role5 から sample_role1 と sample_role2 を取り消します。

CREATE ROLE sample_role5; GRANT ROLE sample_role1, ROLE sample_role2 TO ROLE sample_role5; REVOKE ROLE sample_role1, ROLE sample_role2 FROM ROLE sample_role5;

次の例では、sample_role1 のシステム権限、CREATE SCHEMA および DROP SCHEMA を取り消します。

GRANT CREATE SCHEMA, DROP SCHEMA TO ROLE sample_role1; REVOKE CREATE SCHEMA, DROP SCHEMA FROM ROLE sample_role1;