HAS_ASSUMEROLE_PRIVILEGE
如果指定用户具有指定 IAM 角色并具有运行指定命令的权限,则返回 Boolean true
(t
)。如果用户不具有指定 IAM 角色但具有运行指定命令的权限,函数将返回 false
(f
)。有关权限的更多信息,请参阅 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)