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

HAS_ASSUMEROLE_PRIVILEGE

如果用户具有指定 IAM 角色并且具有运行指定命令的权限,则该函数返回布尔值 true (t),如果用户没有具有运行指定命令的权限的指定 IAM 角色,则该函数返回 false (f)。有关权限的更多信息,请参阅 GRANT

Syntax

has_assumerole_privilege( [ user, ] iam_role_arn, cmd_type)

Arguments

user

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

iam_role_arn

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

cmd_type

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

  • COPY

  • UNLOAD

  • EXTERNAL FUNCTION

  • CREATE MODEL

返回类型

BOOLEAN

Example

以下查询确认用户 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)