Siapkan rotasi otomatis untuk rahasia Amazon RDS, Amazon Aurora, Amazon Redshift, atau Amazon DocumentDB - AWS Secrets Manager

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

Siapkan rotasi otomatis untuk rahasia Amazon RDS, Amazon Aurora, Amazon Redshift, atau Amazon DocumentDB

Tutorial ini menjelaskan cara mengatur Rotasi oleh fungsi Lambda rahasia database. Rotasi adalah proses memperbarui rahasia secara berkala. Ketika Anda memutar rahasia, Anda memperbarui kredensil di kedua rahasia dan database. Di Secrets Manager, Anda dapat mengatur rotasi otomatis untuk rahasia database Anda.

Untuk mengatur rotasi menggunakan konsol, Anda harus terlebih dahulu memilih strategi rotasi. Kemudian Anda mengonfigurasi rahasia rotasi, yang menciptakan fungsi rotasi Lambda jika Anda belum memilikinya. Konsol juga menetapkan izin untuk peran eksekusi fungsi Lambda. Langkah terakhir adalah memastikan bahwa fungsi rotasi Lambda dapat mengakses Secrets Manager dan database Anda melalui jaringan.

Awas

Untuk mengaktifkan rotasi otomatis, Anda harus memiliki izin untuk membuat peran eksekusi IAM untuk fungsi rotasi Lambda dan melampirkan kebijakan izin padanya. Anda membutuhkan keduanya iam:CreateRole dan iam:AttachRolePolicy izin. Pemberian izin ini memungkinkan identitas untuk memberikan izin apa pun kepada diri mereka sendiri.

Langkah 1: Pilih strategi rotasi dan (opsional) buat rahasia superuser

Untuk informasi tentang strategi yang ditawarkan oleh Secrets Manager, lihatStrategi rotasi fungsi Lambda.

Jika Anda memilih strategi pengguna bergantian, Anda harus Buat rahasia database dan menyimpan kredenal superuser database di dalamnya. Anda memerlukan rahasia dengan kredensil superuser karena rotasi mengkloning pengguna pertama, dan sebagian besar pengguna tidak memiliki izin itu. Perhatikan bahwa Amazon RDS Proxy tidak mendukung strategi pengguna bergantian.

Langkah 2: Konfigurasikan rotasi dan buat fungsi rotasi

Untuk mengaktifkan rotasi untuk rahasia Amazon RDS, Amazon DocumentDB, atau Amazon Redshift
  1. Buka konsol Secrets Manager di https://console.aws.amazon.com/secretsmanager/.

  2. Pada halaman Rahasia, pilih rahasia Anda.

  3. Pada halaman Detail rahasia, di bagian konfigurasi Rotasi, pilih Edit rotasi.

  4. Dalam kotak dialog Edit konfigurasi rotasi, lakukan hal berikut:

    1. Nyalakan rotasi otomatis.

    2. Di bawah Jadwal rotasi, masukkan jadwal Anda di zona waktu UTC baik di pembuat ekspresi Jadwal atau sebagai ekspresi Jadwal. Secrets Manager menyimpan jadwal Anda sebagai cron() ekspresi rate() atau. Jendela rotasi secara otomatis dimulai pada tengah malam kecuali Anda menentukan waktu Mulai. Anda dapat memutar rahasia sesering setiap empat jam. Untuk informasi selengkapnya, lihat Jadwal rotasi.

    3. (Opsional) Untuk durasi Jendela, pilih panjang jendela di mana Anda ingin Secrets Manager memutar rahasia Anda, 3h misalnya untuk jendela tiga jam. Jendela tidak boleh meluas ke jendela rotasi berikutnya. Jika Anda tidak menentukan Durasi jendela, untuk jadwal rotasi dalam jam, jendela akan ditutup secara otomatis setelah satu jam. Untuk jadwal rotasi dalam beberapa hari, jendela secara otomatis ditutup pada akhir hari.

    4. (Opsional) Pilih Putar segera ketika rahasia disimpan untuk memutar rahasia Anda ketika Anda menyimpan perubahan Anda. Jika Anda menghapus kotak centang, maka rotasi pertama akan dimulai pada jadwal yang Anda tetapkan.

      Jika rotasi gagal, misalnya karena Langkah 3 dan 4 belum selesai, Secrets Manager mencoba ulang proses rotasi beberapa kali.

    5. Di bawah fungsi Rotasi, lakukan salah satu hal berikut:

      • Pilih Buat fungsi Lambda baru dan masukkan nama untuk fungsi baru Anda. Secrets Manager menambahkan SecretsManager ke awal nama fungsi. Secrets Manager membuat fungsi berdasarkan template yang sesuai dan menetapkan izin yang diperlukan untuk peran eksekusi Lambda.

      • Pilih Gunakan fungsi Lambda yang ada untuk menggunakan kembali fungsi rotasi yang Anda gunakan untuk rahasia lain. Fungsi rotasi yang tercantum di bawah Konfigurasi VPC yang direkomendasikan memiliki VPC dan grup keamanan yang sama dengan database, yang membantu fungsi mengakses database.

    6. Untuk strategi Rotasi, pilih strategi Single user atau Alternating users. Untuk informasi selengkapnya, lihat Langkah 1: Pilih strategi rotasi dan (opsional) buat rahasia superuser.

  5. Pilih Simpan.

