Mengkonfigurasi otentikasi IAM untuk RDS Proxy - Amazon Aurora

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

Mengkonfigurasi otentikasi IAM untuk RDS Proxy

Untuk menyiapkan autentikasi AWS Identity and Access Management (IAM) untuk Proxy RDS di Amazon RDS, buat dan konfigurasikan kebijakan IAM yang memberikan izin yang diperlukan.

Topik ini menyediakan langkah-langkah untuk mengonfigurasi autentikasi IAM untuk RDS Proxy, termasuk membuat kebijakan IAM yang diperlukan dan melampirkannya ke peran IAM.

Tip

Prosedur ini hanya diperlukan jika Anda ingin membuat peran IAM Anda sendiri. Jika tidak, RDS dapat secara otomatis membuat peran yang diperlukan saat Anda mengatur proxy, sehingga Anda dapat melewati langkah-langkah ini.

Prasyarat

Sebelum Anda mengatur autentikasi IAM untuk RDS Proxy, pastikan Anda memiliki yang berikut:

  • AWS Secrets Manager— Setidaknya satu rahasia tersimpan yang berisi kredensi database. Untuk instruksi untuk membuat rahasia, lihatMenyiapkan kredensil database untuk RDS Proxy.

    Ini tidak diperlukan jika Anda menggunakan otentikasi end-to-end IAM.

  • Izin IAM — Peran IAM atau pengguna dengan izin untuk membuat dan mengelola kebijakan, peran, dan rahasia IAM. AWS Secrets Manager

Membuat kebijakan IAM untuk autentikasi end-to-end IAM

Saat menggunakan autentikasi end-to-end IAM, RDS Proxy terhubung ke database Anda menggunakan autentikasi IAM alih-alih mengambil kredensi dari Secrets Manager. Ini memerlukan konfigurasi peran IAM Anda dengan rds-db:connect izin untuk akun database yang ingin Anda gunakan dengan proxy.

Untuk mengautentikasi Proxy RDS Anda ke database menggunakan IAM, buat peran IAM dengan kebijakan yang memberikan izin koneksi database yang diperlukan.

Untuk membuat peran untuk otentikasi end-to-end IAM dengan proxy Anda
  1. Masuk ke the console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Buat kebijakan izin untuk peran tersebut. Untuk langkah umum, lihat Membuat kebijakan IAM (konsol).

    Tempelkan kebijakan ini ke editor JSON dan buat perubahan berikut:

    • Ganti ID akun Anda sendiri.

    • Gantikan us-east-2 dengan tempat proxy harus berada.

    • Gantikan sumber daya database IDs dan nama pengguna dengan yang ingin Anda gunakan. Format ID sumber daya berbeda antara instance RDS dan. Aurora clusters

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rds-db:connect", "Resource": [ "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_1", "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_2" ] } ] }
  3. Buat peran dan lampirkan kebijakan izin padanya. Untuk langkah umum, lihat Membuat peran untuk mendelegasikan izin ke layanan. AWS

    Untuk jenis entitas Tepercaya, pilih AWS layanan. Di bawah Kasus penggunaan, pilih RDS dan pilih RDS - Tambahkan Peran ke Database untuk kasus penggunaan.

  4. Untuk kebijakan Izin, pilih kebijakan yang Anda buat.

  5. Untuk Pilih entitas tepercaya, masukkan kebijakan kepercayaan berikut untuk peran tersebut:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Untuk membuat peran menggunakan AWS CLI, kirim permintaan berikut:

aws iam create-role \ --role-name my_e2e_iam_role_name \ --assume-role-policy-document '{"Version":"2012-10-17", "Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}'

Kemudian, lampirkan kebijakan ke peran:

aws iam put-role-policy \ --role-name my_e2e_iam_role_name \ --policy-name e2e_iam_db_connect_policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "rds-db:connect", "Resource": [ "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_1", "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_2" ] } ] }'

Dengan peran IAM dan izin yang dikonfigurasi untuk autentikasi end-to-end IAM, Anda sekarang dapat membuat proxy dengan set to. DefaultAuthScheme IAM_AUTH Proxy ini langsung mengautentikasi ke database menggunakan IAM tanpa memerlukan rahasia Secrets Manager. Untuk petunjuk, lihat Membuat proxy untuk .

Saat menggunakan autentikasi end-to-end IAM, pastikan bahwa pengguna database Anda dikonfigurasi untuk autentikasi IAM seperti yang dijelaskan dalam. Membuat akun basis data menggunakan autentikasi IAM

Membuat kebijakan IAM untuk akses Secrets Manager

Untuk mengizinkan RDS Proxy mengambil kredenal database dari Secrets Manager, buat peran IAM dengan kebijakan yang memberikan izin yang diperlukan.

Untuk membuat peran untuk mengakses rahasia Anda untuk digunakan dengan proxy Anda
  1. Masuk ke the console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Buat kebijakan izin untuk peran tersebut. Untuk langkah umum, lihat Membuat kebijakan IAM (konsol).

    Tempelkan kebijakan ini ke editor JSON dan buat perubahan berikut:

    • Ganti ID akun Anda sendiri.

    • Gantikan us-east-2 dengan Wilayah tempat proxy akan berada.

    • Ganti nama rahasia dengan yang Anda buat. Untuk informasi selengkapnya, lihat Menentukan kunci KMS dalam pernyataan kebijakan IAM.

    • Ganti ID kunci KMS dengan yang Anda gunakan untuk mengenkripsi rahasia Secrets Manager, baik kunci default atau kunci Anda sendiri.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_2" ] }, { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:111122223333:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }
  3. Buat peran dan lampirkan kebijakan izin padanya. Untuk langkah umum, lihat Membuat peran untuk mendelegasikan izin ke layanan. AWS

    Untuk jenis entitas Tepercaya, pilih AWS layanan. Di bawah Kasus penggunaan, pilih RDS dan pilih RDS - Tambahkan Peran ke Database untuk kasus penggunaan.

  4. Untuk kebijakan Izin, pilih kebijakan yang Anda buat.

  5. Untuk Pilih entitas tepercaya, masukkan kebijakan kepercayaan berikut untuk peran tersebut:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Untuk membuat peran menggunakan AWS CLI, kirim permintaan berikut:

aws iam create-role \ --role-name my_role_name \ --assume-role-policy-document '{"Version": "2012-10-17", "Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}'

Kemudian, lampirkan kebijakan ke peran:

aws iam put-role-policy \ --role-name my_role_name \ --policy-name secret_reader_policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }'

Dengan peran dan izin IAM yang dikonfigurasi, Anda sekarang dapat membuat proxy dan mengaitkannya dengan peran ini. Hal ini memungkinkan proxy untuk mengambil kredensi database dengan aman dari AWS Secrets Manager dan mengaktifkan autentikasi IAM untuk aplikasi Anda. Untuk petunjuk, lihat Membuat proxy untuk .