📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

REVOKE



特定のデータベースオブジェクトに対する権限、ロール、および所有権を取り消します。これには以下が含まれます。

  • ロールから権限を取り消す。
  • ユーザーまたは他のロールからロールを削除する。

関連情報:

構文

権限の取り消し

REVOKE { schemaObjectPrivileges | ALL [ PRIVILEGES ] ON <privileges_level> } FROM ROLE <role_name>

以下のとおりです。

schemaObjectPrivileges ::= -- For TABLE { SELECT | INSERT } -- For SCHEMA { CREATE | DROP | ALTER } -- For USER { CREATE USER } -- For ROLE { CREATE ROLE} -- For STAGE { READ, WRITE } -- For UDF { USAGE } -- For MASKING POLICY (account-level privileges) { CREATE MASKING POLICY | APPLY MASKING POLICY } -- For ROW ACCESS POLICY (account-level privileges) { CREATE ROW ACCESS POLICY | APPLY ROW ACCESS POLICY }
privileges_level ::= *.* | db_name.* | db_name.tbl_name | STAGE <stage_name> | UDF <udf_name> | MASKING POLICY <policy_name> | ROW ACCESS POLICY <policy_name>

マスキングポリシー権限の取り消し

REVOKE APPLY ON MASKING POLICY <policy_name> FROM ROLE <role_name> REVOKE ALL [ PRIVILEGES ] ON MASKING POLICY <policy_name> FROM ROLE <role_name> REVOKE OWNERSHIP ON MASKING POLICY <policy_name> FROM ROLE '<role_name>'

これらの形式を使用すると、個別のマスキングポリシーへのアクセスを削除できます。グローバルな CREATE MASKING POLICY および APPLY MASKING POLICY 権限は、ON *.* を使用した標準構文で取り消します。

行アクセスポリシー権限の取り消し

REVOKE APPLY ON ROW ACCESS POLICY <policy_name> FROM ROLE <role_name> REVOKE ALL [ PRIVILEGES ] ON ROW ACCESS POLICY <policy_name> FROM ROLE <role_name> REVOKE OWNERSHIP ON ROW ACCESS POLICY <policy_name> FROM ROLE '<role_name>'

これらの形式を使用すると、特定の行アクセスポリシーへのアクセスを取り消せます。グローバルな CREATE ROW ACCESS POLICY および APPLY ROW ACCESS POLICY 権限は、ON *.* に対する標準構文で取り消します。

ロールの取り消し

-- Revoke a role from a user REVOKE ROLE <role_name> FROM <user_name> -- Revoke a role from a role REVOKE ROLE <role_name> FROM ROLE <role_name>

例

例 1: ロールから権限を取り消す

ロールを作成します。

CREATE ROLE user1_role;

default データベース内の既存のすべてのテーブルに対する SELECT,INSERT 権限を、ロール user1_role に付与します。

GRANT SELECT,INSERT ON default.* TO ROLE user1_role;
SHOW GRANTS FOR ROLE user1_role; +---------------------------------------------------------+ | Grants | +---------------------------------------------------------+ | GRANT SELECT,INSERT ON 'default'.* TO ROLE 'user1_role' | +---------------------------------------------------------+

ロール user1_role から INSERT 権限を取り消します。

REVOKE INSERT ON default.* FROM ROLE user1_role;
SHOW GRANTS FOR ROLE user1_role; +---------------------------------------------------+ | Grants | +---------------------------------------------------+ | GRANT SELECT ON 'default'.* TO 'user1_role' | +---------------------------------------------------+

例 2: 別のロールから権限を取り消す

mydb データベース内の既存のすべてのテーブルに対する SELECT,INSERT 権限を、ロール role1 に付与します。

ロールを作成します。

CREATE ROLE role1;

ロールに権限を付与します。

GRANT SELECT,INSERT ON mydb.* TO ROLE role1;

ロールの付与内容を表示します。

SHOW GRANTS FOR ROLE role1; +--------------------------------------------+ | Grants | +--------------------------------------------+ | GRANT SELECT,INSERT ON 'mydb'.* TO 'role1' | +--------------------------------------------+

ロール role1 から INSERT 権限を取り消します。

REVOKE INSERT ON mydb.* FROM ROLE role1;
SHOW GRANTS FOR ROLE role1; +-------------------------------------+ | Grants | +-------------------------------------+ | GRANT SELECT ON 'mydb'.* TO 'role1' | +-------------------------------------+

例 3: ユーザーからロールを取り消す

REVOKE ROLE role1 FROM USER user1;
SHOW GRANTS FOR user1;

例 4: マスキングポリシー権限を取り消す

-- Remove per-policy access from a role REVOKE APPLY ON MASKING POLICY email_mask FROM ROLE pii_readers; -- Revoke the ability to create masking policies at the account level REVOKE CREATE MASKING POLICY ON *.* FROM ROLE security_admin;

例 5: 行アクセスポリシー権限を取り消す

-- Remove per-policy access from a role REVOKE APPLY ON ROW ACCESS POLICY rap_region FROM ROLE apac_only; -- Revoke the ability to create row access policies globally REVOKE CREATE ROW ACCESS POLICY ON *.* FROM ROLE row_policy_admin;

このページは役に立ちましたか?