Federasi penyedia identitas asli (iDP) untuk Amazon Redshift - Amazon Redshift

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

Federasi penyedia identitas asli (iDP) untuk Amazon Redshift

Mengelola identitas dan izin untuk Amazon Redshift menjadi lebih mudah dengan federasi penyedia identitas asli karena memanfaatkan penyedia identitas yang ada untuk menyederhanakan autentikasi dan mengelola izin. Ini dilakukan dengan memungkinkan untuk berbagi metadata identitas ke Redshift dari penyedia identitas Anda. Untuk iterasi pertama fitur ini, penyedia identitas yang didukung adalah Microsoft Azure Active Directory (Azure AD).

Untuk mengonfigurasi Amazon Redshift sehingga dapat mengautentikasi identitas dari penyedia identitas pihak ketiga, Anda mendaftarkan penyedia identitas dengan Amazon Redshift. Melakukan hal ini memungkinkan Redshift untuk mengautentikasi pengguna dan peran yang ditentukan oleh penyedia identitas. Dengan demikian Anda dapat menghindari keharusan melakukan manajemen identitas terperinci di penyedia identitas pihak ketiga Anda dan di Amazon Redshift, karena informasi identitas dibagikan.

Untuk informasi tentang penggunaan peran sesi yang ditransfer dari grup penyedia identitas (IDP), lihat PG_GET_SESSION_ROLES di Panduan Pengembang Database Amazon Redshift.

Menyiapkan penyedia identitas di Amazon Redshift

Bagian ini menunjukkan langkah-langkah untuk mengonfigurasi penyedia identitas dan Amazon Redshift untuk menjalin komunikasi bagi federasi penyedia identitas asli. Anda memerlukan akun aktif dengan penyedia identitas Anda. Sebelum mengonfigurasi Amazon Redshift, Anda mendaftarkan Redshift sebagai aplikasi dengan penyedia identitas Anda, memberikan persetujuan administrator.

Selesaikan langkah-langkah berikut di Amazon Redshift:

  1. Anda menjalankan pernyataan SQL untuk mendaftarkan penyedia identitas, termasuk deskripsi metadata aplikasi Azure. Untuk membuat penyedia identitas di Amazon Redshift, jalankan perintah berikut setelah mengganti nilai parameter issuer, client_id, client_secret, dan audience. Parameter ini khusus untuk Microsoft Azure AD. Ganti nama penyedia identitas dengan nama yang Anda pilih, dan ganti namespace dengan nama unik untuk memuat pengguna dan peran dari direktori penyedia identitas Anda.

    CREATE IDENTITY PROVIDER oauth_standard TYPE azure NAMESPACE 'aad' PARAMETERS '{ "issuer":"https://sts.windows.net/2sdfdsf-d475-420d-b5ac-667adad7c702/", "client_id":"<client_id>", "client_secret":"BUAH~ewrqewrqwerUUY^%tHe1oNZShoiU7", "audience":["https://analysis.windows.net/powerbi/connector/AmazonRedshift"] }'

    Jenis ini azure menunjukkan bahwa penyedia secara khusus memfasilitasi komunikasi dengan Microsoft Azure AD. Ini adalah satu-satunya penyedia identitas pihak ketiga yang didukung.

    • penerbit - ID penerbit untuk dipercaya ketika token diterima. Pengidentifikasi unik untuk tenant_id ditambahkan ke penerbit.

    • client_id - Pengidentifikasi publik yang unik dari aplikasi yang terdaftar dengan penyedia identitas. Ini dapat disebut sebagai ID aplikasi.

    • client_secret - Pengidentifikasi rahasia, atau kata sandi, yang hanya diketahui oleh penyedia identitas dan aplikasi terdaftar.

    • audiens - ID Aplikasi yang ditugaskan ke aplikasi di Azure.

    Alih-alih menggunakan rahasia klien bersama, Anda dapat mengatur parameter untuk menentukan sertifikat, kunci pribadi, dan kata sandi kunci pribadi saat membuat penyedia identitas.

    CREATE IDENTITY PROVIDER example_idp TYPE azure NAMESPACE 'example_aad' PARAMETERS '{"issuer":"https://sts.windows.net/2sdfdsf-d475-420d-b5ac-667adad7c702/", "client_id":"<client_id>", "audience":["https://analysis.windows.net/powerbi/connector/AmazonRedshift"], "client_x5t":"<certificate thumbprint>", "client_pk_base64":"<private key in base64 encoding>", "client_pk_password":"test_password"}';

    Kata sandi kunci pribadi, client_pk_password, adalah opsional.

  2. Opsional: Jalankan perintah SQL di Amazon Redshift untuk membuat pengguna dan peran sebelumnya. Ini memfasilitasi pemberian izin terlebih dahulu. Nama peran di Amazon Redshift adalah seperti berikut:: < GroupName pada Azure <Namespace>AD>. Misalnya, ketika Anda membuat grup di Microsoft Azure AD dipanggil rsgroup dan namespace dipanggilaad, nama peran adalah. aad:rsgroup Nama pengguna dan peran di Amazon Redshift ditentukan dari nama pengguna dan keanggotaan grup ini di namespace penyedia identitas.

    Pemetaan untuk peran dan pengguna termasuk memverifikasi external_id nilainya, untuk memastikannya mutakhir. ID eksternal memetakan ke pengenal grup atau pengguna di penyedia identitas. Misalnya, ID eksternal peran memetakan ke ID grup Azure AD yang sesuai. Demikian pula, ID eksternal setiap pengguna memetakan ke ID mereka di penyedia identitas.

    create role "aad:rsgroup";
  3. Berikan izin yang relevan untuk peran sesuai kebutuhan Anda. Misalnya:

    GRANT SELECT on all tables in schema public to role "aad:rsgroup";
  4. Anda juga dapat memberikan izin kepada pengguna tertentu.

    GRANT SELECT on table foo to aad:alice@example.com

    Perhatikan bahwa keanggotaan peran pengguna eksternal federasi hanya tersedia di sesi pengguna tersebut. Ini memiliki implikasi untuk membuat objek database. Ketika pengguna eksternal federasi membuat tampilan atau prosedur tersimpan, misalnya, pengguna yang sama tidak dapat mendelegasikan izin objek tersebut ke pengguna dan peran lain.