Langkah 3: (Opsional) Tetapkan kondisi izin tambahan pada fungsi rotasi

Dalam kebijakan sumber daya untuk fungsi rotasi Anda, sebaiknya sertakan kunci konteks aws:SourceAccountuntuk membantu mencegah Lambda digunakan sebagai wakil yang bingung. Untuk beberapa AWS layanan, untuk menghindari skenario wakil yang membingungkan, AWS merekomendasikan agar Anda menggunakan kunci kondisi aws:SourceAccountglobal aws:SourceArndan global. Namun, jika Anda menyertakan kondisi aws:SourceArn dalam kebijakan fungsi rotasi Anda, fungsi rotasi hanya dapat digunakan untuk merotasi rahasia yang ditentukan oleh ARN tersebut. Sebaiknya hanya sertakan kunci konteks aws:SourceAccount agar Anda dapat menggunakan fungsi rotasi untuk beberapa rahasia.

Untuk memperbarui kebijakan sumber daya fungsi rotasi Anda
  1. Di konsol Secrets Manager, pilih rahasia Anda, dan kemudian pada halaman detail, di bawah konfigurasi Rotasi, pilih fungsi rotasi Lambda. Konsol Lambda terbuka.

  2. Ikuti petunjuk di Menggunakan kebijakan berbasis sumber daya untuk Lambda untuk menambahkan kondisi. aws:sourceAccount

    "Condition": { "StringEquals": { "AWS:SourceAccount": "123456789012" } },

Jika rahasia dienkripsi dengan kunci KMS selain, Secrets Kunci yang dikelola AWS aws/secretsmanager Manager memberikan izin peran eksekusi Lambda untuk menggunakan kunci tersebut. Anda dapat menggunakan konteks enkripsi secretArn untuk membatasi penggunaan fungsi dekripsi, sehingga peran fungsi rotasi hanya memiliki akses untuk mendekripsi rahasia yang bertanggung jawab untuk memutar.

Untuk memperbarui peran eksekusi fungsi rotasi Anda
  1. Dari fungsi rotasi Lambda, pilih Konfigurasi, lalu di bawah Peran eksekusi, pilih nama Peran.

  2. Ikuti petunjuk di Memodifikasi kebijakan izin peran untuk menambahkan kondisi. kms:EncryptionContext:SecretARN

    "Condition": { "StringEquals": { "kms:EncryptionContext:SecretARN": "SecretARN" } },

Langkah 4: Siapkan akses jaringan untuk fungsi rotasi

Untuk informasi selengkapnya, lihat Akses jaringan untuk fungsi rotasi Lambda.

Langkah selanjutnya

Lihat Memecahkan masalah rotasi AWS Secrets Manager.