PG_GET_SESSION_ROLES - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

PG_GET_SESSION_ROLES

Restituisce i ruoli di sessione dell'utente attualmente connesso. I ruoli di sessione di un utente sono i gruppi definiti da un gestore dell'identità digitale per l'utente che ha effettuato l'accesso. Ad esempio, un gestore dell'identità digitale comeMicrosoft Azure Active Directory (Azure AD) verifica l'identità dell'utente e fornisce gli eventuali gruppi esterni di cui l'utente fa parte durante il processo di accesso dell'utente. Questi gruppi esterni vengono trasformati in ruoli Amazon Redshift e sono disponibili durante la sessione corrente. Questi ruoli sono chiamati ruoli di sessione. Un amministratore può concedere privilegi a un ruolo di sessione simili ad altri ruoli di Amazon Redshift. Per ulteriori informazioni sull'uso dei ruoli, consulta Controllo accessi basato sui ruoli (RBAC). Per informazioni sulla gestione delle identità con un gestore dell'identità digitale, consulta Native identity provider (IdP) federation for Amazon Redshift (Federazione di provider di identità nativi (IdP) per Amazon Redshift) nella Guida alla gestione di Amazon Redshift.

Per visualizzare i ruoli definiti nel catalogo di Amazon Redshift, esegui query sulla vista di sistema SVV_ROLES.

Sintassi

pg_get_session_roles()

Tipo restituito

Un set di righe composto da due valori. Il primo valore è composto da due parti separate da due punti (:) che contiene un idp-namespace:role-name. idp-namespace è lo spazio dei nomi del gestore dell'identità digitale. role-name è il nome del gruppo esterno nel gestore dell'identità digitale. Il secondo valore contiene un role-id che è l'identificatore del ruolo.

Note per l'utilizzo

La funzione PG_GET_SESSION_ROLES restituisce una riga per ogni ruolo di sessione restituito.

Esempi

L'esempio seguente restituisce una riga per ogni ruolo dall'IdP di Azure Active Directory. Le colonne restituite vengono convertite in sess_roles con colonne name e roleid. Ciascun name è costituito dallo spazio dei nomi di Azure Active Directory e da un nome di gruppo in 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

L'esempio seguente restituisce una riga per ogni gruppo IAM di cui l'utente IAM attualmente connesso è membro. Le colonne restituite vengono convertite in sess_roles con colonne name e roleid. Ciascun name è costituito dallo spazio dei nomi IAM e dal nome del gruppo IAM.

SELECT * FROM pg_get_session_roles() AS sess_roles(name name, roleid integer); name roleid -------------------------------- IAM:myGroup 110332