View a markdown version of this page

Opsi untuk memberikan kredenSIAL IAM - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

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

Opsi untuk memberikan kredenSIAL IAM

Untuk memberikan kredentif IAM untuk koneksi JDBC atau ODBC, pilih salah satu opsi berikut.

  • AWS profil

    Sebagai alternatif untuk memberikan nilai kredenSIAL dalam bentuk pengaturan JDBC atau ODBC, Anda dapat menempatkan nilai-nilai dalam profil bernama. Untuk informasi selengkapnya, lihat Menggunakan profil konfigurasi.

  • Kredensibilitas IAM

    Berikan nilai untuk AccessKey ID, SecretAccessKey, dan, opsional, SessionToken dalam bentuk pengaturan JDBC atau ODBC. SessionToken diperlukan hanya untuk peran IAM dengan kredenSIAL sementara. Untuk informasi selengkapnya, lihat Opsi JDBC dan ODBC untuk menyediakan kredenSIAL IAM.

  • Federasi penyedia identitas

    Saat Anda menggunakan federasi penyedia identitas untuk memungkinkan pengguna dari penyedia identitas untuk melakukan otentikasi ke Amazon Redshift, tentukan nama plugin penyedia kredensia. Untuk informasi selengkapnya, lihat Plugin penyedia kredensia.

    Driver Amazon Redshift JDBC dan ODBC menyertakan plugin untuk penyedia kredensia federasi SAML-based identitas berikut:

    • Layanan Federasi Identitas Aktif Microsoft (AD FS)

    • PingOne

    • Okta

    • Microsoft Azure Active Directory (Azure AD)

    Anda dapat memberikan nama plugin dan nilai terkait dalam bentuk pengaturan JDBC atau ODBC atau dengan menggunakan profil. Untuk informasi selengkapnya, lihat Opsi untuk konfigurasi driver JDBC versi 2.x.

Untuk informasi selengkapnya, lihat Langkah 5: Konfigurasikan koneksi JDBC atau ODBC untuk menggunakan kredenSIAL IAM.

Menggunakan profil konfigurasi

Anda dapat menyediakan opsi dan GetClusterCredentials opsi kredenSIAL IAM sebagai pengaturan dalam profil bernama dalam file AWS konfigurasi Anda. Untuk memberikan nama profil, gunakan opsi Profil JDBC. Konfigurasi disimpan dalam file bernama config atau file bernama credentials dalam folder bernama .aws di direktori home Anda.

Untuk plugin penyedia SAML-based kredensi yang disertakan dengan driver Amazon Redshift JDBC atau ODBC, Anda dapat menggunakan pengaturan yang dijelaskan sebelumnya di. Plugin penyedia kredensia Jika plugin_name tidak digunakan, opsi lain diabaikan.

Contoh berikut menunjukkan ~/. aws/credentials berkas dengan dua profil.

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY [user2] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY session_token=AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU 9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz +scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==

Untuk menggunakan kredenSIAL untuk user2 contoh, tentukan Profile=user2 di URL JDBC.

Untuk informasi selengkapnya tentang menggunakan profil, lihat Konfigurasi dan pengaturan file kreden sia di Panduan AWS Command Line Interface Pengguna.

Untuk informasi selengkapnya tentang menggunakan profil untuk driver JDBC, lihat. Menentukan profil

Untuk informasi selengkapnya tentang menggunakan profil untuk driver ODBC, lihatMetode autentikasi.

Opsi JDBC dan ODBC untuk menyediakan kredenSIAL IAM

Tabel berikut mencantumkan opsi JDBC dan ODBC untuk menyediakan kredenSIAL IAM.

Opsi

Deskripsi

Iam

Untuk digunakan hanya dalam string koneksi ODBC. Setel ke 1 untuk menggunakan otentikasi IAM.

AccessKeyID

SecretAccessKey

SessionToken

ID kunci akses dan kunci akses rahasia untuk peran IAM atau pengguna yang dikonfigurasi untuk otentikasi database IAM. SessionTokendiperlukan hanya untuk peran IAM dengan kredenSIAL sementara. SessionToken tidak digunakan untuk pengguna. Untuk informasi selengkapnya, lihat KredenSIAL Keamanan Sementara.
plugin_name Nama kelas yang memenuhi syarat sepenuhnya yang mengimplementasikan penyedia kredenSIAL. Driver Amazon Redshift JDBC menyertakan plugin penyedia SAML-based kredensia. Jika Anda menyediakanplugin_name, Anda juga dapat memberikan opsi terkait lainnya. Untuk informasi selengkapnya, lihat Plugin penyedia kredensia.

Profile

Nama profil dalam kredensional atau AWS file konfigurasi yang berisi nilai untuk opsi koneksi JDBC. Untuk informasi selengkapnya, lihat Menggunakan profil konfigurasi.

