PG_GET_GRANTEE_BY_IAM_ROLE - Amazon Redshift

PG_GET_GRANTEE_BY_IAM_ROLE

指定された IAM ロールを付与されたすべてのユーザーとグループを返します。

構文

pg_get_grantee_by_iam_role('iam_role_arn')

引数

iam_role_arn

このロールを付与されたユーザーとグループを返す IAM ロール。

戻り型

VARCHAR

使用に関する注意事項

PG_GET_GRANTEE_BY_IAM_ROLE 関数は、ユーザーまたはグループごとに、行を 1 つ返します。各行には、被付与者名、被付与者のタイプ、および付与された権限が含まれます。被付与者タイプに指定できる値は、パブリックの場合は p、ユーザーの場合は u、グループの場合は g です。

この機能を使用するには、スーパーユーザーである必要があります。

次の例は、IAM ロール Redshift-S3-Writegroup1reg_user1 に付与されていることを示しています。group_1 のユーザーは COPY オペレーションに対してのみロールを指定でき、ユーザー 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_GRANTEE_BY_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