例
次の例では、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
に付与する権限を取り消します。alice
は Sales_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;