Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Secara otomatis memutar kata sandi untuk pengguna
Dengan AWS Secrets Manager, Anda dapat mengganti kredensial hardcode dalam kode Anda (termasuk kata sandi) dengan panggilan API ke Secrets Manager untuk mengambil rahasia secara terprogram. Ini membantu memastikan bahwa rahasia tidak dapat dikompromikan oleh seseorang yang memeriksa kode Anda, karena rahasianya tidak ada di sana. Juga, Anda dapat mengonfigurasi Secrets Manager untuk secara otomatis memutar rahasia untuk Anda sesuai dengan jadwal yang Anda tentukan. Ini memungkinkan Anda untuk mengganti rahasia jangka panjang dengan rahasia jangka pendek, yang membantu mengurangi risiko kompromi secara signifikan.
Dengan menggunakan Secrets Manager, Anda dapat secara otomatis memutar kata sandi Redis Anda ElastiCache (yaitu, rahasia) menggunakanAWS Lambda fungsi yang disediakan oleh Secrets Manager.
Untuk informasi lebih lanjut tentangAWS Secrets Manager, lihat Apa ituAWS Secrets Manager?
Bagaimana ElastiCache menggunakan rahasia
Dengan Redis 6, ElastiCache untuk Redis diperkenalkanKontrol Akses Berbasis Peran (RBAC) untuk mengamankan cluster Redis. Fitur ini memungkinkan koneksi tertentu dibatasi dalam hal perintah yang dapat dijalankan dan kunci yang dapat diakses. Dengan RBAC, sementara pelanggan membuat pengguna dengan kata sandi, nilai kata sandi harus dimasukkan secara manual dalam plaintext dan terlihat oleh operator.
Dengan Secrets Manager, aplikasi mengambil kata sandi dari Secrets Manager daripada memasukkannya secara manual dan menyimpannya dalam konfigurasi aplikasi. Untuk informasi tentang cara melakukan ini, lihatBagaimana ElastiCache pengguna dikaitkan dengan rahasia.
Ada biaya yang dikeluarkan untuk menggunakan rahasia. Untuk informasi harga, lihat AWSSecrets Manager
Bagaimana ElastiCache pengguna dikaitkan dengan rahasia
Secrets Manager akan menyimpan referensi untuk pengguna terkait diSecretString
bidang rahasia. Tidak akan ada referensi ke rahasia dari ElastiCache sisi.
{ "password": "strongpassword", "username": "user1" "user_arn": "arn:aws:elasticache:us-east-1:xxxxxxxxxx918:user:user1" //this is the bond between the secret and the user }
Lambda
Untuk mengaktifkan rotasi kata sandi otomatis Secrets Manager, Anda akan membuat fungsi Lambda yang akan berinteraksi dengan API pengguna modifikasi untuk memperbarui kata sandi pengguna.
Untuk informasi tentang cara kerjanya, lihat Cara kerja rotasi.
catatan
Untuk beberapaAWS layanan, untuk menghindari skenario wakil bingung,AWS merekomendasikan bahwa Anda menggunakan keduaaws:SourceArn
dan kunci kondisiaws:SourceAccount
global. Namun, jika Anda memasukkanaws:SourceArn
kondisi dalam kebijakan fungsi rotasi Anda, fungsi rotasi hanya dapat digunakan untuk memutar rahasia yang ditentukan oleh ARN tersebut. Kami menyarankan Anda hanya menyertakan kunci konteksaws:SourceAccount
sehingga Anda dapat menggunakan fungsi rotasi untuk beberapa rahasia.
Untuk masalah apa pun yang mungkin Anda alami, lihat Memecahkan masalah rotasiAWS Secrets Manager.
Cara membuat ElastiCache pengguna dan mengasosiasikannya dengan Secrets Manager
Langkah-langkah berikut menggambarkan cara membuat pengguna dan mengasosiasikannya dengan Secrets Manager:
Membuat pengguna yang tidak aktif
Untuk Linux, macOS, atau Unix:
aws elasticache create-user \ --user-id user1 \ --user-name user1 \ --engine "REDIS" \ --no-password \ // no authentication is required --access-string "*off* +get ~keys*" // this disables the user
Untuk Windows:
aws elasticache create-user ^ --user-id user1 ^ --user-name user1 ^ --engine "REDIS" ^ --no-password ^ // no authentication is required --access-string "*off* +get ~keys*" // this disables the user
Anda akan melihat respons yang mirip dengan yang berikut ini:
{ "UserId": "user1", "UserName": "user1", "Status": "active", "Engine": "redis", "AccessString": "off ~keys* -@all +get", "UserGroupIds": [], "Authentication": { "Type": "no_password" }, "ARN": "arn:aws:elasticache:us-east-1:xxxxxxxxxx918:user:user1" }
Buat Rahasia
Untuk Linux, macOS, atau Unix:
aws secretsmanager create-secret \ --name production/ec/user1 \ --secret-string \ '{ "user_arn": "arn:aws:elasticache:us-east-1:123456xxxx:user:user1", "username":"user1" }'
Untuk Windows:
aws secretsmanager create-secret ^ --name production/ec/user1 ^ --secret-string ^ '{ "user_arn": "arn:aws:elasticache:us-east-1:123456xxxx:user:user1", "username":"user1" }'
Anda akan melihat respons yang mirip dengan yang berikut ini:
{ "ARN": "arn:aws:secretsmanager:us-east-1:123456xxxx:secret:production/ec/user1-eaFois", "Name": "production/ec/user1", "VersionId": "aae5b963-1e6b-4250-91c6-ebd6c47d0d95" }
Mengkonfigurasi fungsi Lambda untuk memutar kata sandi
Masuk keAWS Management Console dan buka konsol Lambda di https://console.aws.amazon.com/lambda/
Pilih Functions pada panel navigasi dan kemudian pilih fungsi yang Anda buat. Pilih nama fungsi, bukan kotak centang di sebelah kiri.
Pilih tab Konfigurasi.
Di Konfigurasi umum, pilih Edit dan kemudian atur Timeout ke setidaknya 12 menit.
Pilih Save (Simpan).
Pilih variabel Environment dan kemudian atur yang berikut ini:
SECRETS_MANAGER_ENDPOINT - https://secretsmanager.
REGION
.amazonaws.comSECRET_ARN - Amazon Resource Name (ARN) dari rahasia yang Anda buat pada Langkah 2.
USER_NAME - Nama ElastiCache pengguna pengguna,
Pilih Save (Simpan).
Pilih Izin
Di bawah peran Eksekusi, pilih nama peran fungsi Lambda untuk dilihat di konsol IAM.
Fungsi Lambda akan memerlukan izin berikut untuk memodifikasi pengguna dan mengatur kata sandi:
Elastis
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticache:DescribeUsers", "elasticache:ModifyUser" ], "Resource": "arn:aws:elasticache:us-east-1:xxxxxxxxxx918:user:user1" } ] }
Secrets Manager
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:PutSecretValue", "secretsmanager:UpdateSecretVersionStage" ], "Resource": "arn:aws:secretsmanager:us-east-1:xxxxxxxxxxx:secret:XXXX" }, { "Effect": "Allow", "Action": "secretsmanager:GetRandomPassword", "Resource": "*" } ] }
Mengaktifkan Secrets Manager
MenggunakanAWS Management Console, lihat Mengatur rotasi otomatis untukAWS rahasia Rahasia Manajer menggunakan konsol
Untuk informasi selengkapnya tentang mengatur jadwal rotasi, lihat Menjadwalkan ekspresi di rotasi Secrets Manager.
MenggunakanAWS CLI, lihat Mengatur rotasi otomatis untukAWS Secrets Manager menggunakanAWS Command Line Interface