Opsi JDBC dan ODBC untuk membuat kredenSIAL pengguna database

Untuk menggunakan driver Amazon Redshift JDBC atau ODBC untuk membuat kredenSIAL pengguna database, berikan nama pengguna database sebagai opsi JDBC atau ODBC. Secara opsional, Anda dapat meminta driver membuat pengguna database baru jika tidak ada, dan Anda dapat menentukan daftar grup pengguna database yang bergabung pengguna saat login.

Jika Anda menggunakan penyedia identitas (IdP), bekerjasama dengan administrator IdP Anda untuk menentukan nilai yang benar untuk opsi ini. Administrator IdP Anda juga dapat mengonfigurasi IdP Anda untuk menyediakan opsi ini, dalam hal ini Anda tidak perlu menyediakannya sebagai opsi JDBC atau ODBC. Untuk informasi selengkapnya, lihat Langkah 2: Konfigurasikan pernyataan SAML untuk IdP Anda.

catatan

Jika Anda menggunakan variabel kebijakan IAM${redshift:DbUser}, seperti yang dijelaskan Kebijakan sumber daya untuk GetClusterCredentials dalam nilai untuk DbUser diganti dengan nilai yang diambil oleh konteks permintaan operasi API. Driver Amazon Redshift menggunakan nilai untuk DbUser variabel yang disediakan oleh URL koneksi, bukan nilai yang diberikan sebagai atribut SAML.

Untuk membantu mengamankan konfigurasi ini, sebaiknya gunakan kondisi dalam kebijakan IAM untuk memvalidasi DbUser nilai dengan. RoleSessionName Anda dapat menemukan contoh cara mengatur kondisi menggunakan kebijakan IAM diContoh 8: Kebijakan IAM untuk menggunakan GetClusterCredentials.

Tabel berikut mencantumkan opsi untuk membuat kredenSIAL pengguna database.

Opsi

Deskripsi
DbUser

Nama pengguna database. Jika pengguna bernama DbUser ada di database, kredentif pengguna sementara memiliki izin yang sama dengan pengguna yang ada. Jika DbUser tidak ada di database dan AutoCreate benar, pengguna baru bernama DbUser dibuat. Secara opsional, nonaktifkan kata sandi untuk pengguna yang ada. Untuk informasi selengkapnya, lihat ALTER_USER

AutoCreate

Tentukan true untuk membuat pengguna database dengan nama yang ditentukan DbUser jika tidak ada. Default-nya adalah salah.

DbGroups Daftar nama yang dipisahkan koma dari satu atau lebih grup database yang ada yang digabungkan pengguna database untuk sesi saat ini. Secara default, pengguna baru ditambahkan hanya ke PUBLIK.

Plugin penyedia kredensia

Amazon Redshift menggunakan plugin penyedia kredenSIAL untuk otentikasi masuk tunggal.

Untuk mendukung otentikasi masuk tunggal, Amazon Redshift menyediakan plugin Azure AD untuk Direktori Aktif Microsoft Azure. Untuk informasi tentang cara mengkonfigurasi plugin ini, lihatMenyiapkan otentikasi masuk tunggal JDBC atau ODBC.

Multi-factor otentikasi

Untuk mendukung otentikasi multi-faktor (MFA), Amazon Redshift menyediakan plugin berbasis browser. Gunakan plugin SAML browser untuk Okta, PingOne, dan plugin browser Azure AD untuk Microsoft Azure Active Directory.

Dengan plugin SAML browser, otentikasi OAuth mengalir seperti ini:

Alur kerja OAuth untuk bagaimana plugin, server lokal, browser web, dan titik akhir bekerja bersama untuk mengotentikasi pengguna dengan otentikasi SAML.
  1. Seorang pengguna mencoba masuk.

  2. Plugin meluncurkan server lokal untuk mendengarkan koneksi masuk di localhost.

  3. Plugin meluncurkan browser web untuk meminta respons SAML melalui HTTPS dari titik akhir penyedia identitas federasi URL login tunggal yang ditentukan.

  4. Browser web mengikuti tautan dan meminta pengguna untuk memasukkan kredenSIAL.

  5. Setelah pengguna mengotentikasi dan memberikan persetujuan, titik akhir penyedia identitas federasi mengembalikan respons SAML melalui HTTPS ke URI yang ditunjukkan oleh. redirect_uri

  6. Browser web memindahkan pesan respons dengan respons SAML ke yang ditunjukkanredirect_uri.

  7. Server lokal menerima koneksi masuk dan plugin mengambil respons SAML dan meneruskannya ke Amazon Redshift.

Dengan plugin Azure AD browser, otentikasi SAML mengalir seperti ini:

