View a markdown version of this page

Menghasilkan kredentif database untuk identitas IAM menggunakan Amazon Redshift CLI atau API - 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.

Menghasilkan kredentif database untuk identitas IAM menggunakan Amazon Redshift CLI atau API

Untuk membuat kredentif pengguna basis data sementara secara terprogram, Amazon Redshift menyediakan perintah get-cluster-untuk operasi () dan API. AWS Command Line Interface AWS CLI GetClusterCredentials Atau Anda dapat mengonfigurasi klien SQL Anda dengan driver Amazon Redshift JDBC atau ODBC yang mengelola proses memanggil GetClusterCredentials operasi, mengambil kredentif pengguna database, dan membuat koneksi antara klien SQL Anda dan database Amazon Redshift Anda. Untuk informasi selengkapnya, lihat Opsi JDBC dan ODBC untuk membuat kredenSIAL pengguna database.

catatan

Sebaiknya gunakan driver Amazon Redshift JDBC atau ODBC untuk menghasilkan kredenSIAL pengguna database.

Di bagian ini, Anda dapat menemukan langkah-langkah untuk secara terprogram memanggil GetClusterCredentials operasi atau perintah get-cluster-, mengambil kredentif pengguna database, dan terhubung ke database.

Untuk menghasilkan dan menggunakan kredentif basis data sementara
  1. Buat atau ubah pengguna atau peran dengan izin yang diperlukan. Untuk informasi selengkapnya tentang izin IAM, lihatLangkah 3: Buat peran IAM dengan izin untuk memanggil atau GetClusterCredentialsWithIAM GetClusterCredentials.

  2. Sebagai pengguna atau peran yang Anda otorisasi pada langkah sebelumnya, jalankan perintah get-cluster-CLI atau panggil operasi GetClusterCredentials API dan berikan nilai berikut:

    • Cluster identifier — Nama cluster yang berisi database.

    • Nama pengguna database — Nama pengguna database yang ada atau baru.

      • Jika pengguna tidak ada di database dan AutoCreate benar, pengguna baru dibuat dengan PASSWORD dinonaktifkan.

      • Jika pengguna tidak ada, dan AutoCreate salah, permintaan gagal.

      • Untuk contoh ini, nama pengguna database adalahtemp_creds_user.

    • Buat Otom atis — (Opsional) Buat pengguna baru jika nama pengguna database tidak ada.

    • Nama database — (Opsional) Nama database yang pengguna berwenang untuk masuk. Jika nama database tidak ditentukan, pengguna dapat masuk ke database cluster apa pun.

    • Grup basis data — (Opsional) Daftar grup pengguna database yang ada. Setelah berhasil login, pengguna database ditambahkan ke grup pengguna yang ditentukan. Jika tidak ada grup yang ditentukan, pengguna hanya memiliki izin PUBLIK. Nama grup pengguna harus sesuai dengan ARN sumber daya dbgroup yang ditentukan dalam kebijakan IAM yang dilampirkan ke pengguna atau peran.

    • Waktu kedaluwarsa — (Opsional) Waktu, dalam detik, hingga kredenSIAL sementara berakhir. Anda dapat menentukan nilai antara 900 detik (15 menit) dan 3600 detik (60 menit). Defaultnya adalah 900 detik.

  3. Amazon Redshift memverifikasi bahwa pengguna memiliki izin untuk memanggil GetClusterCredentials operasi dengan sumber daya yang ditentukan.

  4. Amazon Redshift mengembalikan kata sandi sementara dan nama pengguna database.

    Contoh berikut menggunakan Amazon Redshift CLI untuk menghasilkan kredentif basis data sementara untuk pengguna yang sudah ada bernama. temp_creds_user

    aws redshift get-cluster-credentials --cluster-identifier examplecluster --db-user temp_creds_user --db-name exampledb --duration-seconds 3600

    Hasilnya adalah sebagai berikut.

    {
      "DbUser": "IAM:temp_creds_user", 
      "Expiration": "2016-12-08T21:12:53Z", 
      "DbPassword": "EXAMPLEjArE3hcnQj8zt4XQj9Xtma8oxYEM8OyxpDHwXVPyJYBDm/gqX2Eeaq6P3DgTzgPg=="
    }

    Contoh berikut menggunakan Amazon Redshift CLI dengan autocreate untuk menghasilkan kredentif basis data sementara untuk pengguna baru dan menambahkan pengguna ke grup. example_group

    aws redshift get-cluster-credentials --cluster-identifier examplecluster --db-user temp_creds_user --auto-create --db-name exampledb --db-groups example_group --duration-seconds 3600

    Hasilnya adalah sebagai berikut.

    {
      "DbUser": "IAMA:temp_creds_user:example_group", 
      "Expiration": "2016-12-08T21:12:53Z", 
      "DbPassword": "EXAMPLEjArE3hcnQj8zt4XQj9Xtma8oxYEM8OyxpDHwXVPyJYBDm/gqX2Eeaq6P3DgTzgPg=="
    }
  5. Buat koneksi otentikasi Secure Socket Layer (SSL) dengan cluster Amazon Redshift dan kirim permintaan login dengan nama pengguna dan kata sandi dari GetClusterCredentials respons. Sertakan IAMA: awalan IAM: atau dengan nama pengguna, misalnya IAM:temp_creds_user atauIAMA:temp_creds_user.

    penting

    Konfigurasikan klien SQL Anda untuk memerlukan SSL. Jika tidak, jika klien SQL Anda secara otomatis mencoba terhubung dengan SSL, itu dapat kembali ke non-SSL jika ada kegagalan. Dalam hal ini, upaya koneksi pertama mungkin gagal karena kredensialnya kedaluwarsa atau tidak valid, maka upaya koneksi kedua gagal karena koneksi bukan SSL. Jika itu terjadi, pesan kesalahan pertama mungkin terlewatkan. Untuk informasi selengkapnya tentang menghubungkan ke cluster Anda menggunakan SSL, lihatMengkonfigurasi opsi keamanan untuk koneksi.

  6. Jika koneksi tidak menggunakan SSL, upaya koneksi gagal.

  7. Cluster mengirimkan authentication permintaan ke klien SQL.

  8. Klien SQL kemudian mengirimkan kata sandi sementara ke cluster.

  9. Jika kata sandi valid dan belum kedaluwarsa, cluster menyelesaikan koneksi.