Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menghasilkan kredensi database untuk IAM identitas menggunakan Amazon Redshift atau CLI API
Untuk menghasilkan kredenal pengguna database sementara secara terprogram, Amazon Redshift menyediakan get-cluster-credentialsperintah untuk () dan operasi. AWS Command Line Interface AWS CLIGetClusterCredentialsAPI Atau Anda dapat mengonfigurasi SQL klien Anda dengan Amazon Redshift JDBC atau ODBC driver yang mengelola proses pemanggilan GetClusterCredentials
operasi, mengambil kredensi pengguna database, dan membuat koneksi antara klien Anda dan database Amazon Redshift SQL Anda. Untuk informasi selengkapnya, lihat JDBCdan ODBC opsi untuk membuat kredensyal pengguna basis data.
catatan
Sebaiknya gunakan Amazon Redshift JDBC atau ODBC driver untuk menghasilkan kredensi pengguna basis data.
Di bagian ini, Anda dapat menemukan langkah-langkah untuk memanggil GetClusterCredentials
operasi atau get-cluster-credentials perintah secara terprogram, mengambil kredensi pengguna database, dan terhubung ke database.
Untuk menghasilkan dan menggunakan kredenal database sementara
-
Membuat atau memodifikasi pengguna atau peran dengan izin yang diperlukan. Untuk informasi selengkapnya tentang IAM izin, lihatLangkah 3: Buat IAM peran dengan izin untuk menelepon GetClusterCredentials.
-
Sebagai pengguna atau peran yang Anda otorisasi pada langkah sebelumnya, jalankan get-cluster-credentials CLI perintah atau panggil
GetClusterCredentials
API operasi dan berikan nilai-nilai berikut:-
Cluster identifier — Nama cluster yang berisi database.
-
Nama pengguna database — Nama pengguna database yang sudah ada atau baru.
-
Jika pengguna tidak ada dalam 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 adalah
temp_creds_user
.
-
-
Autocreate — (Opsional) Buat pengguna baru jika nama pengguna database tidak ada.
-
Nama basis data — (Opsional) Nama database yang diizinkan pengguna 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 login berhasil, pengguna database ditambahkan ke grup pengguna yang ditentukan. Jika tidak ada grup yang ditentukan, pengguna hanya memiliki PUBLIC izin. Nama grup pengguna harus cocok dengan sumber daya dbgroup ARNs yang ditentukan dalam IAM kebijakan yang dilampirkan pada pengguna atau peran.
-
Waktu kedaluwarsa — (Opsional) Waktu, dalam hitungan detik, hingga kredensi sementara kedaluwarsa. Anda dapat menentukan nilai antara 900 detik (15 menit) dan 3600 detik (60 menit). Defaultnya adalah 900 detik.
-
-
Amazon Redshift memverifikasi bahwa pengguna memiliki izin untuk memanggil
GetClusterCredentials
operasi dengan sumber daya yang ditentukan. -
Amazon Redshift mengembalikan kata sandi sementara dan nama pengguna database.
Contoh berikut menggunakan Amazon Redshift CLI untuk menghasilkan kredenal database 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 kredenal database 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==" }
-
Buat koneksi otentikasi Secure Socket Layer (SSL) dengan cluster Amazon Redshift dan kirim permintaan login dengan nama pengguna dan kata sandi dari
GetClusterCredentials
respons. SertakanIAMA:
awalanIAM:
atau dengan nama pengguna, misalnyaIAM:temp_creds_user
atauIAMA:temp_creds_user
.penting
Konfigurasikan SQL klien Anda untuk membutuhkanSSL. Jika tidak, jika SQL klien Anda secara otomatis mencoba untuk terhubung denganSSL, itu dapat kembali ke SSL non-jika ada jenis kegagalan. Dalam hal ini, upaya koneksi pertama mungkin gagal karena kredensialnya kedaluwarsa atau tidak valid, maka upaya koneksi kedua gagal karena koneksi tidak. SSL Jika itu terjadi, pesan kesalahan pertama mungkin terlewatkan. Untuk informasi selengkapnya tentang menghubungkan ke cluster Anda menggunakanSSL, lihatMengkonfigurasi opsi keamanan untuk koneksi.
-
Jika koneksi tidak digunakanSSL, upaya koneksi gagal.
-
Cluster mengirimkan
authentication
permintaan ke SQL klien. -
SQLKlien kemudian mengirimkan kata sandi sementara ke cluster.
-
Jika kata sandi valid dan belum kedaluwarsa, cluster menyelesaikan koneksi.