PG_GET_IAM_ROLE_BY_USER - Amazon Redshift

PG_GET_IAM_ROLE_BY_USER

ユーザーに付与されたすべての IAM ロールとコマンド権限を返します。

構文

pg_get_iam_role_by_user('name')

引数

name

IAM ロールを返すユーザーの名前。

戻り型

VARCHAR

使用に関する注意事項

PG_GET_IAM_ROLE_BY_USER 関数は、ロールとコマンド権限のセットごとに、行を 1 つ返します。行には、ユーザー名、IAM ロール、コマンドを含むコンマ区切りのリストが含まれています。

結果の値 default は、表示されたコマンドを実行するためにユーザーが使用できる任意のロールを指定できることを示します。

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

次の例では、ユーザー reg_user1 が COPY オペレーションを実行するために使用できる IAM ロールを指定できます。ユーザーは、UNLOAD オペレーションの Redshift-S3-Write ロールを指定することもできます。

select pg_get_iam_role_by_user('reg_user1');
pg_get_iam_role_by_user --------------------------------------------------------------------------------- (reg_user1,default,COPY) (reg_user1,arn:aws:iam::123456789012:role/Redshift-S3-Write,COPY|UNLOAD)

次の PG_GET_IAM_ROLE_BY_USER 関数の例では、結果をテーブルとしてフォーマットします。

select username, iam_role, cmd FROM pg_get_iam_role_by_user('reg_user1') res_iam_role(username text, iam_role text, cmd text);
username | iam_role | cmd -----------+-------------------------------------------------+------ reg_user1 | default | None reg_user1 | arn:aws:iam::123456789012:role/Redshift-S3-Read | COPY