PG_ _ _ GET SESSION ROLES - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

PG_ _ _ GET SESSION ROLES

Mengembalikan peran sesi dari pengguna yang saat ini masuk. Peran sesi pengguna adalah grup yang ditentukan oleh penyedia identitas (iDP) untuk pengguna yang masuk. Misalnya, penyedia identitas (iDP) seperti Microsoft Azure Active Directory (Azure AD) memverifikasi identitas pengguna dan menyediakan grup eksternal yang menjadi bagian pengguna selama proses login pengguna. Grup eksternal ini diubah menjadi peran Amazon Redshift dan tersedia selama sesi saat ini. Peran ini disebut peran sesi. Administrator dapat memberikan hak istimewa untuk peran sesi yang mirip dengan peran Amazon Redshift lainnya. Untuk informasi tentang penggunaan peran, lihatKontrol akses berbasis peran () RBAC. Untuk informasi tentang mengelola identitas dengan penyedia identitas (iDP), lihat Federasi penyedia identitas asli (iDP) untuk Amazon Redshift di Panduan Manajemen Pergeseran Merah Amazon.

Untuk melihat peran yang ditentukan dalam katalog Amazon Redshift, kueri tampilan sistem. SVV_ROLES

Sintaks

pg_get_session_roles()

Jenis pengembalian

Satu set baris yang terdiri dari dua nilai. Nilai pertama memiliki dua bagian yang dipisahkan oleh titik dua (:) yang berisiidp-namespace:role-name. idp-namespaceIni adalah namespace dari penyedia identitas (iDP). role-nameItu adalah nama grup eksternal di penyedia identitas (iDP). Nilai kedua berisi yang role-id merupakan pengidentifikasi peran.

Catatan penggunaan

PG_GET_SESSION_ROLESFungsi mengembalikan satu baris untuk setiap peran sesi dikembalikan.

Contoh

Contoh berikut mengembalikan satu baris untuk setiap peran dari Azure Active Directory iDP. Kolom yang dikembalikan dilemparkan sess_roles dengan kolom name danroleid. Masing-masing name terdiri dari namespace Azure Active Directory dan nama grup di 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

Contoh berikut mengembalikan satu baris untuk setiap IAM grup yang IAM pengguna saat ini masuk adalah anggota. Kolom yang dikembalikan dilemparkan sess_roles dengan kolom name danroleid. Masing-masing name terdiri dari IAM namespace dan nama IAM grup.

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