PG_GET_IAM_ROLE_BY_USER - Amazon Redshift

PG_GET_IAM_ROLE_BY_USER

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

语法

pg_get_iam_role_by_user('name')

参数

名称

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

返回类型

VARCHAR

使用说明

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

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

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

示例

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

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