Mengenkripsi sumber daya Amazon RDS - 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.

Mengenkripsi sumber daya Amazon RDS

Amazon RDS dapat mengenkripsi instans DB Amazon RDS Anda. Data yang dienkripsi saat diam termasuk penyimpanan dasar untuk instans DB, pencadangan otomatisnya, replika baca, dan snapshot.

Instans DB terenkripsi Amazon RDS menggunakan algoritma AES-256 standar industri untuk mengenkripsi data Anda di server yang menjadi host instans DB Amazon RDS Anda. Setelah data Anda dienkripsi, Amazon RDS menangani autentikasi akses dan dekripsi data Anda secara transparan dengan dampak minimal terhadap performa. Anda tidak perlu memodifikasi aplikasi klien basis data untuk menggunakan enkripsi.

catatan

Untuk instans DB terenkripsi dan tidak terenkripsi, data yang sedang transit antara sumber dan replika baca dienkripsi, bahkan saat mereplikasi di seluruh Wilayah. AWS

Ikhtisar mengenkripsi sumber daya Amazon RDS

Instans DB terenkripsi Amazon RDS memberikan lapisan perlindungan data tambahan dengan mengamankan data Anda dari akses yang tidak sah ke penyimpanan yang mendasari. Anda dapat menggunakan enkripsi Amazon RDS untuk meningkatkan perlindungan data di aplikasi Anda yang di-deploy di cloud, dan untuk memenuhi persyaratan kepatuhan enkripsi diam.

Untuk instans DB terenkripsi Amazon RDS, semua log, cadangan, dan snapshot akan dienkripsi. Amazon RDS menggunakan AWS Key Management Service kunci untuk mengenkripsi sumber daya ini. Untuk informasi selengkapnya tentang kunci KMS, lihat AWS KMS keys di Panduan Developer AWS Key Management Service dan Manajemen AWS KMS key. Jika Anda menyalin snapshot terenkripsi, Anda dapat menggunakan kunci KMS yang berbeda untuk mengenkripsi snapshot target, bukan kunci yang digunakan untuk mengenkripsi snapshot sumber.

Replika baca instans terenkripsi Amazon RDS harus dienkripsi menggunakan kunci KMS yang sama dengan instans DB utama ketika keduanya berada di Wilayah yang sama. AWS Jika instans DB utama dan replika baca berada di AWS Wilayah yang berbeda, Anda mengenkripsi replika baca menggunakan kunci KMS untuk Wilayah tersebut. AWS

Anda dapat menggunakan Kunci yang dikelola AWS, atau Anda dapat membuat kunci yang dikelola pelanggan. Untuk mengelola kunci yang dikelola pelanggan yang digunakan untuk mengenkripsi dan mendekripsi sumber daya Amazon RDS, gunakan AWS Key Management Service (AWS KMS). AWS KMS menggabungkan perangkat keras dan perangkat lunak yang aman dengan ketersediaan tinggi untuk menyediakan sistem manajemen kunci yang diskalakan untuk cloud. Dengan menggunakan AWS KMS, Anda dapat membuat kunci terkelola pelanggan dan menentukan kebijakan yang mengontrol bagaimana kunci yang dikelola pelanggan ini dapat digunakan. AWS KMS mendukung CloudTrail, sehingga Anda dapat mengaudit penggunaan kunci KMS untuk memverifikasi bahwa kunci yang dikelola pelanggan digunakan dengan tepat. Anda dapat menggunakan kunci yang dikelola pelanggan dengan Amazon Aurora dan AWS layanan yang didukung seperti Amazon S3, Amazon EBS, dan Amazon Redshift. Untuk daftar layanan yang terintegrasi AWS KMS, lihat Integrasi AWS Layanan.

Amazon RDS juga mendukung enkripsi instans Oracle atau SQL Server DB dengan Enkripsi Data Transparan (TDE). TDE dapat digunakan dengan enkripsi diam RDS, meski menggunakan enkripsi TDE dan RDS secara bersamaan dapat sedikit memengaruhi performa basis data Anda. Anda harus mengelola kunci yang berbeda untuk setiap metode enkripsi. Untuk informasi selengkapnya tentang TDE, lihat Enkripsi Data Transparan Oracle atau Dukungan untuk Enkripsi Data Transparan di SQL Server.

Mengenkripsi instans DB

Untuk mengenkripsi instans DB baru, pilih Aktifkan enkripsi di konsol Amazon RDS. Untuk informasi tentang pembuatan instans DB, lihat Membuat instans DB Amazon RDS.

Jika Anda menggunakan AWS CLI perintah create-db-instance untuk membuat instance DB terenkripsi, atur parameternya. --storage-encrypted Jika Anda menggunakan operasi API CreateDBInstance, atur parameter StorageEncrypted ke benar.

