Biru langit - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai 1 November 2025. Jika Anda ingin menggunakan Python UDFs, buat UDFs sebelum tanggal tersebut. Python yang ada UDFs akan terus berfungsi seperti biasa. Untuk informasi lebih lanjut, lihat posting blog.

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

Biru langit

Anda dapat menggunakan Microsoft Azure AD sebagai penyedia identitas (iDP) untuk mengakses klaster Amazon Redshift Anda. Tutorial ini menunjukkan kepada Anda bagaimana Anda dapat menggunakan Azure sebagai penyedia identitas (iDP) untuk mengakses cluster Amazon Redshift Anda.

Untuk mempelajari cara menggabungkan akses Amazon Redshift dengan sistem masuk tunggal Microsoft Azure AD, tonton video berikut.

Langkah 1: Siapkan Azure dan AWS akun Anda untuk saling percaya

Prosedur berikut menjelaskan cara mengatur hubungan kepercayaan.

Untuk mengatur Azure AD dan AWS akun Anda agar saling percaya
  1. Buat atau gunakan klaster Amazon Redshift yang ada agar pengguna Azure AD dapat terhubung. Untuk mengkonfigurasi koneksi, properti tertentu dari cluster ini diperlukan, seperti pengidentifikasi cluster. Untuk informasi selengkapnya, lihat Membuat Cluster.

  2. Siapkan Direktori Aktif Azure, grup, pengguna yang digunakan AWS di portal Microsoft Azure.

  3. Tambahkan Amazon Redshift sebagai aplikasi perusahaan di portal Microsoft Azure untuk digunakan untuk masuk tunggal ke AWS Konsol dan login gabungan ke Amazon Redshift. Pilih aplikasi Enterprise.

  4. Pilih +Aplikasi baru. Halaman Tambahkan aplikasi muncul.

  5. Cari AWS di bidang pencarian.

  6. Pilih Amazon Web Services (AWS) dan pilih Tambah. Ini menciptakan AWS aplikasi.

  7. Di bawah Kelola, pilih Single sign-on.

  8. Pilih SAML. Halaman Amazon Web Services (AWS) | Masuk berbasis SAML muncul.

  9. Pilih Ya untuk melanjutkan ke halaman Mengatur Single Sign-On dengan SAMP. Halaman ini menampilkan daftar atribut terkait sistem masuk tunggal yang telah dikonfigurasi sebelumnya.

  10. Untuk Konfigurasi SAMP Dasar, pilih ikon edit dan pilih Simpan.

  11. Saat Anda mengonfigurasi lebih dari satu aplikasi, berikan nilai pengenal. Misalnya, masukkan https://signin.aws.amazon.com/saml#2. Perhatikan bahwa dari aplikasi kedua dan seterusnya, gunakan format ini dengan tanda # untuk menentukan nilai SPN yang unik.

  12. Di bagian Atribut Pengguna dan Klaim, pilih ikon edit.

    Secara default, Unique User Identifier (UID), Peran RoleSessionName, dan SessionDuration klaim sudah dikonfigurasi sebelumnya.

  13. Pilih + Tambahkan klaim baru untuk menambahkan klaim bagi pengguna database.

    Untuk Nama, masukkan DbUser.

    Untuk Namespace, masukkan https://redshift.amazon.com/SAML/Attributes.

    Untuk Sumber, pilih Atribut.

    Untuk atribut Source, pilih user.userprincipalname. Lalu, pilih Simpan.

  14. Pilih + Tambahkan klaim baru untuk menambahkan klaim AutoCreate.

    Untuk Nama, masukkan AutoCreate.

    Untuk Namespace, masukkan https://redshift.amazon.com/SAML/Attributes.

    Untuk Sumber, pilih Atribut.

    Untuk atribut Source, pilih “true”. Lalu, pilih Simpan.

    Di sini, 123456789012 adalah AWS akun Anda, AzureSSO adalah peran IAM yang Anda buat, dan AzureADProvider merupakan penyedia IAM.

    Nama klaim Nilai

    Pengenal pengguna unik (ID nama)

    user.userprincipalname

    https://aws.amazon.com/SAML/Attributes/SessionDuration

    “900"

    https://aws.amazon.com/SAML/Attributes/Role

    arn:aws:iam: ::role/, arn:aws:iam: ::saml-provider/ 123456789012 AzureSSO 123456789012 AzureADProvider

    https://aws.amazon.com/SAML/Attributes/RoleSessionName

    user.userprincipalname

    https://redshift.amazon.com/SAML/Attributes/AutoCreate

    “benar”

    https://redshift.amazon.com/SAML/Attributes/DbGroups

    user.assignedroles

    https://redshift.amazon.com/SAML/Attributes/DbUser

    user.userprincipalname

  15. Di bawah Pendaftaran Aplikasi > your-application-name > Otentikasi, tambahkan Aplikasi Seluler Dan Desktop. Tentukan URL sebagai http://localhost/redshift/.

  16. Di bagian Sertifikat Penandatanganan SAMP, pilih Unduh untuk mengunduh dan menyimpan file XHTML metadata federasi untuk digunakan saat Anda membuat penyedia identitas SAMP IAM. File ini digunakan untuk membuat identitas federasi masuk tunggal.

  17. Buat penyedia identitas SALL IAM di konsol IAM. Dokumen metadata yang Anda berikan adalah file XMLmetadata federasi yang Anda simpan saat Anda menyiapkan Aplikasi Azure Enterprise. Untuk langkah-langkah mendetail, lihat Membuat dan Mengelola Penyedia Identitas IAM (Konsol) di Panduan Pengguna IAM.

  18. Buat peran IAM untuk federasi SAMP 2.0 di konsol IAM. Untuk langkah-langkah mendetail, lihat Membuat Peran untuk SAMP di Panduan Pengguna IAM.

  19. Buat kebijakan IAM yang dapat Anda lampirkan ke peran IAM yang Anda buat untuk federasi SAMP 2.0 di konsol IAM. Untuk langkah-langkah mendetail, lihat Membuat Kebijakan IAM (Konsol) di Panduan Pengguna IAM.

    Ubah kebijakan berikut (dalam format JSON) untuk lingkungan Anda:

    • Gantikan AWS Region cluster Anda untukus-west-1.

    • Ganti AWS akun Anda untuk123456789012.

    • Gantikan pengenal klaster Anda (atau * untuk semua cluster) untuk. cluster-identifier

    • Gantikan database Anda (atau * untuk semua database) untukdev.

    • Gantikan pengenal unik peran IAM Anda. AROAJ2UCCR6DPCEXAMPLE

    • Gantikan domain email penyewa atau perusahaan Anda. example.com

    • Gantikan grup database yang Anda rencanakan untuk menetapkan pengguna. my_dbgroup

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": [ "arn:aws:redshift:us-west-1:123456789012:dbname:cluster-identifier/dev", "arn:aws:redshift:us-west-1:123456789012:dbuser:cluster-identifier/${redshift:DbUser}", "arn:aws:redshift:us-west-1:123456789012:cluster:cluster-identifier" ], "Condition": { "StringEquals": { "aws:userid": "AROAJ2UCCR6DPCEXAMPLE:${redshift:DbUser}@example.com" } } }, { "Effect": "Allow", "Action": "redshift:CreateClusterUser", "Resource": "arn:aws:redshift:us-west-1:123456789012:dbuser:cluster-identifier/${redshift:DbUser}" }, { "Effect": "Allow", "Action": "redshift:JoinGroup", "Resource": "arn:aws:redshift:us-west-1:123456789012:dbgroup:cluster-identifier/my_dbgroup" }, { "Effect": "Allow", "Action": [ "redshift:DescribeClusters", "iam:ListRoles" ], "Resource": "*" } ] }

    Kebijakan ini memberikan izin sebagai berikut:

    • Bagian pertama memberikan izin ke operasi GetClusterCredentials API untuk mendapatkan kredensil sementara untuk klaster yang ditentukan. Dalam contoh ini, sumber daya adalah cluster-identifier dengan databasedev, dalam akun123456789012, dan di AWS Wilayahus-west-1. ${redshift:DbUser}Klausa ini hanya memungkinkan pengguna yang cocok dengan DbUser nilai yang ditentukan dalam Azure AD untuk terhubung.

    • Klausul kondisi memberlakukan bahwa hanya pengguna tertentu yang mendapatkan kredensil sementara. Ini adalah pengguna di bawah peran yang ditentukan oleh ID unik peran AROAJ2UCCR6DPCEXAMPLE di akun IAM yang diidentifikasi oleh alamat email di domain email perusahaan Anda. Untuk informasi selengkapnya tentang unik IDs, lihat Unik IDs di Panduan Pengguna IAM.

      Penyiapan Anda dengan iDP Anda (dalam hal ini, Azure AD) menentukan bagaimana klausa kondisi ditulis. Jika email karyawan Andajohndoe@example.com, atur terlebih dahulu ${redshift:DbUser} ke bidang super yang cocok dengan nama pengguna karyawan tersebutjohndoe. Kemudian, untuk membuat kondisi ini berfungsi, atur RoleSessionName bidang AWS SAMP ke bidang super yang cocok dengan email johndoe@example.com karyawan. Saat Anda mengambil pendekatan ini, pertimbangkan hal berikut:

      • Jika Anda mengatur ${redshift:DbUser} untuk menjadi email karyawan, maka hapus @example.com dalam contoh JSON untuk mencocokkanRoleSessionName.

      • Jika Anda menetapkan RoleSessionId untuk menjadi hanya nama pengguna karyawan, maka hapus @example.com dalam contoh untuk mencocokkanRoleSessionName.

      • Dalam contoh JSON, ${redshift:DbUser} dan RoleSessionName keduanya diatur ke email karyawan. Contoh ini JSON menggunakan nama @example.com pengguna database Amazon Redshift untuk menandatangani pengguna untuk mengakses cluster.

    • Bagian kedua memberikan izin untuk membuat dbuser nama di cluster yang ditentukan. Dalam contoh ini JSON, ini membatasi pembuatan untuk. ${redshift:DbUser}

    • Bagian ketiga memberikan izin untuk menentukan pengguna mana dbgroup yang dapat bergabung. Dalam contoh ini JSON, pengguna dapat bergabung dengan my_dbgroup grup dalam cluster yang ditentukan.

    • Bagian keempat memberikan izin untuk tindakan yang dapat dilakukan pengguna pada semua sumber daya. Dalam contoh ini JSON, memungkinkan pengguna untuk memanggil redshift:DescribeClusters untuk mendapatkan informasi cluster seperti titik akhir cluster, AWS Region, dan port. Ini juga memungkinkan pengguna untuk menelepon iam:ListRoles untuk memeriksa peran mana yang dapat diasumsikan pengguna.

