本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 角色授予 group1
和 reg_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