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