Langkah 2: Siapkan JDBC atau ODBC untuk otentikasi ke Azure

JDBC
Untuk mengatur JDBC untuk otentikasi ke Microsoft Azure AD
  • Konfigurasikan klien database Anda untuk terhubung ke cluster Anda melalui JDBC menggunakan sistem masuk tunggal Azure AD Anda.

    Anda dapat menggunakan klien apa pun yang menggunakan driver JDBC untuk terhubung menggunakan sistem masuk tunggal Azure AD atau menggunakan bahasa seperti Java untuk terhubung menggunakan skrip. Untuk informasi instalasi dan konfigurasi, lihatMengonfigurasi koneksi untuk driver JDBC versi 2.x untuk Amazon Redshift.

    Misalnya, Anda dapat menggunakan SQLWorkbench/J sebagai klien. Ketika Anda mengkonfigurasi SQLWorkbench /J, URL database Anda menggunakan format berikut.

    jdbc:redshift:iam://cluster-identifier:us-west-1/dev

    Jika Anda menggunakan SQLWorkbench/J sebagai klien, ambil langkah-langkah berikut:

    1. Mulai SQL Workbench/J. Pada halaman Select Connection Profile, tambahkan Profil Grup yang disebut. AzureAuth

    2. Untuk Profil Koneksi, masukkanAzure.

    3. Pilih Kelola Driver, dan pilih Amazon Redshift. Pilih ikon Open Folder di sebelah Library, lalu pilih file JDBC .jar yang sesuai.

    4. Pada halaman Pilih Profil Koneksi, tambahkan informasi ke profil koneksi sebagai berikut:

      • Untuk Pengguna, masukkan nama pengguna Microsoft Azure Anda. Ini adalah nama pengguna akun Microsoft Azure yang Anda gunakan untuk sistem masuk tunggal yang memiliki izin ke cluster yang Anda coba autentikasi.

      • Untuk Kata Sandi, masukkan kata sandi Microsoft Azure Anda.

      • Untuk Driver, pilih Amazon Redshift (com.amazon.redshift.jdbc.driver).

      • Untuk URL, masukkanjdbc:redshift:iam://your-cluster-identifier:your-cluster-region/your-database-name.

    5. Pilih Extended Properties untuk menambahkan informasi tambahan ke properti koneksi, seperti yang dijelaskan berikut.

      Untuk konfigurasi masuk tunggal Azure AD, tambahkan informasi tambahan sebagai berikut:

      • Untuk plugin_name, masukkan. com.amazon.redshift.plugin.AzureCredentialsProvider Nilai ini menentukan driver untuk menggunakan Azure AD Single Sign-On sebagai metode otentikasi.

      • Untuk idp_tenant, masukkan. your-idp-tenant Hanya digunakan untuk Microsoft Azure AD. Ini adalah nama penyewa perusahaan Anda yang dikonfigurasi pada Azure AD. Nilai ini dapat berupa nama penyewa atau ID unik penyewa dengan tanda hubung.

      • Untuk client_secret, masukkan. your-azure-redshift-application-client-secret Hanya digunakan untuk Microsoft Azure AD. Ini adalah rahasia klien Anda dari aplikasi Amazon Redshift yang Anda buat saat mengatur konfigurasi Azure Single Sign-On Anda. Ini hanya berlaku untuk com.amazon.redshift.plugin. AzureCredentialsProviderplugin.

      • Untuk client_id, masukkan. your-azure-redshift-application-client-id Hanya digunakan untuk Microsoft Azure AD. Ini adalah ID klien (dengan tanda hubung) dari aplikasi Amazon Redshift yang Anda buat saat mengatur konfigurasi Azure Single Sign-On Anda.

      Untuk sistem masuk tunggal Azure AD dengan konfigurasi MFA, tambahkan informasi tambahan ke properti koneksi sebagai berikut:

      • Untuk plugin_name, masukkan. com.amazon.redshift.plugin.BrowserAzureCredentialsProvider Nilai ini menentukan driver untuk menggunakan sistem masuk tunggal Azure AD dengan MFA sebagai metode otentikasi.

      • Untuk idp_tenant, masukkan. your-idp-tenant Hanya digunakan untuk Microsoft Azure AD. Ini adalah nama penyewa perusahaan Anda yang dikonfigurasi pada Azure AD. Nilai ini dapat berupa nama penyewa atau ID unik penyewa dengan tanda hubung.

      • Untuk client_id, masukkan. your-azure-redshift-application-client-id Opsi ini hanya digunakan untuk Microsoft Azure AD. Ini adalah ID klien (dengan tanda hubung) dari aplikasi Amazon Redshift yang Anda buat saat mengatur sistem masuk tunggal Azure AD Anda dengan konfigurasi MFA.

      • Untuk listen_port, masukkan. your-listen-port Ini adalah port yang didengarkan oleh server lokal. Defaultnya adalah 7890.

      • Untuk idp_response_timeout, masukkan. the-number-of-seconds Ini adalah jumlah detik untuk menunggu sebelum waktu habis ketika server iDP mengirim kembali respons. Jumlah minimum detik harus 10. Jika membuat koneksi membutuhkan waktu lebih lama dari ambang ini, maka koneksi dibatalkan.

