PG_GET_IAM_ROLE_BY_USER - Amazon Redshift

Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del 1 de noviembre de 2025. Si desea utilizar las UDF de Python, créelas antes de esa fecha. Las UDF de Python existentes seguirán funcionando con normalidad. Para obtener más información, consulte la publicación del blog.

PG_GET_IAM_ROLE_BY_USER

Devuelve todos los roles de IAM y los privilegios de comando otorgados a un usuario.

Sintaxis

pg_get_iam_role_by_user('name')

Argumentos

nombre

El nombre del usuario al que se devuelven los roles de IAM.

Tipo de retorno

VARCHAR

Notas de uso

La función PG_GET_IAM_ROLE_BY_USER devuelve una fila por cada conjunto de roles y privilegios de comando. La fila contiene una lista separada por comas con el nombre de usuario, el rol de IAM y el comando.

Un valor default en el resultado indica que el usuario puede especificar cualquier rol disponible para ejecutar el comando mostrado.

Debe ser un superusuario para utilizar esta función.

Ejemplo

En el siguiente ejemplo, se indica que el usuario reg_user1 puede especificar cualquier rol de IAM disponible para realizar operaciones COPY. El usuario también puede especificar el rol Redshift-S3-Write para las operaciones UNLOAD.

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)

En el siguiente ejemplo de la función PG_GET_IAM_ROLE_BY_USER, el resultado recibe el formato de tabla.

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