Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Manajemen kata sandi dengan dan AWS Secrets Manager
Amazon Aurora terintegrasi dengan Secrets Manager untuk mengelola kata sandi pengguna utama untuk klaster .
Topik
- Ketersediaan wilayah dan versi
- Batasan untuk integrasi Secrets Manager dengan Amazon Aurora
- Ikhtisar mengelola kata sandi pengguna master dengan AWS Secrets Manager
- Manfaat mengelola kata sandi pengguna utama dengan Secrets Manager
- Izin yang diperlukan untuk integrasi Secrets Manager
- Menegakkan manajemen dari kata sandi pengguna utama di AWS Secrets Manager
- Mengelola kata sandi pengguna utama untuk klaster DB dengan Secrets Manager
- Merotasi rahasia kata sandi pengguna utama untuk klaster DB
- Melihat detail tentang rahasia untuk klaster DB
Ketersediaan wilayah dan versi
Ketersediaan dan dukungan fitur bervariasi di seluruh versi spesifik dari setiap mesin basis data dan di seluruh Wilayah AWS. Untuk informasi selengkapnya tentang ketersediaan versi dan Wilayah dengan integrasi Secrets Manager dengan Amazon Aurora, lihat Daerah yang Didukung dan engine Aurora DB untuk integrasi Secrets Manager.
Batasan untuk integrasi Secrets Manager dengan Amazon Aurora
Mengelola kata sandi pengguna utama dengan Secrets Manager tidak didukung untuk fitur berikut:
-
Deployment Blue/Green Amazon RDS
-
Klaster DB yang merupakan bagian dari basis data global Aurora
-
Klaster DB Aurora Serverless v1
-
Replika baca lintas Wilayah Aurora MySQL
Ikhtisar mengelola kata sandi pengguna master dengan AWS Secrets Manager
Dengan AWS Secrets Manager, Anda dapat mengganti kredensi hard-code dalam kode Anda, termasuk kata sandi database, dengan panggilan API ke Secrets Manager untuk mengambil rahasia secara terprogram. Untuk informasi selengkapnya tentang Secrets Manager, lihat Panduan Pengguna AWS Secrets Manager.
Ketika Anda menyimpan rahasia database di Secrets Manager, Anda akan Akun AWS dikenakan biaya. Untuk informasi tentang harga, lihat AWS Secrets Manager Harga
Anda dapat menentukan bahwa Aurora mengelola kata sandi pengguna utama di Secrets Manager untuk klaster DB Amazon Aurora saat Anda melakukan salah satu operasi berikut:
-
Membuat replika baca klaster DB
-
Mengubah klaster DB
-
Memulihkan klaster DB dari Amazon S3 (khusus Aurora MySQL)
Saat Anda menentukan bahwa Aurora mengelola kata sandi pengguna utama di Secrets Manager, Aurora menghasilkan kata sandi dan menyimpannya dalam Secrets Manager. Anda dapat berinteraksi langsung dengan rahasia untuk mengambil kredensial untuk pengguna utama. Anda juga dapat menentukan kunci yang dikelola pelanggan untuk mengenkripsi rahasia, atau menggunakan kunci KMS default yang disediakan oleh Secrets Manager.
Secara default, Aurora mengelola pengaturan untuk rahasia dan merotasi rahasia setiap tujuh hari. Anda dapat mengubah beberapa pengaturan, seperti jadwal rotasi. Jika Anda menghapus klaster DB yang mengelola rahasia di Secrets Manager, rahasia dan metadata terkaitnya juga akan dihapus.
Untuk terhubung ke klaster DB dengan kredensial dalam rahasia, Anda dapat mengambil rahasia dari Secrets Manager. Untuk informasi selengkapnya, lihat Mengambil rahasia dari AWS Secrets Manager dan Connect ke database SQL dengan kredensi dalam AWS Secrets Manager rahasia di Panduan Pengguna.AWS Secrets Manager
Manfaat mengelola kata sandi pengguna utama dengan Secrets Manager
Mengelola kata sandi pengguna utama Aurora dengan Secrets Manager memberikan manfaat berikut:
-
Aurora secara otomatis menghasilkan kredensial basis data.
-
Aurora secara otomatis menyimpan dan mengelola kredensil database di. AWS Secrets Manager
-
Aurora merotasi kredensial basis data secara teratur, tanpa mewajibkan perubahan aplikasi.
-
Secrets Manager mengamankan kredensial basis data dari akses manusia dan tampilan teks biasa.
-
Secrets Manager memungkinkan pengambilan kredensial basis data rahasia untuk koneksi basis data.
-
Secrets Manager memungkinkan kontrol akses terperinci ke kredensial basis data dalam rahasia menggunakan IAM.
-
Secara opsional, Anda dapat memisahkan enkripsi basis data dari enkripsi kredensial dengan kunci KMS lainnya.
-
Anda dapat menghilangkan rotasi dan manajemen manual kredensial basis data.
-
Anda dapat memantau kredensi database dengan mudah dengan dan AWS CloudTrail Amazon. CloudWatch
Untuk informasi selengkapnya tentang manfaat Secrets Manager, lihat Panduan Pengguna AWS Secrets Manager.
Izin yang diperlukan untuk integrasi Secrets Manager
Pengguna harus memiliki izin yang diperlukan untuk melakukan operasi yang terkait dengan integrasi Secrets Manager. Anda dapat membuat kebijakan IAM yang memberikan izin untuk melakukan operasi API tertentu pada sumber daya spesifik yang diperlukan. Kemudian, Anda dapat melampirkan kebijakan tersebut ke peran atau kumpulan izin IAM yang memerlukan izin tersebut. Untuk informasi selengkapnya, lihat Manajemen identitas dan akses untuk Aurora.
Untuk membuat, memodifikasi, atau memulihkan operasi, pengguna yang menentukan bahwa Aurora mengelola kata sandi pengguna utama di Secrets Manager harus memiliki izin untuk melakukan operasi berikut:
-
kms:DescribeKey
-
secretsmanager:CreateSecret
-
secretsmanager:TagResource
Untuk membuat, memodifikasi, atau memulihkan operasi, pengguna yang menentukan kunci yang dikelola pelanggan untuk mengenkripsi rahasia dalam Secrets Manager harus memiliki izin untuk melakukan operasi berikut:
-
kms:Decrypt
-
kms:GenerateDataKey
-
kms:CreateGrant
Untuk mengubah operasi, pengguna yang merotasi kata sandi pengguna utama dalam Secrets Manager harus memiliki izin untuk melakukan operasi berikut:
-
secretsmanager:RotateSecret
Menegakkan manajemen dari kata sandi pengguna utama di AWS Secrets Manager
Anda dapat menggunakan kunci kondisi IAM untuk menerapkan manajemen Aurora kata sandi pengguna utama di AWS Secrets Manager. Kebijakan berikut tidak mengizinkan pengguna untuk membuat atau memulihkan instans DB atau klaster DB kecuali kata sandi pengguna utama dikelola oleh Aurora di Secrets Manager.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": ["rds:CreateDBInstance", "rds:CreateDBCluster", "rds:RestoreDBInstanceFromS3", "rds:RestoreDBClusterFromS3"], "Resource": "*", "Condition": { "Bool": { "rds:ManageMasterUserPassword": false } } } ] }
catatan
Kebijakan ini memberlakukan manajemen kata sandi pada AWS Secrets Manager saat pembuatan. Namun, Anda masih dapat menonaktifkan integrasi Secrets Manager dan mengatur kata sandi utama secara manual dengan mengubah klaster.
Untuk mencegahnya, sertakan rds:ModifyDBInstance
, rds:ModifyDBCluster
dalam blok tindakan kebijakan. Perhatikan bahwa tindakan ini akan mencegah pengguna menerapkan perubahan lebih lanjut pada klaster yang ada yang Secrets Manager-nya tidak diaktifkan.
Untuk informasi lebih lanjut tentang penggunaan kunci kondisi dalam kebijakan IAM, lihat Kunci kondisi kebijakan untuk Aurora dan Contoh Kebijakan: Menggunakan kunci kondisi.
Mengelola kata sandi pengguna utama untuk klaster DB dengan Secrets Manager
Anda dapat mengonfigurasi manajemen Aurora kata sandi pengguna utama di Secrets Manager saat Anda melakukan tindakan berikut:
Anda dapat menggunakan konsol RDS, API AWS CLI, atau RDS untuk melakukan tindakan ini.
Ikuti petunjuk untuk membuat atau mengubah klaster DB dengan konsol RDS:
-
Memodifikasi instans DB dalam klaster DB
Di konsol RDS, Anda dapat mengubah instans DB apa pun untuk menentukan pengaturan manajemen kata sandi pengguna utama untuk seluruh klaster DB.
-
Memulihkan klaster DB Amazon Aurora MySQL dari bucket Amazon S3
Saat menggunakan konsol RDS untuk melakukan salah satu operasi ini, Anda dapat menentukan bahwa kata sandi pengguna utama dikelola oleh Aurora di Secrets Manager. Untuk melakukannya saat membuat atau memulihkan klaster DB, pilih Kelola kredensial utama di AWS Secrets Manager dalam Pengaturan kredensial. Saat Anda mengubah klaster DB, pilih Kelola kredensial utama di AWS Secrets Manager dalam Pengaturan.
Gambar berikut adalah contoh pengaturan Kelola kredensial utama di AWS Secrets Manager saat Anda membuat atau memulihkan klaster DB.
Jika Anda memilih opsi ini, Aurora akan menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus pemakaiannya di Secrets Manager.
Anda dapat memilih untuk mengenkripsi rahasia dengan kunci KMS yang disediakan Secrets Manager atau dengan kunci yang dikelola pelanggan yang Anda buat. Setelah Aurora mengelola kredensial basis data untuk klaster DB, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.
Anda dapat memilih pengaturan lain untuk memenuhi kebutuhan Anda.
Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda membuat klaster DB, lihat Pengaturan untuk klaster Aurora DB. Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda mengubah klaster DB, lihat Pengaturan untuk Amazon Aurora.
Untuk menentukan bahwa Aurora mengelola kata sandi pengguna utama di Secrets Manager, tentukan opsi --manage-master-user-password
di salah satu perintah berikut:
Jika Anda menentukan opsi --manage-master-user-password
dalam perintah ini, Aurora akan menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus pemakaiannya di Secrets Manager.
Untuk mengenkripsi rahasia, Anda dapat menentukan kunci yang dikelola pelanggan atau menggunakan kunci KMS default yang disediakan oleh Secrets Manager. Gunakan opsi --master-user-secret-kms-key-id
untuk menentukan kunci yang dikelola pelanggan. Pengidentifikasi kunci AWS KMS adalah kunci ARN, ID kunci, alias ARN, atau nama alias untuk kunci KMS. Untuk menggunakan kunci KMS yang berbeda Akun AWS, tentukan kunci ARN atau alias ARN. Setelah Aurora mengelola kredensial basis data untuk klaster DB, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.
Anda dapat memilih pengaturan lain untuk memenuhi kebutuhan Anda.
Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda membuat klaster DB, lihat Pengaturan untuk klaster Aurora DB. Untuk informasi selengkapnya tentang pengaturan yang tersedia saat Anda mengubah klaster DB, lihat Pengaturan untuk Amazon Aurora.
Contoh ini membuat klaster DB dan menentukan bahwa Aurora mengelola kata sandi di Secrets Manager. Rahasianya dienkripsi menggunakan kunci KMS yang disediakan oleh Secrets Manager.
Untuk Linux, macOS, atau Unix:
aws rds create-db-cluster \ --db-cluster-identifier
sample-cluster
\ --engineaurora-mysql
\ --engine-version8.0
\ --master-usernameadmin
\ --manage-master-user-password
Untuk Windows:
aws rds create-db-cluster ^ --db-cluster-identifier
sample-cluster
^ --engineaurora-mysql
^ --engine-version8.0
^ --master-usernameadmin
^ --manage-master-user-password
Untuk menentukan bahwa Aurora mengelola kata sandi pengguna utama di Secrets Manager, atur parameter ManageMasterUserPassword
ke true
di salah satu operasi berikut:
Jika Anda mengatur parameter ManageMasterUserPassword
ke true
di salah satu operasi ini, Aurora akan menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus pemakaiannya di Secrets Manager.
Untuk mengenkripsi rahasia, Anda dapat menentukan kunci yang dikelola pelanggan atau menggunakan kunci KMS default yang disediakan oleh Secrets Manager. Gunakan parameter MasterUserSecretKmsKeyId
untuk menentukan kunci yang dikelola pelanggan. Pengidentifikasi kunci AWS KMS adalah kunci ARN, ID kunci, alias ARN, atau nama alias untuk kunci KMS. Untuk menggunakan kunci KMS di Akun AWS yang berbeda, tentukan ARN kunci atau ARN alias. Setelah Aurora mengelola kredensial basis data untuk klaster DB, Anda tidak dapat mengubah kunci KMS yang digunakan untuk mengenkripsi rahasia.
Merotasi rahasia kata sandi pengguna utama untuk klaster DB
Ketika Aurora merotasi rahasia kata sandi pengguna utama, Secrets Manager akan menghasilkan versi rahasia baru untuk rahasia yang sudah ada. Rahasia versi baru berisi kata sandi pengguna utama baru. Aurora mengubah kata sandi pengguna utama untuk klaster DB agar sesuai dengan kata sandi versi rahasia baru.
Anda dapat segera merotasi rahasia, alih-alih menunggu rotasi yang dijadwalkan. Untuk merotasi rahasia kata sandi pengguna utama di Secrets Manager, ubah klaster DB . Untuk informasi tentang cara mengubah klaster DB, lihat Memodifikasi klaster DB Amazon Aurora.
Anda dapat memutar rahasia kata sandi pengguna master segera dengan konsol RDS, API AWS CLI, atau RDS. Kata sandi baru selalu sepanjang 28 karakter dan berisi setidaknya satu karakter huruf besar dan kecil, satu angka, dan satu tanda baca.
Untuk merotasi rahasia kata sandi pengguna utama menggunakan konsol RDS, ubah klaster DB dan pilih Rotasi rahasia secara langsung di Pengaturan.
Ikuti petunjuk untuk mengubah klaster DB dengan konsol RDS di Memodifikasi cluster DB dengan menggunakan konsol,CLI, dan API. Anda harus memilih Terapkan langsung di halaman konfirmasi.
Untuk memutar rahasia kata sandi pengguna master menggunakan AWS CLI, gunakan modify-db-clusterperintah dan tentukan --rotate-master-user-password
opsi. Anda harus menentukan opsi --apply-immediately
saat merotasi kata sandi utama.
Contoh ini merotasi rahasia kata sandi pengguna utama.
Untuk Linux, macOS, atau Unix:
aws rds modify-db-cluster \ --db-cluster-identifier
mydbcluster
\ --rotate-master-user-password \ --apply-immediately
Untuk Windows:
aws rds modify-db-cluster ^ --db-cluster-identifier
mydbcluster
^ --rotate-master-user-password ^ --apply-immediately
Anda dapat merotasi rahasia kata sandi pengguna utama menggunakan operasi ModifyDBCluster dan mengatur parameter RotateMasterUserPassword
ke true
. Anda harus mengatur parameter ApplyImmediately
ke true
saat merotasi kata sandi utama.
Melihat detail tentang rahasia untuk klaster DB
Anda dapat mengambil rahasia Anda menggunakan konsol (https://console.aws.amazon.com/secretsmanager/
Anda dapat menemukan Amazon Resource Name (ARN) dari rahasia yang dikelola oleh Aurora di Secrets Manager dengan konsol RDS AWS CLI,, atau RDS API.
Untuk melihat detail tentang rahasia yang dikelola oleh Aurora di Secrets Manager
Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.
-
Di panel navigasi, pilih Basis Data.
-
Pilih nama klaster DB untuk menampilkan detailnya.
-
Pilih tab Konfigurasi.
Di ARN Kredensial Utama, Anda dapat melihat ARN rahasia.
Anda dapat mengikuti tautan Mengelola di Secrets Manager untuk melihat dan mengelola rahasia di konsol Secrets Manager.
Anda dapat menggunakan AWS CLI describe-db-clustersperintah RDS untuk menemukan informasi berikut tentang rahasia yang dikelola oleh di Secrets Manager:
-
SecretArn
– ARN rahasia -
SecretStatus
– Status rahasiaKemungkinan nilai statusnya meliputi:
-
creating
– Rahasia sedang dibuat. -
active
– Rahasia tersedia untuk penggunaan normal dan rotasi. -
rotating
– Rahasia sedang dirotasi. -
impaired
– Rahasia dapat digunakan untuk mengakses kredensial basis data, tetapi tidak dapat dirotasi. Rahasia mungkin memiliki status ini jika, misalnya, izin diubah sehingga RDS tidak dapat lagi mengakses rahasia atau kunci KMS untuk rahasia tersebut.Ketika rahasia memiliki status ini, Anda dapat memperbaiki kondisi yang menyebabkan status tersebut. Jika Anda memperbaiki kondisi yang menyebabkan status, status tersebut tetap
impaired
hingga rotasi berikutnya. Sebagai alternatif, Anda dapat mengubah klaster DB untuk menonaktifkan manajemen otomatis kredensial basis data, dan kemudian mengubah klaster DB lagi untuk mengaktifkan manajemen otomatis kredensial basis data. Untuk memodifikasi cluster DB, gunakan--manage-master-user-password
opsi dalam modify-db-clusterperintah.
-
-
KmsKeyId
– ARN kunci KMS yang digunakan untuk mengenkripsi rahasia
Tentukan opsi --db-cluster-identifier
untuk menampilkan output untuk klaster DB tertentu. Contoh ini menunjukkan output untuk rahasia yang digunakan oleh klaster DB.
aws rds describe-db-clusters --db-cluster-identifier
mydbcluster
Contoh berikut menunjukkan output untuk rahasia:
"MasterUserSecret": {
"SecretArn": "arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx",
"SecretStatus": "active",
"KmsKeyId": "arn:aws:kms:eu-west-1:123456789012:key/0987dcba-09fe-87dc-65ba-ab0987654321"
}
Ketika Anda memiliki ARN rahasia, Anda dapat melihat detail tentang rahasia menggunakan perintah get-secret-valueSecrets Manager CLI.
Contoh ini menunjukkan detail untuk rahasia dalam output sampel sebelumnya.
Untuk Linux, macOS, atau Unix:
aws secretsmanager get-secret-value \ --secret-id '
arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx
'
Untuk Windows:
aws secretsmanager get-secret-value ^ --secret-id '
arn:aws:secretsmanager:eu-west-1:123456789012:secret:rds!cluster-033d7456-2c96-450d-9d48-f5de3025e51c-xmJRDx
'
Anda dapat melihat ARN, status, dan kunci KMS untuk rahasia yang dikelola oleh Aurora di Secrets Manager menggunakan operasi RDS DescribeDBClusters dan mengatur parameter DBClusterIdentifier
ke ID klaster DB. Detail tentang rahasia disertakan dalam output.
Ketika Anda memiliki ARN rahasia, Anda dapat melihat detail tentang rahasia menggunakan operasi GetSecretValueSecrets Manager.