本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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
-
已授予其访问权限的命令。有效值如下所示:
-
ALL
-
COPY
-
UNLOAD
-
返回类型
BOOLEAN
Example
以下查询确认用户对 reg_user1
角色Redshift-S3-Read
具有 权限以运行 COPY 命令。
select has_assumerole_privilege('reg_user1', 'arn:aws:iam::123456789012:role/Redshift-S3-Read', 'copy');
has_assumerole_privilege ------------------------ true (1 row)