Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Manajemen kata sandi dengan Aurora dan AWS Secrets Manager
Aurora terintegrasi dengan Secrets Manager untuk mengelola kata sandi pengguna utama untuk cluster DB multi-AZ Anda.
Topik
- Wilayah dan ketersediaan versi
- Batasan untuk integrasi Secrets Manager dengan 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 Aurora 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
Wilayah dan ketersediaan 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 Aurora
Mengelola kata sandi pengguna utama dengan Secrets Manager tidak didukung untuk fitur berikut:
-
Penyebaran RDS Biru/Hijau Amazon
-
Klaster DB yang merupakan bagian dari basis data global Aurora
-
Aurora Serverless v1 Klaster DB
-
Aurora baca replika
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 ke API 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 DB cluster saat Anda melakukan salah satu operasi berikut:
-
Membuat replika baca klaster DB
-
Mengubah klaster DB
-
Kembalikan cluster DB dari Amazon S3 (Aurora Milik saya saja) SQL
Saat Anda menentukan bahwa Aurora mengelola kata sandi pengguna utama di Secrets Manager, Aurora menghasilkan kata sandi dan menyimpannya di 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 KMS kunci yang disediakan oleh Secrets Manager.
Aurora mengelola pengaturan untuk rahasia dan memutar rahasia setiap tujuh hari secara default. 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 SQL database 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 master Aurora dengan Secrets Manager memberikan manfaat berikut:
-
Aurora secara otomatis menghasilkan kredensil basis data.
-
Aurora secara otomatis menyimpan dan mengelola kredensi database di. AWS Secrets Manager
-
Aurora memutar kredensi database secara teratur, tanpa memerlukan 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 halus akses ke kredenal database dalam rahasia menggunakan. IAM
-
Anda dapat secara opsional memisahkan enkripsi database dari enkripsi kredensil dengan kunci yang berbeda. KMS
-
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 IAM kebijakan yang memberikan izin untuk melakukan API operasi tertentu pada sumber daya tertentu yang mereka butuhkan. Anda kemudian dapat melampirkan kebijakan tersebut ke set IAM izin atau peran 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
kms:DescribeKey
Izin diperlukan untuk mengakses kunci yang dikelola pelanggan Anda untuk MasterUserSecretKmsKeyId
dan untuk menjelaskan. aws/secretsmanager
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 Aurora dari kata sandi pengguna utama di AWS Secrets Manager
Anda dapat menggunakan tombol IAM kondisi untuk menegakkan manajemen Aurora dari kata sandi pengguna utama di. AWS Secrets Manager Kebijakan berikut tidak mengizinkan pengguna untuk membuat atau memulihkan instans DB atau kluster 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 selengkapnya tentang menggunakan kunci kondisi dalam IAM kebijakan, lihat Kunci kondisi kebijakan untuk Aurora danContoh Kebijakan: Menggunakan kunci kondisi.
Mengelola kata sandi pengguna utama untuk klaster DB dengan Secrets Manager
Anda dapat mengonfigurasi manajemen Aurora dari kata sandi pengguna utama di Secrets Manager saat Anda melakukan tindakan berikut:
Anda dapat menggunakan RDS konsol, AWS CLI, atau RDS API untuk melakukan tindakan ini.
Ikuti instruksi untuk membuat atau memodifikasi cluster DB dengan konsol: RDS
-
Memodifikasi instans DB dalam klaster DB
Di RDS konsol, Anda dapat memodifikasi instans DB apa pun untuk menentukan pengaturan manajemen kata sandi pengguna master untuk seluruh cluster DB.
-
Memulihkan klaster DB Amazon Aurora MySQL dari bucket Amazon S3
Saat Anda menggunakan RDS konsol 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.
![Kelola kredensi master di AWS Secrets Manager](images/secrets-manager-credential-settings.png)
Ketika Anda memilih opsi ini, Aurora menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus hidupnya di Secrets Manager.
![Mengelola kredensi master dalam pilihan AWS Secrets Manager](images/secrets-manager-integration-create.png)
Anda dapat memilih untuk mengenkripsi rahasia dengan KMS kunci yang disediakan Secrets Manager atau dengan kunci terkelola pelanggan yang Anda buat. Setelah Aurora mengelola kredensi database untuk cluster DB, Anda tidak dapat mengubah KMS kunci 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 --manage-master-user-password
opsi di salah satu perintah berikut:
Saat Anda menentukan --manage-master-user-password
opsi dalam perintah ini, Aurora menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus hidupnya di Secrets Manager.
Untuk mengenkripsi rahasia, Anda dapat menentukan kunci yang dikelola pelanggan atau menggunakan KMS kunci default yang disediakan oleh Secrets Manager. Gunakan opsi --master-user-secret-kms-key-id
untuk menentukan kunci yang dikelola pelanggan. Pengidentifikasi AWS KMS kunci adalah kunci, ID kunciARN, aliasARN, atau nama alias untuk kunci tersebut. KMS Untuk menggunakan KMS kunci yang berbeda Akun AWS, tentukan kunci ARN atau aliasARN. Setelah Aurora mengelola kredensi database untuk cluster DB, Anda tidak dapat mengubah KMS kunci 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 cluster DB dan menentukan bahwa Aurora mengelola kata sandi di Secrets Manager. Rahasianya dienkripsi menggunakan KMS kunci 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 ManageMasterUserPassword
parameter ke true
salah satu operasi berikut:
Ketika Anda mengatur ManageMasterUserPassword
parameter ke true
dalam salah satu operasi ini, Aurora menghasilkan kata sandi pengguna utama dan mengelolanya sepanjang siklus hidupnya di Secrets Manager.
Untuk mengenkripsi rahasia, Anda dapat menentukan kunci yang dikelola pelanggan atau menggunakan KMS kunci default yang disediakan oleh Secrets Manager. Gunakan parameter MasterUserSecretKmsKeyId
untuk menentukan kunci yang dikelola pelanggan. Pengidentifikasi AWS KMS kunci adalah kunci, ID kunciARN, aliasARN, atau nama alias untuk kunci tersebut. KMS Untuk menggunakan KMS kunci yang berbeda Akun AWS, tentukan kunci ARN atau aliasARN. Setelah Aurora mengelola kredensi database untuk cluster DB, Anda tidak dapat mengubah KMS kunci yang digunakan untuk mengenkripsi rahasia.
Merotasi rahasia kata sandi pengguna utama untuk klaster DB
Ketika Aurora memutar rahasia kata sandi pengguna master, Secrets Manager menghasilkan versi rahasia baru untuk rahasia yang ada. Rahasia versi baru berisi kata sandi pengguna utama baru. Aurora mengubah kata sandi pengguna utama untuk cluster DB agar sesuai dengan kata sandi untuk 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 RDS konsol AWS CLI,, atau RDSAPI. Kata sandi baru selalu sepanjang 28 karakter dan berisi setidaknya satu karakter huruf besar dan kecil, satu angka, dan satu tanda baca.
Untuk memutar rahasia kata sandi pengguna master menggunakan RDS konsol, ubah cluster DB dan pilih Putar rahasia segera di Pengaturan.
![Merotasi rahasia kata sandi pengguna utama secara langsung](images/secrets-manager-integration-rotate-aurora.png)
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 memutar rahasia kata sandi pengguna master menggunakan odifyDBCluster operasi M dan mengatur RotateMasterUserPassword
parameternyatrue
. 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 console (https://console.aws.amazon.com/secretsmanager/
Anda dapat menemukan Amazon Resource Name (ARN) dari rahasia yang dikelola oleh Aurora di Secrets Manager dengan RDS konsol, the AWS CLI, atau file. RDS API
Untuk melihat detail tentang rahasia yang dikelola oleh Aurora di Secrets Manager
Masuk ke AWS Management Console dan buka RDS konsol Amazon di https://console.aws.amazon.com/rds/
. -
Di panel navigasi, pilih Basis Data.
-
Pilih nama klaster DB untuk menampilkan detailnya.
-
Pilih tab Konfigurasi.
Di Master Credentials ARN, Anda dapat melihat rahasianya. ARN
Anda dapat mengikuti tautan Mengelola di Secrets Manager untuk melihat dan mengelola rahasia di konsol Secrets Manager.
Anda dapat menggunakan RDS AWS CLI describe-db-clustersperintah untuk menemukan informasi berikut tentang rahasia yang dikelola oleh Aurora 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. Sebuah rahasia mungkin memiliki status ini jika, misalnya, izin diubah sehingga tidak RDS dapat lagi mengakses rahasia atau KMS kunci untuk rahasia.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
— KMS Kunci ARN 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 rahasiaARN, Anda dapat melihat detail tentang rahasia menggunakan CLI perintah get-secret-valueSecrets Manager.
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 melihatARN, status, dan KMS kunci untuk rahasia yang dikelola oleh Aurora di Secrets Manager menggunakan escribeDBClusters RDS operasi D dan mengatur DBClusterIdentifier
parameter ke pengidentifikasi cluster DB. Detail tentang rahasia disertakan dalam output.
Ketika Anda memiliki rahasiaARN, Anda dapat melihat detail tentang rahasia menggunakan operasi GetSecretValueSecrets Manager.