Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Siapkan rotasi otomatis menggunakan AWS CLI
Tutorial ini menjelaskan cara mengatur Rotasi dengan fungsi Lambda dengan menggunakan AWS CLI. Saat Anda memutar rahasia, Anda memperbarui kredenSIAL di rahasia dan database atau layanan yang digunakan rahasia tersebut.
Anda juga dapat mengatur rotasi menggunakan konsol. Untuk rahasia database, lihatRotasi otomatis untuk rahasia database (konsol). Untuk semua jenis rahasia lainnya, lihatRotasi otomatis untuk rahasia non-database (konsol).
Untuk mengatur rotasi menggunakan AWS CLI, jika Anda memutar rahasia database, Anda harus terlebih dahulu memilih strategi rotasi. Jika Anda memilih strategi pengguna bergantian, Anda harus menyimpan rahasia terpisah dengan kredenSIAL untuk superuser database. Selanjutnya, Anda menulis kode fungsi rotasi. Manajer Rahasia menyediakan templat yang dapat Anda gunakan untuk mendasarkan fungsi Anda. Kemudian Anda membuat fungsi Lambda dengan kode Anda dan mengatur izin untuk fungsi Lambda dan peran eksekusi Lambda. Langkah selanjutnya adalah memastikan bahwa fungsi Lambda dapat mengakses Manajer Rahasia dan database atau layanan Anda melalui jaringan. Akhirnya, Anda mengkonfigurasi rahasia untuk rotasi.
Langkah:
Prasyarat untuk rahasia database: Pilih strategi rotasi
Untuk informasi tentang strategi yang ditawarkan oleh Manajer Rahasia, lihatStrategi rotasi fungsi Lambda.
Opsi 1: Strategi pengguna tunggal
Jika Anda memilih strategi pengguna tunggal, Anda dapat melanjutkan dengan Langkah 1.
Opsi 2: Strategi pengguna bergantian
Jika Anda memilih strategi pengguna bergantian, Anda harus:
-
Buat rahasia dan simpan kredenSIAL superuser database di dalamnya. Anda memerlukan rahasia dengan kredenSIAL superuser karena rotasi pengguna bergantian mengkloning pengguna pertama, dan sebagian besar pengguna tidak memiliki izin itu.
-
Tambahkan ARN rahasia superuser ke rahasia aslinya. Untuk informasi selengkapnya, lihat Struktur rahasia JSON AWS Secrets Manager.
Perhatikan bahwa Amazon RDS Proxy tidak mendukung strategi pengguna bergantian.
Langkah 1: Tulis kode fungsi rotasi
Untuk memutar rahasia, Anda memerlukan fungsi rotasi. Fungsi rotasi adalah fungsi Lambda yang dipanggil Secrets Manager untuk memutar rahasia Anda. Untuk informasi selengkapnya, lihat Rotasi dengan fungsi Lambda. Pada langkah ini, Anda menulis kode yang memperbarui rahasia dan layanan atau database yang digunakan untuk rahasianya.
Secrets Manager menyediakan template untuk rahasia database Amazon RDS, Amazon Aurora, Amazon Redshift, dan Amazon DocumentDB di. Templat fungsi rotasi
Untuk menulis kode fungsi rotasi
-
Lakukan salah satu tindakan berikut:
Periksa daftar template fungsi rotasi. Jika ada satu yang cocok dengan strategi layanan dan rotasi Anda, salin kodenya.
Untuk jenis rahasia lainnya, Anda menulis fungsi rotasi Anda sendiri. Untuk petunjuk, lihat Fungsi rotasi lambda.
Simpan file dalam file ZIP
my-function.zipbersama dengan dependensi yang diperlukan.
Langkah 2: Buat fungsi Lambda
Pada langkah ini, Anda membuat fungsi Lambda menggunakan file ZIP yang Anda buat di Langkah 1. Anda juga mengatur peran eksekusi Lambda, yang merupakan peran yang diasumsikan Lambda saat fungsi dipanggil.
Untuk membuat fungsi rotasi Lambda dan peran eksekusi
Buat kebijakan kepercayaan untuk peran eksekusi Lambda dan simpan sebagai file JSON. Untuk contoh dan informasi lebih lanjut, lihatIzin peran eksekusi fungsi rotasi Lambda untuk AWS Secrets Manager. Kebijakan tersebut harus:
Izinkan peran untuk memanggil operasi Manajer Rahasia pada rahasia.
Izinkan peran untuk memanggil layanan yang menjadi rahasia, misalnya, untuk membuat kata sandi baru.
-
Buat peran eksekusi Lambda dan terapkan kebijakan kepercayaan yang Anda buat pada langkah sebelumnya dengan memanggil
iam create-role.aws iam create-role \ --role-namerotation-lambda-role\ --assume-role-policy-document file://trust-policy.json -
Buat fungsi Lambda dari file ZIP dengan memanggil
lambda create-function.aws lambda create-function \ --function-namemy-rotation-function\ --runtime python3.12 \ --zip-file fileb://my-function.zip\ --handler lambda_function.lambda_handler \ --role arn:aws:iam::123456789012:role/service-role/rotation-lambda-role -
Tetapkan kebijakan sumber daya pada fungsi Lambda untuk mengizinkan Secrets Manager memanggilnya dengan memanggil.
lambda add-permissionaws lambda add-permission \ --function-namemy-rotation-function\ --action lambda:InvokeFunction \ --statement-id SecretsManager \ --principal secretsmanager.amazonaws.com \ --source-account123456789012
Langkah 3: Siapkan akses jaringan
Untuk informasi selengkapnya, lihat Akses jaringan untuk fungsi AWS Lambda rotasi.
Langkah 4: Konfigurasikan rahasia untuk rotasi
Untuk mengaktifkan rotasi otomatis untuk rahasia Anda, hubungi rotate-secret. Anda dapat mengatur jadwal rotasi dengan ekspresi rate() jadwal cron() atau, dan Anda dapat mengatur durasi jendela rotasi. Untuk informasi selengkapnya, lihat Jadwal rotasi.
aws secretsmanager rotate-secret \ --secret-id MySecret \ --rotation-lambda-arn arn:aws:lambda::aws-region123456789012:function:my-rotation-function\ --rotation-rules "{\"ScheduleExpression\": \"cron(0 16 1,15 * ? *)\", \"Duration\": \"2h\"}"
Langkah selanjutnya
Lihat Pemecahan Masalah AWS Secrets Manager rotasi.