PG_GETGRANTEE_BY_IAM_ROLE - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

PG_GETGRANTEE_BY_IAM_ROLE

傳回授予指定IAM角色的所有使用者和群組。

語法

pg_get_grantee_by_iam_role('iam_role_arn')

引數

iam_role_arn

傳回已授予此IAM角色之使用者和群組的角色。

傳回類型

VARCHAR

使用須知

PG_GET_GRANTEE_BY_IAM_ ROLE函數會為每個使用者或群組傳回一列。每一列都包含承授者名稱、承授者類型和授與的權限。承授者類型的可能值為 p (代表公用)、u (代表使用者) 和 g (代表群組)。

您必須是超級使用者才能使用此函數。

範例

下列範例表示IAM角色Redshift-S3-Write已授予 group1reg_user1。中的使用者只能為COPY操作group_1指定角色,而使用者只能reg_user1指定角色以執行UNLOAD操作。

select pg_get_grantee_by_iam_role('arn:aws:iam::123456789012:role/Redshift-S3-Write');
pg_get_grantee_by_iam_role ----------------------------- (group_1,g,COPY) (reg_user1,u,UNLOAD)

下列 PG_GET_GRANTEEBY_IAM_ ROLE函數範例會將結果格式化為資料表。

select grantee, grantee_type, cmd_type FROM pg_get_grantee_by_iam_role('arn:aws:iam::123456789012:role/Redshift-S3-Write') res_grantee(grantee text, grantee_type text, cmd_type text) ORDER BY 1,2,3;
grantee | grantee_type | cmd_type -----------+--------------+---------- group_1 | g | COPY reg_user1 | u | UNLOAD