Saat membuat instans DB terenkripsi, Anda bisa memilih kunci yang dikelola pelanggan atau Kunci yang dikelola AWS untuk Amazon RDS untuk mengenkripsi instans DB. Jika Anda tidak menentukan pengenal kunci untuk kunci yang dikelola pelanggan, Amazon RDS menggunakan Kunci yang dikelola AWS untuk instans DB baru Anda. Amazon RDS membuat RDS Kunci yang dikelola AWS untuk Amazon untuk akun Anda AWS . AWS Akun Anda memiliki RDS Amazon yang berbeda Kunci yang dikelola AWS untuk setiap AWS Wilayah.

Untuk informasi selengkapnya tentang kunci KMS, lihat AWS KMS keys di Panduan Developer AWS Key Management Service .

Setelah membuat instans DB terenkripsi, Anda tidak dapat mengubah kunci KMS yang digunakan oleh instans DB tersebut. Oleh karena itu, tentukan persyaratan kunci KMS sebelum membuat instans DB terenkripsi.

Jika Anda menggunakan AWS CLI create-db-instance perintah untuk membuat instans DB terenkripsi dengan kunci yang dikelola pelanggan, setel --kms-key-id parameter ke pengidentifikasi kunci apa pun untuk kunci KMS. Jika Anda menggunakan operasi CreateDBInstance Amazon RDS API, atur parameter KmsKeyId ke pengidentifikasi kunci mana pun untuk kunci KMS. Untuk menggunakan kunci yang dikelola pelanggan di akun AWS yang berbeda, tentukan ARN kunci atau ARN alias.

penting

Amazon RDS dapat kehilangan akses ke kunci KMS untuk instans DB saat Anda menonaktifkan kunci KMS. Dalam kasus ini, instans DB terenkripsi segera masuk ke inaccessible-encryption-credentials-recoverable status. Instans DB tetap dalam keadaan ini selama tujuh hari, di mana instance dihentikan. Panggilan API yang dilakukan ke instans DB selama waktu ini mungkin tidak berhasil. Untuk memulihkan instans DB, aktifkan kunci KMS dan restart instance DB ini. Aktifkan kunci KMS dari file. AWS Management Console Mulai ulang instance DB menggunakan AWS CLI perintah start-db-instance atau. AWS Management Console

Jika instans DB tidak dipulihkan dalam waktu tujuh hari, itu masuk ke inaccessible-encryption-credentials status terminal. Dalam keadaan ini, instans DB tidak dapat digunakan lagi dan Anda hanya dapat mengembalikan instans DB dari cadangan. Sebaiknya selalu aktifkan pencadangan instans DB terenkripsi agar data terenkripsi di basis data Anda tidak hilang.

Selama pembuatan instans DB, Amazon RDS memeriksa apakah prinsipal panggilan memiliki akses ke kunci KMS dan menghasilkan hibah dari kunci KMS yang digunakannya selama masa pakai instans DB. Mencabut akses prinsipal panggilan ke kunci KMS tidak mempengaruhi database yang sedang berjalan. Saat menggunakan kunci KMS dalam skenario lintas akun, seperti menyalin snapshot ke akun lain, kunci KMS perlu dibagikan dengan akun lain. Jika Anda membuat instans DB dari snapshot tanpa menentukan kunci KMS yang berbeda, instance baru menggunakan kunci KMS dari akun sumber. Mencabut akses ke kunci setelah Anda membuat instans DB tidak memengaruhi instance. Namun, menonaktifkan kunci memengaruhi semua instans DB yang dienkripsi dengan kunci itu. Untuk mencegah hal ini, tentukan kunci yang berbeda selama operasi penyalinan snapshot.

Menentukan apakah enkripsi untuk instans DB diaktifkan

Anda dapat menggunakan AWS Management Console, AWS CLI, atau RDS API untuk menentukan apakah enkripsi saat istirahat diaktifkan untuk instans DB.

Untuk menentukan apakah enkripsi diam untuk instans DB diaktifkan
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Basis Data.

  3. Pilih nama instans DB yang ingin Anda periksa untuk melihat detailnya.

  4. Pilih tab Konfigurasi, dan periksa nilai Enkripsi di bagian Penyimpanan.

    Akan muncul Diaktifkan atau Tidak diaktifkan.

    Memeriksa enkripsi diam untuk instans DB

Untuk menentukan apakah enkripsi saat istirahat diaktifkan untuk instance DB dengan menggunakan AWS CLI, panggil perintah describe-db-instance dengan opsi berikut:

  • --db-instance-identifier – Nama instans DB.

Contoh berikut ini menggunakan kueri untuk mengembalikan TRUE atau FALSE mengenai enkripsi diam untuk instans DB mydb.

