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

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

PG_GET_IAM_ROLE_BY_USER

返回授予用户的所有 IAM 角色和命令权限。

Syntax

pg_get_iam_role_by_user('name')

Arguments

name

要为其返回 IAM 角色的用户的名称。

返回类型

VARCHAR

使用说明

PG_GET_IAM_ROLE_BY_USER 函数为每组角色和命令权限返回一行。该行包含一个逗号分隔的列表,其中包含用户名、IAM 角色和命令。

结果default中的 值表示用户可以指定任何可用的 角色来执行显示的命令。

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

Example

以下示例指示reg_user1用户可以指定任何可用的 IAM 角色来执行 COPY 操作。用户还可以为 UNLOAD 操作指定 Redshift-S3-Write 角色。

select pg_get_iam_role_by_user('reg_user1');
pg_get_iam_role_by_user --------------------------------------------------------------------------------- (reg_user1,default,COPY) (reg_user1,arn:aws:iam::123456789012:role/Redshift-S3-Write,COPY|UNLOAD)

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

select username, iam_role, cmd FROM pg_get_iam_role_by_user('reg_user1') res_iam_role(username text, iam_role text, cmd text);
username | iam_role | cmd -----------+-------------------------------------------------+------ reg_user1 | default | None reg_user1 | arn:aws:iam::123456789012:role/Redshift-S3-Read | COPY