PG_GET_IAM_ROLE_BY_USER - Amazon Redshift

PG_GET_IAM_ROLE_BY_USER

Returns all IAM roles and command privileges granted to a user.

Syntax

pg_get_iam_role_by_user('name')

Arguments

name

The name of the user for which to return IAM roles.

Return type

VARCHAR

Usage notes

The PG_GET_IAM_ROLE_BY_USER function returns one row for each set of roles and command privileges. The row contains a comma-separated list with the user name, IAM role, and command.

A value of default in the result indicates that the user can specify any available role to perform the displayed command.

You must be a superuser to use this function.

Example

The following example indicates that user reg_user1 can specify any available IAM role to perform COPY operations. The user can also specify the Redshift-S3-Write role for UNLOAD operations.

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)

The following example of the PG_GET_IAM_ROLE_BY_USER function formats the result as a table.

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