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>
Copy

参数

object_privilege [ , object_privilege ... ]

要撤销的对象权限。指定角色拥有的可执行文件不能再以这些权限运行。有关特定对象类型的权限列表,请参阅 访问控制权限

使用以逗号分隔的列表指定多个对象权限。

ON object_type object_name

要撤销其权限的对象,包括其类型。使用 object_type 的单数形式,例如 TABLEWAREHOUSE

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

撤销特定类型的所有对象的权限。使用对象类型的复数形式,例如 TABLESWAREHOUSES

您可以使用 REVOKE 语句撤销对当前账户中所有对象的访问权限,或者仅撤销对指定数据库、架构、应用程序或应用程序包中对象的访问权限。

FROM ROLE grantee_name . FROM DATABASE ROLE grantee_name

以前被授予调用方权限的可执行文件所有者。

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限

权限

对象

备注

MANAGE CALLER GRANTS

账户

账户级 MANAGE CALLER GRANTS 权限仅涉及调用方授权。它不允许您撤销角色的权限。

任何权限

所有指定的对象

对于 REVOKE 命令中指定的对象,您至少需要拥有一项权限。例如,撤销表的调用方授权要求您至少拥有该表的一项权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

示例

owner_role 拥有的可执行文件在访问当前账户中的视图时,不能再以调用方的权限运行。

REVOKE ALL INHERITED CALLER PRIVILEGES ON ALL VIEWS IN ACCOUNT FROM ROLE owner_role;
Copy

owner_role 拥有的可执行文件在访问 db.sch1 架构时不能再以 USAGE 权限运行。

REVOKE CALLER USAGE ON SCHEMA db.sch1 FROM ROLE owner_role;
Copy
语言: 中文