Alur kerja Azure untuk bagaimana plugin, server lokal, browser web, dan titik akhir bekerja bersama untuk mengotentikasi pengguna dengan otentikasi SAML.
  1. Seorang pengguna mencoba masuk.

  2. Plugin meluncurkan server lokal untuk mendengarkan koneksi masuk di localhost.

  3. Plugin meluncurkan browser web untuk meminta kode otorisasi dari titik akhir Azure oauth2/authorize AD.

  4. Browser web mengikuti tautan yang dihasilkan melalui HTTPS dan meminta pengguna untuk memasukkan kredenSIAL. Tautan dihasilkan menggunakan properti konfigurasi, seperti tenant dan client_id.

  5. Setelah pengguna mengotentikasi dan memberikan persetujuan, oauth2/authorize titik akhir Azure AD kembali dan mengirimkan respons melalui HTTPS dengan kode otorisasi ke yang ditunjukkanredirect_uri.

  6. Browser web memindahkan pesan respons dengan respons SAML ke yang ditunjukkanredirect_uri.

  7. Server lokal menerima koneksi masuk dan plugin meminta dan mengambil kode otorisasi dan mengirimkan permintaan POST ke titik akhir Azure ADoauth2/token.

  8. Titik oauth2/token akhir Azure AD mengembalikan respons dengan token akses ke yang ditunjukkanredirect_uri.

  9. Plugin mengambil respons SAML dan meneruskannya ke Amazon Redshift.

Lihat bagian berikut:

Opsi plugin

Untuk menggunakan plugin penyedia SAML-based kredenSIAL, tentukan opsi berikut menggunakan opsi JDBC atau ODBC atau dalam profil bernama. Jika plugin_name tidak ditentukan, opsi lain diabaikan.

Opsi

Deskripsi
plugin_name

Untuk JDBC, nama kelas yang mengimplementasikan penyedia kredenSIAL. Tentukan satu dari yang berikut ini:

  • Untuk Layanan Federasi Direktori Aktif

    com.amazon.redshift.plugin.AdfsCredentialsProvider
  • Untuk Okta

    com.amazon.redshift.plugin.OktaCredentialsProvider
  • Untuk PingFederate

    com.amazon.redshift.plugin.PingCredentialsProvider
  • Untuk Direktori Aktif Microsoft Azure

    com.amazon.redshift.plugin.AzureCredentialsProvider
  • Untuk SAML MFA

    com.amazon.redshift.plugin.BrowserSamlCredentialsProvider
  • Untuk masuk tunggal Microsoft Azure Active Directory dengan MFA

    com.amazon.redshift.plugin.BrowserAzureCredentialsProvider

Untuk ODBC, tentukan salah satu dari berikut ini:

  • Untuk Layanan Federasi Direktori Aktif: adfs

  • Untuk Okta: okta

  • Untuk PingFederate: ping

  • Untuk Direktori Aktif Microsoft Azure: azure

  • Untuk SAML MFA: browser saml

  • Untuk masuk tunggal Microsoft Azure Active Directory dengan MFA: browser azure ad

idp_host Nama host penyedia identitas perusahaan. Nama ini tidak boleh menyertakan garis miring ('/'). Untuk penyedia identitas Okta, nilai untuk idp_host harus diakhiri dengan.okta.com.

idp_port

Port yang digunakan oleh penyedia identitas. Default-nya adalah 443. Port ini diabaikan untuk Okta.

preferred_role

Peran Nama Sumber Daya Amazon (ARN) dari AttributeValue elemen untuk Role atribut dalam pernyataan SAML. Untuk menemukan nilai yang sesuai untuk peran yang disukai, bekerjasama dengan administrator IdP Anda. Untuk informasi selengkapnya, lihat Langkah 2: Konfigurasikan pernyataan SAML untuk IdP Anda.

user

Nama pengguna perusahaan, termasuk domain jika berlaku. Misalnya, untuk Active Directory, nama domain diperlukan dalam format domain\ username.
password

Kata sandi pengguna perusahaan. Kami sarankan untuk tidak menggunakan opsi ini. Sebagai gantinya, gunakan klien SQL Anda untuk memberikan kata sandi.

app_id

ID untuk aplikasi Okta. Hanya digunakan dengan Okta. Nilai untuk app_id berikut amazon_aws di tautan sematkan aplikasi Okta. Untuk mendapatkan nilai ini, bekerja dengan administrator IdP Anda. Berikut ini adalah contoh dari link embed aplikasi: https://example.okta.com/home/amazon_aws/0oa2hylwrpM8UGehd1t7/272

idp_tenant

Penyewa yang digunakan untuk Azure AD. Hanya digunakan dengan Azure.

client_id

ID klien untuk aplikasi perusahaan Amazon Redshift di Azure AD. Hanya digunakan dengan Azure.