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

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

PG_GET_GRANTEE_BY_IAM_ROLE

返回授予了指定 IAM 角色的所有用户和组。

Syntax

pg_get_grantee_by_iam_role('iam_role_arn')

Arguments

iam_role_arn

要为其返回已授予此角色的用户和组的 IAM 角色。

返回类型

VARCHAR

使用说明

PG_GET_GRANTE_BY_IAM_ROLE 函数为每个用户或组返回一行。每行都包含被授权者名称、被授权者类型和授予的权限。被授权者类型的可能值p包括:公有、u用户和g组。

您必须是超级用户才能使用此函数。

Example

以下示例指示Redshift-S3-Write将 IAM 角色授予 group1reg_user1。 中的用户只能为 COPY 操作group_1指定角色,并且reg_user1用户只能指定角色来执行 UNLOAD 操作。

select pg_get_grantee_by_iam_role('arn:aws:iam::123456789012:role/Redshift-S3-Write');
pg_get_grantee_by_iam_role ----------------------------- (group_1,g,COPY) (reg_user1,u,UNLOAD)

以下 PG_GET_GRANTEE_BY_IAM_ROLE 函数示例将结果格式化为表。

select grantee, grantee_type, cmd_type FROM pg_get_grantee_by_iam_role('arn:aws:iam::123456789012:role/Redshift-S3-Write') res_grantee(grantee text, grantee_type text, cmd_type text) ORDER BY 1,2,3;
grantee | grantee_type | cmd_type -----------+--------------+---------- group_1 | g | COPY reg_user1 | u | UNLOAD