contoh
aws rds describe-db-instances --db-instance-identifier mydb --query "*[].{StorageEncrypted:StorageEncrypted}" --output text

Untuk menentukan apakah enkripsi diam untuk instans DB diaktifkan menggunakan Amazon RDS API, panggil operasi DescribeDBInstances dengan parameter berikut:

  • DBInstanceIdentifier – Nama instans DB.

Ketersediaan enkripsi Amazon RDS

Enkripsi Amazon RDS saat ini tersedia untuk semua mesin basis data dan jenis penyimpanan, kecuali untuk SQL Server Express Edition.

Enkripsi Amazon RDS tersedia untuk sebagian besar kelas instans DB. Tabel berikut mencantumkan kelas instans DB yang tidak mendukung enkripsi Amazon RDS:

Jenis instans Kelas instans

Tujuan umum (M1)

db.m1.small

db.m1.medium

db.m1.large

db.m1.xlarge

Memori dioptimalkan (M2)

db.m2.xlarge

db.m2.2xlarge

db.m2.4xlarge

Burstable (T2)

db.t2.micro

Enkripsi bergerak

AWS menyediakan konektivitas aman dan pribadi antara instans DB dari semua jenis. Selain itu, beberapa tipe instans menggunakan kemampuan offload dari perangkat keras Nitro System yang mendasarinya untuk secara otomatis mengenkripsi lalu lintas dalam transit antar instans. Enkripsi ini menggunakan algoritma Authenticated Encryption with Associated Data (AEAD), dengan enkripsi 256-bit. Tidak ada dampak terhadap performa jaringan. Untuk mendukung enkripsi lalu lintas dalam transit tambahan ini antara instans, persyaratan-persyaratan berikut harus dipenuhi:

  • Instans-instans tersebut menggunakan tipe instans berikut:

    • Tujuan umum: M6i, M6iD, M6in, M6idn, M7g

    • Memori yang dioptimalkan: R6i, R6id, R6in, R6idn, R7g, X2idn, X2IEDN, X2IEZN

  • Contohnya sama Wilayah AWS.

  • Instans-instans tersebut berada dalam VPC yang sama atau VPC yang di-peering yang sama, dan lalu lintas tidak melewati perangkat atau layanan jaringan virtual, seperti penyeimbang beban atau gateway transit.

Batasan instans DB terenkripsi Amazon RDS

Berikut batasan pada instans DB terenkripsi Amazon RDS:

  • Anda hanya dapat mengenkripsi instans DB Amazon RDS selama proses pembuatannya, bukan setelah instans DB tersebut selesai dibuat.

    Namun, karena Anda dapat mengenkripsi salinan snapshot yang tidak dienkripsi, Anda dapat menambahkan enkripsi secara efektif ke instans DB yang tidak terenkripsi. Artinya, Anda dapat membuat snapshot instans DB, lalu membuat salinan terenkripsi dari snapshot tersebut. Anda kemudian dapat memulihkan instans DB dari snapshot terenkripsi untuk menghasilkan salinan terenkripsi dari instans DB asli. Untuk informasi selengkapnya, lihat Menyalin snapshot DB.

  • Anda tidak dapat menonaktifkan enkripsi pada instans DB terenkripsi.

  • Anda tidak dapat membuat snapshot terenkripsi dari instans DB yang tidak terenkripsi.

  • Snapshot instans DB terenkripsi harus dienkripsi menggunakan kunci KMS yang sama dengan instans DB.

  • Anda tidak dapat memiliki replika baca terenkripsi dari instans DB yang tidak dienkripsi atau replika baca yang tidak dienkripsi dari instans DB terenkripsi.

  • Replika baca terenkripsi harus dienkripsi dengan kunci KMS yang sama dengan instans DB sumber ketika keduanya berada di Wilayah yang sama. AWS

  • Anda tidak dapat memulihkan cadangan atau snapshot yang tidak terenkripsi ke instans DB terenkripsi.

  • Untuk menyalin snapshot terenkripsi dari satu AWS Wilayah ke wilayah lain, Anda harus menentukan kunci KMS di Wilayah tujuan. AWS Ini karena kunci KMS khusus untuk AWS Wilayah tempat mereka dibuat.

    Tangkapan layar sumber tetap terenkripsi selama proses penyalinan. Amazon RDS menggunakan enkripsi amplop untuk melindungi data selama proses penyalinan. Untuk informasi selengkapnya tentang enkripsi amplop, lihat Enkripsi amplop di Panduan Developer AWS Key Management Service .

  • Anda tidak dapat membatalkan enkripsi instans DB terenkripsi. Namun, Anda dapat mengekspor data dari instans DB terenkripsi dan mengimpor data ke instans DB tidak terenkripsi.