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
-
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
AWS
di 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 SAMP. 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,123456789012
adalah peran IAM yang Anda buat, danAzureSSO
merupakan penyedia IAM.AzureADProvider
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
-
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-1
Ganti AWS akun Anda untuk
.123456789012
Gantikan pengenal klaster Anda (atau
*
untuk semua cluster) untuk.cluster-identifier
Gantikan database Anda (atau
*
untuk semua database) untuk
.dev
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
dengan databasecluster-identifier
, dalam akundev
, dan di AWS Wilayah123456789012
.us-west-1
${redshift:DbUser}
Klausa ini hanya memungkinkan pengguna yang cocok denganDbUser
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
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.AROAJ2UCCR6DPCEXAMPLE
Penyiapan 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 karyawan tersebutjohndoe
. Kemudian, untuk membuat kondisi ini berfungsi, aturRoleSessionName
bidang AWS SAMP ke bidang super yang cocok dengan emailjohndoe@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}
danRoleSessionName
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 denganmy_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 meneleponiam:ListRoles
untuk 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.