PG_GET_SESSION_ROLES
Retorna os perfis de sessão do usuário conectado no momento. Os perfis de sessão de um usuário são os grupos definidos por um provedor de identidades (IdP) para o usuário conectado. Por exemplo, um provedor de identidades (IdP) como Microsoft Azure Active Directory (Azure AD)
Para visualizar os perfis definidos no catálogo do Amazon Redshift, consulte a visualização do sistema SVV_ROLES.
Sintaxe
pg_get_session_roles()
Tipo de retorno
Um conjunto de linhas que consiste em dois valores. O primeiro valor tem duas partes separadas por dois-pontos (:) que contém um idp-namespace:role-name
. O idp-namespace
é o namespace do provedor de identidades (IdP). O role-name
é o nome do grupo externo no provedor de identidades (IdP). O segundo valor contém um role-id
, que é o identificador do perfil.
Observações de uso
A função PG_GET_SESSION_ROLES
retorna uma linha para cada perfil de sessão retornado.
Exemplos
O exemplo a seguir retorna uma linha para cada perfil do IdP do Azure Active Directory. As colunas retornadas são transmitidas para sess_roles
com colunas name
e roleid
. Cada name
consiste no namespace do Azure Active Directory e em um nome de grupo no Azure Active Directory.
SELECT * FROM pg_get_session_roles() AS sess_roles(name name, roleid integer);
name roleid -------------------------------- my_aad:test_group_1 106204 my_aad:test_group_2 106205 my_aad:test_group_3 106206 my_aad:test_group_4 106207 my_aad:test_group_5 106208
O exemplo a seguir retorna uma linha para cada grupo do IAM do qual o usuário do IAM conectado no momento é membro. As colunas retornadas são transmitidas para sess_roles
com colunas name
e roleid
. Cada name
consiste no namespace do IAM e no nome do grupo do IAM.
SELECT * FROM pg_get_session_roles() AS sess_roles(name name, roleid integer);
name roleid -------------------------------- IAM:myGroup 110332