HAS_ASSUMEROLE_PRIVILEGE - Amazon Redshift

HAS_ASSUMEROLE_PRIVILEGE

如果指定用户具有指定 IAM 角色并具有运行指定命令的权限,则返回 Boolean truet)。如果用户不具有指定 IAM 角色但具有运行指定命令的权限,函数将返回 falsef)。有关权限的更多信息,请参阅 GRANT

语法

has_assumerole_privilege( [ user, ] iam_role_arn, cmd_type)

参数

用户

要接受 IAM 角色权限检查的用户名称。默认为检查当前用户。超级用户和用户可以使用此函数。但是,用户只能查看自己的权限。

iam_role_arn

已被授予命令权限的 IAM 角色。

cmd_type

已授予访问权限的命令。有效值如下所示:

  • COPY

  • UNLOAD

  • EXTERNAL FUNCTION

  • CREATE MODEL

返回类型

BOOLEAN

示例

以下查询确认用户 reg_user1 具有运行 COPY 命令的 Redshift-S3-Read 角色的权限。

select has_assumerole_privilege('reg_user1', 'arn:aws:iam::123456789012:role/Redshift-S3-Read', 'copy');
has_assumerole_privilege ------------------------ true (1 row)