PG_GET_SESSION_ROLES
現在ログインしているユーザーのセッションロールを返します。ユーザーのセッションロールは、ログインしたユーザーの ID プロバイダー (IdP) によって定義されるグループです。例えば、Microsoft Azure Active Directory (Azure AD)
Amazon Redshift カタログで定義されているロールを表示するには、システムビュー SVV_ROLES をクエリします。
構文
pg_get_session_roles()
戻り型
2 つの値で構成される行のセット。最初の値は 2 つの部分からなり、idp-namespace:role-name
を含むコロン (:) で区切られます。idp-namespace
は、ID プロバイダー (IdP) の名前空間です。role-name
は、ID プロバイダー (IdP) の外部グループの名前です。2 番目の値には、ロール識別子である role-id
が含まれます。
使用に関する注意事項
PG_GET_SESSION_ROLES
関数は、返されたセッションロールごとに 1 行を返します。
例
次の例では、Azure Active Directory IdP からロールごとに 1 つの行が返されます。返された列は、列 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 グループごとに 1 つの行が返されます。返された列は、列 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