Mengenkripsi Sumber Daya Neptune saat Istirahat - Amazon Neptune

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

Mengenkripsi Sumber Daya Neptune saat Istirahat

Instans yang dienkripsi oleh Neptune memberikan lapisan perlindungan data tambahan dengan membantu mengamankan data Anda dari akses yang tidak sah ke penyimpanan yang mendasari. Anda dapat menggunakan enkripsi Neptune untuk meningkatkan perlindungan data aplikasi Anda yang disebarkan di cloud. Anda juga dapat menggunakannya untuk memenuhi persyaratan kepatuhan untuk data-at-rest enkripsi.

Untuk mengelola kunci yang digunakan untuk mengenkripsi dan mendekripsi sumber daya Neptunus Anda, Anda menggunakan ().AWS Key Management ServiceAWS KMS AWS KMS menggabungkan perangkat keras dan perangkat lunak yang aman dan sangat tersedia untuk menyediakan sistem manajemen kunci yang diskalakan untuk cloud. Dengan menggunakan AWS KMS, Anda dapat membuat kunci enkripsi dan menentukan kebijakan yang mengontrol bagaimana kunci ini dapat digunakan. AWS KMS mendukung AWS CloudTrail, sehingga Anda dapat mengaudit penggunaan kunci untuk memverifikasi bahwa kunci sedang digunakan dengan tepat. Anda dapat menggunakan AWS KMS tombol dalam kombinasi dengan Neptunus dan layanan yang AWS didukung seperti Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3), Amazon Elastic Block Store (Amazon EBS), dan Amazon Redshift. Untuk daftar layanan yang mendukung AWS KMS, lihat Cara Penggunaan AWS Layanan AWS KMS di Panduan AWS Key Management Service Pengembang.

Untuk instans yang dienkripsi Neptune, semua log, cadangan, dan tangkapan layar dienkripsi.

Mengaktifkan Enkripsi untuk instans DB Neptune

Untuk mengaktifkan enkripsi untuk instans Neptune DB baru, pilih Ya dalam bagian Aktifkan enkripsi pada konsol Neptune. Untuk informasi tentang membuat instans DB Neptune, lihat Membuat cluster DB Neptunus baru.

Saat Anda membuat instans DB Neptunus terenkripsi, Anda juga dapat menyediakan pengenal kunci untuk AWS KMS kunci enkripsi Anda. Jika Anda tidak menentukan pengenal AWS KMS kunci, Neptunus menggunakan kunci enkripsi Amazon RDS default aws/rds () untuk instans DB Neptunus baru Anda. AWS KMS membuat kunci enkripsi default Anda untuk Neptunus untuk akun Anda. AWS AWS Akun Anda memiliki kunci enkripsi default yang berbeda untuk setiap AWS Wilayah.

Setelah membuat instans DB Neptune terenkripsi, Anda tidak dapat mengubah kunci enkripsi untuk instans tersebut. Oleh karena itu, pastikan untuk menentukan persyaratan kunci enkripsi Anda sebelum membuat instans DB Neptune terenkripsi Anda.

Anda dapat menggunakan Amazon Resource Name (ARN) untuk kunci dari akun lain untuk mengenkripsi instans DB Neptune. Jika Anda membuat instans DB Neptunus dengan akun AWS yang sama yang memiliki kunci enkripsi yang digunakan untuk mengenkripsi instans DB Neptunus baru itu, ID kunci yang Anda lewati dapat AWS KMS menjadi alias kunci alih-alih ARN AWS KMS kunci. AWS KMS

penting

Jika Neptune kehilangan akses ke kunci enkripsi untuk instans DB Neptune—misalnya, ketika akses Neptune ke kunci dicabut—instans DB terenkripsi ditempatkan ke status terminal dan hanya dapat dipulihkan dari cadangan. Kami sangat menyarankan agar Anda selalu mengaktifkan pencadangan untuk instans NeptuneDB terenkripsi untuk mengamankan dari kehilangan data terenkripsi di basis data Anda.

Izin kunci yang dibutuhkan saat mengaktifkan enkripsi

Pengguna IAM atau IAM role yang menciptakan instans DB Neptune terenkripsi harus memiliki setidaknya izin berikut untuk kunci KMS:

  • "kms:Encrypt"

  • "kms:Decrypt"

  • "kms:GenerateDataKey"

  • "kms:ReEncryptTo"

  • "kms:GenerateDataKeyWithoutPlaintext"

  • "kms:CreateGrant"

  • "kms:ReEncryptFrom"

  • "kms:DescribeKey"

Berikut adalah contoh kebijakan kunci yang mencakup izin yang diperlukan:

{ "Version": "2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Enable Permissions for root principal", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow use of the key for Neptune", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/NeptuneFullAccess" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:ReEncryptTo", "kms:GenerateDataKeyWithoutPlaintext", "kms:CreateGrant", "kms:ReEncryptFrom", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "rds.us-east-1.amazonaws.com" } } }, { "Sid": "Deny use of the key for non Neptune", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::123456789012:role/NeptuneFullAccess" }, "Action": [ "kms:*" ], "Resource": "*", "Condition": { "StringNotEquals": { "kms:ViaService": "rds.us-east-1.amazonaws.com" } } } ] }
  • Pernyataan pertama dalam kebijakan ini adalah opsional. Ini memberikan akses ke root principal pengguna.

  • Pernyataan kedua menyediakan akses ke semua AWS KMS API yang diperlukan untuk peran ini, tercakup ke Principal Layanan RDS.

  • Pernyataan ketiga memperketat keamanan lebih dengan menegakkan bahwa kunci ini tidak dapat digunakan oleh peran ini untuk layanan lain AWS .

Anda juga dapat menurunkan izin createGrant lebih lanjut dengan menambahkan:

"Condition": { "Bool": { "kms:GrantIsForAWSResource": true } }

Keterbatasan Enkripsi Neptune

Keterbatasan berikut ada untuk mengenkripsi klaster Neptune:

  • Anda tidak dapat mengonversi klaster DB yang tidak terenkripsi ke klaster terenkripsi.

    Namun, Anda dapat memulihkan snapshot klaster DB yang tidak terenkripsi ke klaster DB terenkripsi. Untuk melakukannya, tentukan kunci enkripsi KMS saat Anda memulihkan dari snapshot klaster DB yang tidak terenkripsi.

  • Anda tidak dapat mengonversi instans DB yang tidak terenkripsi ke klaster terenkripsi. Anda hanya dapat mengaktifkan enkripsi untuk instans DB saat Anda membuatnya.

  • Selain itu, instans DB yang dienkripsi tidak dapat dimodifikasi untuk menonaktifkan enkripsi.

  • Anda tidak dapat memiliki Replika Baca terenkripsi dari instans DB yang tidak dienkripsi atau Replika Baca yang tidak dienkripsi dari instans DB yang dienkripsi.

  • Replika baca terenkripsi harus dienkripsikan dengan kunci yang sama dengan instans DB sumber.