Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. 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
-
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.
-
Siapkan Direktori Aktif Azure, grup, pengguna yang digunakan AWS di portal Microsoft Azure.
-
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.
-
Pilih +Aplikasi baru. Halaman Tambahkan aplikasi muncul.
-
Cari
AWSdi bidang pencarian. -
Pilih Amazon Web Services (AWS) dan pilih Tambah. Ini menciptakan AWS aplikasi.
-
Di bawah Kelola, pilih Single sign-on.
-
Pilih SAML. Halaman Amazon Web Services (AWS) | Masuk berbasis SAML muncul.
-
Pilih Ya untuk melanjutkan ke halaman Mengatur Single Sign-On dengan SAFL. Halaman ini menampilkan daftar atribut terkait sistem masuk tunggal yang telah dikonfigurasi sebelumnya.
-
Untuk Konfigurasi SAMP Dasar, pilih ikon edit dan pilih Simpan.
-
Saat Anda mengonfigurasi lebih dari satu aplikasi, berikan nilai pengenal. Misalnya, masukkan
. Perhatikan bahwa dari aplikasi kedua dan seterusnya, gunakan format ini dengan tanda # untuk menentukan nilai SPN yang unik.https://signin.aws.amazon.com/saml#2 -
Di bagian Atribut Pengguna dan Klaim, pilih ikon edit.
Secara default, Unique User Identifier (UID), Peran RoleSessionName, dan SessionDuration klaim sudah dikonfigurasi sebelumnya.
-
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.
-
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,
adalah AWS akun Anda,123456789012adalah peran IAM yang Anda buat, danAzureSSOmerupakan penyedia IAM.AzureADProviderNama 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/
123456789012AzureSSO123456789012AzureADProviderhttps://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
-
Di bawah Pendaftaran Aplikasi >
> Otentikasi, tambahkan Aplikasi Seluler Dan Desktop. Tentukan URL sebagai http://localhost/redshift/.your-application-name -
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.
-
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.
-
Buat peran IAM untuk federasi SAMP 2.0 di konsol IAM. Untuk langkah-langkah mendetail, lihat Membuat Peran untuk SAMP di Panduan Pengguna IAM.
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 untuk
.us-west-1Ganti AWS akun Anda untuk
.123456789012Gantikan pengenal klaster Anda (atau
*untuk semua cluster) untuk.cluster-identifierGantikan database Anda (atau
*untuk semua database) untuk.devGantikan pengenal unik peran IAM Anda.
AROAJ2UCCR6DPCEXAMPLEGantikan domain email penyewa atau perusahaan Anda.
example.comGantikan 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
GetClusterCredentialsAPI untuk mendapatkan kredensil sementara untuk klaster yang ditentukan. Dalam contoh ini, sumber daya adalahdengan databasecluster-identifier, dalam akundev, dan di AWS Wilayah123456789012.us-west-1${redshift:DbUser}Klausa ini hanya memungkinkan pengguna yang cocok denganDbUsernilai 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
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.AROAJ2UCCR6DPCEXAMPLEPenyiapan Anda dengan iDP Anda (dalam hal ini, Azure AD) menentukan bagaimana klausa kondisi ditulis. Jika email karyawan Anda
johndoe@example.com, atur terlebih dahulu${redshift:DbUser}ke bidang super yang cocok dengan nama pengguna karyawanjohndoe. Kemudian, untuk membuat kondisi ini berfungsi, aturRoleSessionNamebidang AWS SAMP ke bidang super yang cocok dengan emailjohndoe@example.comkaryawan. Saat Anda mengambil pendekatan ini, pertimbangkan hal berikut:Jika Anda mengatur
${redshift:DbUser}untuk menjadi email karyawan, maka hapus@example.comdalam contoh JSON untuk mencocokkanRoleSessionName.Jika Anda menetapkan
RoleSessionIduntuk menjadi hanya nama pengguna karyawan, maka hapus@example.comdalam contoh untuk mencocokkanRoleSessionName.Dalam contoh JSON,
${redshift:DbUser}danRoleSessionNamekeduanya diatur ke email karyawan. Contoh ini JSON menggunakan nama@example.compengguna database Amazon Redshift untuk menandatangani pengguna untuk mengakses cluster.
Bagian kedua memberikan izin untuk membuat
dbusernama di cluster yang ditentukan. Dalam contoh ini JSON, ini membatasi pembuatan untuk.${redshift:DbUser}Bagian ketiga memberikan izin untuk menentukan pengguna mana
dbgroupyang dapat bergabung. Dalam contoh ini JSON, pengguna dapat bergabung denganmy_dbgroupgrup 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:DescribeClustersuntuk mendapatkan informasi cluster seperti titik akhir cluster, AWS Region, dan port. Ini juga memungkinkan pengguna untuk meneleponiam:ListRolesuntuk memeriksa peran mana yang dapat diasumsikan pengguna.
Langkah 2: Siapkan JDBC atau ODBC untuk otentikasi ke Azure
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.