Penjelasan ruang nama

Namespace memetakan pengguna atau peran ke penyedia identitas tertentu. Misalnya, awalan untuk pengguna yang dibuat di AWS IAM adalah. iam: Awalan ini mencegah tabrakan nama pengguna dan memungkinkan dukungan untuk beberapa penyimpanan identitas. Jika pengguna alice@example.com dari sumber identitas yang terdaftar dengan namespace aad masuk, pengguna aad:alice@example.com dibuat di Redshift jika belum ada. Perhatikan bahwa namespace pengguna dan peran memiliki fungsi yang berbeda dari namespace klaster Amazon Redshift, yang merupakan pengenal unik yang terkait dengan cluster.

Cara kerja login dengan federasi penyedia identitas asli (iDP)

Untuk menyelesaikan penyiapan awal antara penyedia identitas dan Amazon Redshift, Anda melakukan beberapa langkah: Pertama, Anda mendaftarkan Amazon Redshift sebagai aplikasi pihak ketiga dengan penyedia identitas Anda, meminta izin API yang diperlukan. Kemudian Anda membuat pengguna dan grup di penyedia identitas. Terakhir, Anda mendaftarkan penyedia identitas dengan Amazon Redshift, menggunakan pernyataan SQL, yang menetapkan parameter otentikasi yang unik untuk penyedia identitas. Sebagai bagian dari mendaftarkan penyedia identitas dengan Redshift, Anda menetapkan namespace untuk memastikan pengguna dan peran dikelompokkan dengan benar.

Dengan penyedia identitas yang terdaftar di Amazon Redshift, komunikasi diatur antara Redshift dan penyedia identitas. Klien kemudian dapat meneruskan token dan mengautentikasi ke Redshift sebagai entitas penyedia identitas. Amazon Redshift menggunakan informasi keanggotaan grup IDP untuk memetakan ke peran Redshift. Jika pengguna sebelumnya tidak ada di Redshift, pengguna dibuat. Peran dibuat yang memetakan ke grup penyedia identitas, jika tidak ada. Administrator Amazon Redshift memberikan izin pada peran, dan pengguna dapat menjalankan kueri dan melakukan tugas database lainnya.

Langkah-langkah berikut menguraikan cara kerja federasi penyedia identitas asli, saat pengguna masuk:

  1. Ketika pengguna log in menggunakan opsi iDP asli, dari klien, token penyedia identitas dikirim dari klien ke driver.

  2. Pengguna diautentikasi. Jika pengguna belum ada di Amazon Redshift, pengguna baru akan dibuat. Redshift memetakan grup penyedia identitas pengguna ke peran Redshift.

  3. Izin ditetapkan, berdasarkan peran Redshift pengguna. Ini diberikan kepada pengguna dan peran oleh administrator.

  4. Pengguna dapat menanyakan Redshift.

Menggunakan alat klien desktop untuk terhubung ke Amazon Redshift

Untuk petunjuk tentang cara menggunakan federasi penyedia identitas asli untuk terhubung ke Amazon Redshift dengan Power BI, lihat posting blog Mengintegrasikan federasi iDP asli Amazon Redshift dengan Microsoft Azure Active Directory (AD) dan Power BI. Ini menjelaskan step-by-step implementasi penyiapan iDP asli Amazon Redshift dengan Azure AD. Ini merinci langkah-langkah untuk mengatur koneksi klien untuk Power BI Desktop atau layanan Power BI. Langkah-langkahnya meliputi pendaftaran aplikasi, mengonfigurasi izin, dan mengonfigurasi kredensi.

Untuk mempelajari cara mengintegrasikan federasi iDP asli Amazon Redshift dengan Azure AD, menggunakan Power BI Desktop dan JDBC Client-SQL Workbench/J, tonton video berikut:

Untuk petunjuk tentang cara menggunakan federasi penyedia identitas asli untuk terhubung ke Amazon Redshift dengan klien SQL, khususnya DBeaver atau SQL Workbench/J, lihat posting blog Mengintegrasikan federasi IDP asli Amazon Redshift dengan Microsoft Azure AD menggunakan klien SQL.