ODBC
Untuk mengatur ODBC untuk otentikasi ke Microsoft Azure AD
  • Konfigurasikan klien database Anda untuk terhubung ke klaster Anda melalui ODBC menggunakan sistem masuk tunggal Azure AD Anda.

    Amazon Redshift menyediakan driver ODBC untuk sistem operasi Linux, Windows, dan macOS. Sebelum Anda menginstal driver ODBC, tentukan apakah alat klien SQL Anda 32-bit atau 64-bit. Instal driver ODBC yang sesuai dengan persyaratan alat klien SQL Anda.

    Di Windows, di halaman Pengaturan DSN Driver Amazon Redshift ODBC, di bawah Pengaturan Koneksi, masukkan informasi berikut:

    • Untuk Nama Sumber Data, masukkanyour-DSN. Ini menentukan nama sumber data yang digunakan sebagai nama profil ODBC.

    • Untuk tipe Auth untuk konfigurasi masuk tunggal Azure AD, pilih. Identity Provider: Azure AD Ini adalah metode otentikasi yang digunakan driver ODBC untuk mengautentikasi menggunakan sistem masuk tunggal Azure.

    • Untuk tipe Auth untuk sistem masuk tunggal Azure AD dengan konfigurasi MFA, pilih. Identity Provider: Browser Azure AD Ini adalah metode otentikasi yang digunakan driver ODBC untuk mengautentikasi menggunakan Azure single sign-on dengan MFA.

    • Untuk ID Cluster, masukkanyour-cluster-identifier.

    • Untuk Wilayah, masukkanyour-cluster-region.

    • Untuk Database, masukkanyour-database-name.

    • Untuk Pengguna, masukkanyour-azure-username. Ini adalah nama pengguna untuk akun Microsoft Azure yang Anda gunakan untuk sistem masuk tunggal yang memiliki izin ke cluster yang Anda coba autentikasi. Gunakan ini hanya untuk Jenis Auth adalah Penyedia Identitas: Azure AD.

    • Untuk Kata Sandi, masukkanyour-azure-password. Gunakan ini hanya untuk Jenis Auth adalah Penyedia Identitas: Azure AD.

    • Untuk IDP Tenant, masukkan. your-idp-tenant Ini adalah nama penyewa perusahaan Anda yang dikonfigurasi di IDP (Azure) Anda. Nilai ini dapat berupa nama penyewa atau ID unik penyewa dengan tanda hubung.

    • Untuk Rahasia Klien Azure, masukkanyour-azure-redshift-application-client-secret. Ini adalah rahasia klien dari aplikasi Amazon Redshift yang Anda buat saat mengatur konfigurasi masuk tunggal Azure Anda.

    • Untuk ID Klien Azure, masukkanyour-azure-redshift-application-client-id. Ini adalah ID klien (dengan tanda hubung) dari aplikasi Amazon Redshift yang Anda buat saat mengatur konfigurasi masuk tunggal Azure Anda.

    • Untuk Listen Port, masukkanyour-listen-port. Ini adalah port mendengarkan default yang didengarkan oleh server lokal. Defaultnya adalah 7890. Ini hanya berlaku untuk plugin Browser Azure AD.

    • Untuk Response Timeout, masukkanthe-number-of-seconds. Ini adalah jumlah detik untuk menunggu sebelum waktu habis ketika server iDP mengirim kembali respons. Jumlah minimum detik harus 10. Jika membuat koneksi membutuhkan waktu lebih lama dari ambang ini, maka koneksi dibatalkan. Opsi ini hanya berlaku untuk plugin Browser Azure AD.

    Di macOS dan Linux, edit odbc.ini file sebagai berikut:

    catatan

    Semua entri tidak peka huruf besar/kecil.

    • Untuk clusterid, masukkan. your-cluster-identifier Ini adalah nama cluster Amazon Redshift yang dibuat.

    • Untuk wilayah, masukkanyour-cluster-region. Ini adalah AWS Wilayah cluster Amazon Redshift yang dibuat.

    • Untuk database, masukkanyour-database-name. Ini adalah nama database yang Anda coba akses di cluster Amazon Redshift.

    • Untuk lokal, masukkanen-us. Ini adalah bahasa yang menampilkan pesan kesalahan.

    • Untuk iam, masukkan1. Nilai ini menentukan driver untuk mengautentikasi menggunakan kredensil IAM.

    • Untuk plugin_name untuk konfigurasi masuk tunggal Azure AD, masukkan. AzureAD Ini menentukan driver untuk menggunakan Azure Single Sign-On sebagai metode otentikasi.

    • Untuk plugin_name untuk sistem masuk tunggal Azure AD dengan konfigurasi MFA, masukkan. BrowserAzureAD Ini menentukan driver untuk menggunakan Azure Single Sign-On dengan MFA sebagai metode otentikasi.

    • Untuk uid, masukkanyour-azure-username. Ini adalah nama pengguna akun Microsoft Azure yang Anda gunakan untuk sistem masuk tunggal yang memiliki izin ke cluster yang Anda coba autentikasi. Gunakan ini hanya untuk plugin_name adalah AzuRead.

    • Untuk pwd, masukkan. your-azure-password Gunakan ini hanya untuk plugin_name adalah AzuRead.

    • Untuk idp_tenant, masukkan. your-idp-tenant Ini adalah nama penyewa perusahaan Anda yang dikonfigurasi di IDP (Azure) Anda. Nilai ini dapat berupa nama penyewa atau ID unik penyewa dengan tanda hubung.

    • Untuk client_secret, masukkan. your-azure-redshift-application-client-secret Ini adalah rahasia klien dari aplikasi Amazon Redshift yang Anda buat saat mengatur konfigurasi masuk tunggal Azure Anda.

    • Untuk client_id, masukkan. your-azure-redshift-application-client-id Ini adalah ID klien (dengan tanda hubung) dari aplikasi Amazon Redshift yang Anda buat saat mengatur konfigurasi masuk tunggal Azure Anda.

    • Untuk listen_port, masukkan. your-listen-port Ini adalah port yang didengarkan oleh server lokal. Defaultnya adalah 7890. Ini berlaku untuk plugin Browser Azure AD.

    • Untuk idp_response_timeout, masukkan. the-number-of-seconds Ini adalah periode waktu yang ditentukan dalam hitungan detik untuk menunggu respons dari Azure. Opsi ini berlaku untuk plugin Browser Azure AD.

    Di macOS dan Linux, edit juga pengaturan profil untuk menambahkan ekspor berikut.

    export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
    export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini

