使用说明 - Amazon Redshift
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用说明

要撤消对象的权限,您必须满足下列条件之一:

  • 是对象所有者。

  • 是超级用户。

  • 拥有该对象和权限的授予权限。

    例如,以下命令使用户 HR 能够对 employees 表执行 SELECT 命令并对其他用户授予和撤销相同的权限。

    grant select on table employees to HR with grant option;

    HR 无法撤销 SELECT 之外的任何操作的权限或 employees 表之外的任何其他表的权限。

超级用户可以访问所有对象,不管设置对象权限的 GRANT 和 REVOKE 命令如何。

PUBLIC 表示一个始终包含所有用户的组。默认情况下,PUBLIC 的所有成员都对 PUBLIC schema 具有 CREATE 和 USAGE 权限。要限制任何用户对 PUBLIC schema 的权限,您必须首先从 PUBLIC 撤销对 PUBLIC schema 的所有权限,然后向特定用户或组授予权限。以下示例控制 PUBLIC schema 中的表创建权限。

revoke create on schema public from public;

要从 Lake Formation 表撤销权限,与表的外部架构关联的 IAM 角色必须有权撤销对外部表的权限。以下示例创建具有关联的 IAM 角色 的外部架构myGrantor。 IAM 角色myGrantor有权撤销其他角色的权限。REVOKE 命令使用与外部架构关联的 IAM 角色 myGrantor 的权限来撤销对 IAM 角色 myGrantee. 的权限。

create external schema mySchema from data catalog database 'spectrum_db' iam_role 'arn:aws:iam::123456789012:role/myGrantor' create external database if not exists;
revoke select on external table mySchema.mytable from iam_role 'arn:aws:iam::123456789012:role/myGrantee';
注意

如果 IAM 角色在为 ALL 启用的 AWS Glue 数据目录 中也有 Lake Formation 权限,则不会撤销 ALL 权限。只撤销 SELECT 权限。您可以在 Lake Formation 控制台中查看 Lake Formation 权限。

撤消 SUSEROLE 权限的使用说明

以下使用说明适用于撤消 中的 ASSUMERROLE 权限Amazon Redshift。

只有数据库超级用户可以撤消用户和组的 ASSUMEROLE 权限。超级用户始终保留 SUSEROLE 权限。

要允许对用户和组使用 ASSUMEROLE 权限,超级用户在集群上运行以下语句一次。在向用户和组授予 ASSUSEROLE 权限之前,超级用户必须对集群运行以下语句一次。

revoke assumerole on all from public for all;