PG_GET_SESSION_ROLES
현재 로그인한 사용자의 세션 역할을 반환합니다. 사용자의 세션 역할은 로그인한 사용자에 대해 ID 제공업체(iDP)가 정의한 그룹입니다. 예를 들어 Microsoft Azure Active Directory(Azure AD)
Amazon Redshift 카탈로그에 정의된 역할을 보려면 SVV_ROLES 시스템 뷰를 쿼리합니다.
구문
pg_get_session_roles()
반환 타입
두 개의 값으로 구성된 행 집합입니다. 첫 번째 값은 콜론(:)으로 구분된 두 부분으로 구성되며, 이 두 부분에는 idp-namespace:role-name
이 포함되어 있습니다. idp-namespace
는 ID 제공업체(iDP)의 네임스페이스입니다. role-name
은 ID 제공업체(iDP)의 외부 그룹 이름입니다. 두 번째 값에는 역할 식별자인 role-id
가 포함됩니다.
사용 노트
PG_GET_SESSION_ROLES
함수는 반환된 각 세션 역할에 대해 하나의 행을 반환합니다.
예시
다음 예에서는 Azure Active Directory IdP에서 각 역할에 대해 하나의 행을 반환합니다. 반환된 열은 열 name
및 roleid
를 사용하여 sess_roles
로 캐스팅됩니다. 각 name
은 Azure Active Directory 네임스페이스와 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
다음 예제에서는 현재 로그인한 IAM 사용자가 멤버인 각 IAM 그룹에 대해 하나의 행을 반환합니다. 반환된 열은 열 name
및 roleid
를 사용하여 sess_roles
로 캐스팅됩니다. 각 name
은 IAM 네임스페이스 및 IAM 그룹 이름으로 구성됩니다.
SELECT * FROM pg_get_session_roles() AS sess_roles(name name, roleid integer);
name roleid -------------------------------- IAM:myGroup 110332