Pemecahan Masalah

Untuk memecahkan masalah dengan plugin Browser Azure AD, pertimbangkan hal berikut.

  • Untuk menggunakan plugin Browser Azure AD, Anda harus menyetel URL balasan yang ditentukan dalam permintaan agar sesuai dengan URL balasan yang dikonfigurasi untuk aplikasi Anda. Arahkan ke halaman Siapkan Single Sign-On dengan SAMP di portal Microsoft Azure. Kemudian periksa URL Balas diatur ke http://localhost/redshift/.

  • Jika Anda mendapatkan kesalahan penyewa IDP, verifikasi bahwa nama IDP Tenant cocok dengan nama domain yang awalnya Anda gunakan untuk mengatur Direktori Aktif di Microsoft Azure.

    Di Windows, navigasikan ke bagian Pengaturan Koneksi di halaman Pengaturan Amazon Redshift ODBC DSN. Kemudian periksa nama penyewa perusahaan Anda yang dikonfigurasi di IDP (Azure) cocok dengan nama domain yang awalnya Anda gunakan untuk mengatur Direktori Aktif di Microsoft Azure.

    Di macOS dan Linux, temukan file odbc.ini. Kemudian periksa nama penyewa perusahaan Anda yang dikonfigurasi di IDP (Azure) cocok dengan nama domain yang awalnya Anda gunakan untuk mengatur Direktori Aktif di Microsoft Azure.

  • Jika Anda mendapatkan kesalahan bahwa URL balasan yang ditentukan dalam permintaan tidak cocok dengan balasan yang URLs dikonfigurasi untuk aplikasi Anda, verifikasi bahwa Pengalihan URIs sama dengan URL balasan.

    Arahkan ke halaman pendaftaran Aplikasi aplikasi Anda di portal Microsoft Azure. Kemudian periksa Redirect URIs cocok dengan URL balasan.

  • Jika Anda mendapatkan respons tak terduga: kesalahan tidak sah, verifikasi bahwa Anda telah menyelesaikan konfigurasi aplikasi Seluler dan desktop.

    Arahkan ke halaman pendaftaran Aplikasi aplikasi Anda di portal Microsoft Azure. Kemudian navigasikan ke Otentikasi dan periksa apakah Anda mengonfigurasi aplikasi Seluler dan desktop untuk menggunakan http://localhost/redshift/ sebagai URIs pengalihan.