RevokeRevoke
REVOKE
privilege_type [, privilege_type ] ...
ON (CATALOG | DATABASE <database-name> | TABLE <table-name> | VIEW <view-name> | FUNCTION <function-name> | ANONYMOUS FUNCTION | ANY FILE)
FROM principal
privilege_type
: SELECT | CREATE | MODIFY | READ_METADATA | CREATE_NAMED_FUNCTION | ALL PRIVILEGES
principal
: `<user>@<domain-name>` | <group-name>
オブジェクトに対して 明示的 に許可または拒否された特権をユーザーまたはプリンシパルから取り消します。Revoke an explicitly granted or denied privilege on an object from a user or principal. は、 REVOKE
コマンドで指定されたオブジェクトに厳密にスコープが設定され、含まれているオブジェクトにはカスケードされません。A REVOKE
is strictly scoped to the object specified in the command and does not cascade to contained objects.
すべてのユーザーから権限を取り消すには、の後にキーワードを指定し users
FROM
ます。To revoke a privilege from all users, specify the keyword users
after FROM
.
たとえば、テーブルとがあるデータベースがあるとし db
t1
t2
ます。For example, suppose there is a database db
with tables t1
and t2
. ユーザーは、最初におよびに対する権限を許可され SELECT
db
t1
ます。A user is initially granted SELECT
privileges on db
and on t1
. ユーザーは、データベースのによってにアクセスでき t2
GRANT
db
ます。The user can access t2
due to the GRANT
on the database db
.
管理者がの特権を取り消すと、ユーザーはにアクセスできなくなり SELECT
db
t2
ますが、 t1
テーブルに明示的なが存在するためにアクセス GRANT
できます t1
。If the administrator revokes the SELECT
privilege on db
, the user will no longer be able to access t2
, but will still be able to access t1
since there is an explicit GRANT
on table t1
.
代わりに、管理者がテーブルに対してを取り消すのに対し、データベース上のではテーブルに対する権限を暗黙的に使用するので、 SELECT
t1
SELECT
db
ユーザーはにアクセスできます t1
SELECT
db
t1
。If the administrator instead revokes the SELECT
on table t1
but still keeps the SELECT
on database db
, the user can still access t1
because the SELECT
on the database db
implicitly confers privileges on the table t1
.
使用例Examples
REVOKE ALL PRIVILEGES ON DATABASE default FROM `<user>@<domain-name>`
REVOKE SELECT ON <table-name> FROM `<user>@<domain-name>`