Manajemen AWS KMS key - Layanan Basis Data Relasional Amazon

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

Manajemen AWS KMS key

Amazon RDS secara otomatis terintegrasi dengan AWS Key Management Service (AWS KMS) untuk manajemen kunci. Amazon RDS menggunakan enkripsi amplop. Untuk informasi selengkapnya tentang enkripsi amplop, lihat Enkripsi amplop di Panduan Developer AWS Key Management Service.

Anda dapat menggunakan dua jenis kunci AWS KMS untuk mengenkripsi instans DB.

  • Anda harus membuat kunci yang dikelola pelanggan jika ingin mengontrol kunci KMS sepenuhnya. Untuk informasi selengkapnya tentang kunci yang dikelola pelanggan, lihat Kunci yang dikelola pelanggan di Panduan Developer AWS Key Management Service.

    Anda tidak dapat membagikan snapshot yang telah dienkripsi menggunakan Kunci yang dikelola AWS akun AWS yang membagikan snapshot tersebut.

  • Kunci yang dikelola AWS adalah kunci KMS di akun Anda yang dibuat, dikelola, dan digunakan atas nama Anda oleh layanan AWS yang terintegrasi dengan AWS KMS. Secara default, Kunci yang dikelola AWS RDS (aws/rds) digunakan untuk enkripsi. Anda tidak dapat mengelola, memutar, atau menghapus Kunci yang dikelola AWS RDS. Untuk informasi selengkapnya tentang Kunci yang dikelola AWS, lihat Kunci yang dikelola AWS di Panduan Developer AWS Key Management Service.

Untuk mengelola kunci KMS yang digunakan untuk instans DB terenkripsi Amazon RDS, gunakan AWS Key Management Service (AWS KMS) di konsol AWS KMS, AWS CLI, atau AWS KMS API. Untuk melihat log audit dari setiap tindakan yang diambil dengan kunci yang dikelola AWS atau pelanggan, gunakan AWS CloudTrail. Untuk informasi selengkapnya tentang rotasi kunci, lihat Merotasi kunci AWS KMS.

penting

Jika Anda menonaktifkan atau mencabut izin ke kunci KMS yang digunakan oleh basis data RDS, RDS akan memasukkan basis data Anda ke dalam status terminal ketika akses ke kunci KMS diperlukan. Perubahan ini dapat dilakukan secara langsung, atau ditangguhkan, tergantung kasus penggunaan yang memerlukan akses ke kunci KMS. Dalam kondisi ini, instans DB tidak lagi tersedia, dan kondisi basis data saat ini tidak dapat dipulihkan. Untuk memulihkan instans DB, Anda harus mengaktifkan kembali akses ke kunci KMS untuk RDS, kemudian memulihkan instans DB dari cadangan terbaru yang tersedia.

Mengotorisasi penggunaan kunci yang dikelola pelanggan

Saat RDS menggunakan kunci yang dikelola pelanggan dalam operasi kriptografi, kunci ini bertindak atas nama pengguna yang membuat atau mengubah sumber daya RDS.

Untuk membuat sumber daya RDS menggunakan kunci yang dikelola pelanggan, pengguna harus memiliki izin untuk memanggil operasi berikut pada kunci yang dikelola pelanggan:

  • kms:CreateGrant

  • kms:DescribeKey

Anda dapat menentukan izin yang diperlukan ini dalam kebijakan utama, atau dalam kebijakan IAM jika kebijakan kunci memungkinkan hal tersebut.

Anda dapat memperketat kebijakan IAM dalam berbagai cara. Misalnya, jika Anda hanya mengizinkan penggunaan kunci yang dikelola pelanggan untuk permintaan yang berasal dari RDS, Anda dapat menggunakan kunci kondisi kms:ViaService dengan nilai rds.<region>.amazonaws.com. Selain itu, Anda juga dapat menggunakan kunci atau nilai di Konteks enkripsi Amazon RDS sebagai kondisi dalam penggunaan kunci yang dikelola pelanggan untuk enkripsi.

Untuk informasi selengkapnya, lihat Mengizinkan pengguna di akun lain untuk menggunakan kunci KMS di Panduan Developer AWS Key Management Service dan Kebijakan kunci di AWS KMS.

Konteks enkripsi Amazon RDS

Saat RDS menggunakan kunci KMS Anda, atau saat Amazon EBS menggunakan kunci KMS atas nama RDS, layanan akan menentukan konteks enkripsi. Konteks enkripsi adalah data terautentikasi tambahan (AAD) yang digunakan oleh AWS KMS untuk memastikan integritas data. Ketika konteks enkripsi ditentukan untuk operasi enkripsi, layanan harus menentukan konteks enkripsi yang sama untuk operasi dekripsi. Jika tidak, dekripsi akan gagal. Konteks enkripsi juga dituliskan ke log AWS CloudTrail untuk membantu Anda memahami alasan penggunaan kunci KMS tertentu. Log CloudTrail Anda mungkin berisi banyak entri yang menjelaskan penggunaan kunci KMS, tetapi konteks enkripsi di setiap entri log dapat membantu Anda menentukan alasan penggunaan tersebut.

Minimal, Amazon RDS selalu menggunakan ID instans DB untuk konteks enkripsi, seperti pada contoh berformat JSON berikut:

{ "aws:rds:db-id": "db-CQYSMDPBRZ7BPMH7Y3RTDG5QY" }

Konteks enkripsi ini dapat membantu Anda mengidentifikasi instans DB yang digunakan kunci KMS Anda.

Ketika kunci KMS Anda digunakan untuk instans DB dan volume Amazon EBS tertentu, baik ID instans DB maupun ID volume Amazon EBS digunakan untuk konteks enkripsi, seperti pada contoh berformat JSON berikut:

{ "aws:rds:db-id": "db-BRG7VYS3SVIFQW7234EJQOM5RQ", "aws:ebs:id": "vol-ad8c6542" }