Enkripsi di Amazon Tanpa OpenSearch Server - OpenSearch Layanan Amazon

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

Enkripsi di Amazon Tanpa OpenSearch Server

Enkripsi diam

Setiap koleksi Amazon OpenSearch Tanpa Server yang Anda buat dilindungi dengan enkripsi data saat istirahat, fitur keamanan yang membantu mencegah akses tidak sah ke data Anda. Enkripsi saat istirahat menggunakan AWS Key Management Service (AWS KMS) untuk menyimpan dan mengelola kunci enkripsi Anda. Ini menggunakan algoritma Advanced Encryption Standard dengan kunci 256-bit (AES-256) untuk melakukan enkripsi.

Kebijakan enkripsi

Dengan kebijakan enkripsi, Anda dapat mengelola banyak koleksi dalam skala besar dengan secara otomatis menetapkan kunci enkripsi ke koleksi yang baru dibuat yang cocok dengan nama atau pola tertentu.

Saat membuat kebijakan enkripsi, Anda dapat menentukan awalan, yang merupakan aturan pencocokan berbasis wildcard sepertiMyCollection*, atau memasukkan satu nama koleksi. Kemudian, saat Anda membuat koleksi yang cocok dengan nama atau pola awalan tersebut, kebijakan dan kunci KMS yang sesuai akan ditetapkan secara otomatis.

Encryption policy creation process with rules and collection matching to KMS key.

Kebijakan enkripsi berisi elemen-elemen berikut:

  • Rules— satu atau lebih aturan pencocokan koleksi, masing-masing dengan sub-elemen berikut:

    • ResourceType— Saat ini satu-satunya pilihan adalah “koleksi”. Kebijakan enkripsi hanya berlaku untuk sumber daya pengumpulan.

    • Resource— Satu atau lebih nama koleksi atau pola yang akan diterapkan kebijakan, dalam formatcollection/<collection name|pattern>.

  • AWSOwnedKey— Apakah akan menggunakan Kunci milik AWS.

  • KmsARN— Jika Anda menyetel AWSOwnedKey ke false, tentukan Amazon Resource Name (ARN) dari kunci KMS untuk mengenkripsi koleksi terkait. Jika Anda menyertakan parameter ini, OpenSearch Serverless mengabaikan parameter. AWSOwnedKey

Kebijakan sampel berikut akan menetapkan kunci yang dikelola pelanggan untuk koleksi masa depan yang dinamaiautopartsinventory, serta koleksi yang dimulai dengan istilah “penjualan”:

{ "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/autopartsinventory", "collection/sales*" ] } ], "AWSOwnedKey":false, "KmsARN":"arn:aws:encryption:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36" }

Meskipun kebijakan cocok dengan nama koleksi, Anda dapat memilih untuk mengganti penetapan otomatis ini selama pembuatan koleksi jika pola sumber daya berisi wildcard (*). Jika Anda memilih untuk mengganti penetapan kunci otomatis, OpenSearch Tanpa Server akan membuat kebijakan enkripsi untuk Anda bernama auto-< collection-name > dan melampirkannya ke koleksi. Kebijakan awalnya hanya berlaku untuk satu koleksi, tetapi Anda dapat memodifikasinya untuk menyertakan koleksi tambahan.

Jika Anda mengubah aturan kebijakan agar tidak lagi cocok dengan koleksi, kunci KMS terkait tidak akan dibatalkan dari koleksi tersebut. Koleksi selalu tetap dienkripsi dengan kunci enkripsi awalnya. Jika Anda ingin mengubah kunci enkripsi untuk koleksi, Anda harus membuat ulang koleksi.

Jika aturan dari beberapa kebijakan cocok dengan koleksi, aturan yang lebih spesifik akan digunakan. Misalnya, jika satu kebijakan berisi aturan untukcollection/log*, dan yang lain untukcollection/logSpecial, kunci enkripsi untuk kebijakan kedua digunakan karena lebih spesifik.

Anda tidak dapat menggunakan nama atau awalan dalam kebijakan jika sudah ada di kebijakan lain. OpenSearch Tanpa server menampilkan kesalahan jika Anda mencoba mengonfigurasi pola sumber daya yang identik dalam kebijakan enkripsi yang berbeda.

Pertimbangan

Pertimbangkan hal berikut saat Anda mengonfigurasi enkripsi untuk koleksi Anda:

  • Enkripsi saat istirahat diperlukan untuk semua koleksi tanpa server.

  • Anda memiliki opsi untuk menggunakan kunci yang dikelola pelanggan atau kunci Kunci milik AWS. Jika Anda memilih kunci yang dikelola pelanggan, kami sarankan Anda mengaktifkan rotasi kunci otomatis.

  • Anda tidak dapat mengubah kunci enkripsi untuk koleksi setelah koleksi dibuat. Hati-hati AWS KMS memilih mana yang akan digunakan saat pertama kali Anda menyiapkan koleksi.

  • Koleksi hanya dapat mencocokkan satu kebijakan enkripsi.

  • Koleksi dengan kunci KMS unik tidak dapat berbagi OpenSearch Compute Units (OCU) dengan koleksi lain. Setiap koleksi dengan kunci unik membutuhkan 4 OCU-nya sendiri.

  • Jika Anda memperbarui kunci KMS dalam kebijakan enkripsi, perubahan tersebut tidak memengaruhi koleksi pencocokan yang ada dengan kunci KMS yang telah ditetapkan.

  • OpenSearch Tanpa server tidak secara eksplisit memeriksa izin pengguna pada kunci yang dikelola pelanggan. Jika pengguna memiliki izin untuk mengakses koleksi melalui kebijakan akses data, mereka akan dapat menelan dan menanyakan data yang dienkripsi dengan kunci terkait.

Izin diperlukan

Enkripsi saat istirahat untuk OpenSearch Tanpa Server menggunakan izin AWS Identity and Access Management (IAM) berikut. Anda dapat menentukan kondisi IAM untuk membatasi pengguna ke koleksi tertentu.

  • aoss:CreateSecurityPolicy— Buat kebijakan enkripsi.

  • aoss:ListSecurityPolicies— Buat daftar semua kebijakan enkripsi dan koleksi yang dilampirkan.

  • aoss:GetSecurityPolicy— Lihat detail kebijakan enkripsi tertentu.

  • aoss:UpdateSecurityPolicy— Memodifikasi kebijakan enkripsi.

  • aoss:DeleteSecurityPolicy— Hapus kebijakan enkripsi.

Contoh kebijakan akses berbasis identitas berikut memberikan izin minimum yang diperlukan bagi pengguna untuk mengelola kebijakan enkripsi dengan pola sumber daya. collection/application-logs

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "aoss:CreateSecurityPolicy", "aoss:UpdateSecurityPolicy", "aoss:DeleteSecurityPolicy", "aoss:GetSecurityPolicy" ], "Resource":"*", "Condition":{ "StringEquals":{ "aoss:collection":"application-logs" } } }, { "Effect":"Allow", "Action":[ "aoss:ListSecurityPolicies" ], "Resource":"*" } ] }

Kebijakan kunci untuk kunci yang dikelola pelanggan

Jika Anda memilih kunci yang dikelola pelanggan untuk melindungi koleksi, OpenSearch Tanpa Server mendapat izin untuk menggunakan kunci KMS atas nama kepala sekolah yang membuat pilihan. Prinsipal itu, pengguna atau peran, harus memiliki izin pada kunci KMS yang diperlukan Tanpa OpenSearch Server. Anda dapat memberikan izin ini dalam kebijakan utama atau kebijakan IAM.

Minimal, OpenSearch Tanpa Server memerlukan izin berikut pada kunci yang dikelola pelanggan:

Sebagai contoh:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aoss.us-east-1.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }

OpenSearch Tanpa server membuat hibah dengan izin kms: GenerateDataKey dan kms:Decrypt.

Untuk informasi selengkapnya, lihat Menggunakan kebijakan kunci di AWS KMS dalam Panduan Developer AWS Key Management Service .

Bagaimana OpenSearch Tanpa Server menggunakan hibah di AWS KMS

OpenSearch Tanpa server memerlukan hibah untuk menggunakan kunci yang dikelola pelanggan.

Saat Anda membuat kebijakan enkripsi di akun Anda dengan kunci baru, OpenSearch Tanpa Server akan membuat hibah atas nama Anda dengan mengirimkan CreateGrantpermintaan ke. AWS KMS Hibah AWS KMS digunakan untuk memberikan akses OpenSearch Tanpa Server ke kunci KMS di akun pelanggan.

OpenSearch Tanpa server memerlukan hibah untuk menggunakan kunci yang dikelola pelanggan Anda untuk operasi internal berikut:

  • Kirim DescribeKeypermintaan AWS KMS untuk memverifikasi bahwa ID kunci terkelola pelanggan simetris yang diberikan valid.

  • Kirim GenerateDataKeypermintaan ke kunci KMS untuk membuat kunci data yang dapat digunakan untuk mengenkripsi objek.

  • Kirim permintaan Dekripsi ke AWS KMS untuk mendekripsi kunci data terenkripsi sehingga mereka dapat digunakan untuk mengenkripsi data Anda.

Anda dapat mencabut akses ke hibah, atau menghapus akses layanan ke kunci yang dikelola pelanggan kapan saja. Jika Anda melakukannya, OpenSearch Tanpa Server tidak akan dapat mengakses data apa pun yang dienkripsi oleh kunci yang dikelola pelanggan, yang memengaruhi semua operasi yang bergantung pada data tersebut, yang menyebabkan AccessDeniedException kesalahan dan kegagalan dalam alur kerja asinkron.

OpenSearch Tanpa server menghentikan hibah dalam alur kerja asinkron ketika kunci terkelola pelanggan tertentu tidak terkait dengan kebijakan atau koleksi keamanan apa pun.

Membuat kebijakan enkripsi (konsol)

Dalam kebijakan enkripsi, Anda menentukan kunci KMS dan serangkaian pola pengumpulan yang akan diterapkan kebijakan tersebut. Setiap koleksi baru yang cocok dengan salah satu pola yang ditentukan dalam kebijakan akan diberikan kunci KMS terkait saat Anda membuat koleksi. Kami menyarankan Anda membuat kebijakan enkripsi sebelum Anda mulai membuat koleksi.

Untuk membuat kebijakan OpenSearch enkripsi Tanpa Server
  1. Buka konsol OpenSearch Layanan Amazon di https://console.aws.amazon.com/aos/home.

  2. Di panel navigasi kiri, perluas Tanpa Server dan pilih Kebijakan enkripsi.

  3. Pilih Buat kebijakan enkripsi.

  4. Berikan nama dan deskripsi untuk kebijakan tersebut.

  5. Di bawah Sumber Daya, masukkan satu atau beberapa pola sumber daya untuk kebijakan enkripsi ini. Setiap koleksi yang baru dibuat di saat ini Akun AWS dan Wilayah yang cocok dengan salah satu pola secara otomatis ditetapkan ke kebijakan ini. Misalnya, jika Anda memasukkan ApplicationLogs (tanpa wildcard), dan kemudian membuat koleksi dengan nama itu, kebijakan dan kunci KMS terkait ditetapkan ke koleksi tersebut.

    Anda juga dapat memberikan awalan sepertiLogs*, yang menetapkan kebijakan ke koleksi baru dengan nama yang diawali. Logs Dengan menggunakan wildcard, Anda dapat mengelola pengaturan enkripsi untuk beberapa koleksi dalam skala besar.

  6. Di bawah Enkripsi, pilih kunci KMS untuk digunakan.

  7. Pilih Buat.

Langkah selanjutnya: Buat koleksi

Setelah mengonfigurasi satu atau beberapa kebijakan enkripsi, Anda dapat mulai membuat koleksi yang sesuai dengan aturan yang ditentukan dalam kebijakan tersebut. Untuk petunjuk, lihat Membuat koleksi.

Pada langkah Enkripsi pembuatan koleksi, OpenSearch Tanpa Server memberi tahu Anda bahwa nama yang Anda masukkan cocok dengan pola yang ditentukan dalam kebijakan enkripsi, dan secara otomatis menetapkan kunci KMS yang sesuai ke koleksi. Jika pola sumber daya berisi wildcard (*), Anda dapat memilih untuk mengganti kecocokan dan memilih kunci Anda sendiri.

Membuat kebijakan enkripsi (AWS CLI)

Untuk membuat kebijakan enkripsi menggunakan operasi API OpenSearch Tanpa Server, Anda menentukan pola sumber daya dan kunci enkripsi dalam format JSON. CreateSecurityPolicyPermintaan menerima kebijakan sebaris dan file.json.

Kebijakan enkripsi mengambil format berikut. my-policy.jsonFile sampel ini cocok dengan koleksi masa depan yang dinamaiautopartsinventory, serta koleksi apa pun dengan nama yang dimulai dengansales.

{ "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/autopartsinventory", "collection/sales*" ] } ], "AWSOwnedKey":false, "KmsARN":"arn:aws:encryption:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36" }

Untuk menggunakan kunci milik layanan, setel AWSOwnedKey ke: true

{ "Rules":[ { "ResourceType":"collection", "Resource":[ "collection/autopartsinventory", "collection/sales*" ] } ], "AWSOwnedKey":true }

Permintaan berikut membuat kebijakan enkripsi:

aws opensearchserverless create-security-policy \ --name sales-inventory \ --type encryption \ --policy file://my-policy.json

Kemudian, gunakan operasi CreateCollectionAPI untuk membuat satu atau beberapa koleksi yang cocok dengan salah satu pola sumber daya.

Melihat kebijakan enkripsi

Sebelum membuat koleksi, Anda mungkin ingin melihat pratinjau kebijakan enkripsi yang ada di akun Anda untuk melihat mana yang memiliki pola sumber daya yang cocok dengan nama koleksi Anda. ListSecurityPoliciesPermintaan berikut mencantumkan semua kebijakan enkripsi di akun Anda:

aws opensearchserverless list-security-policies --type encryption

Permintaan mengembalikan informasi tentang semua kebijakan enkripsi yang dikonfigurasi. Gunakan konten policy elemen untuk melihat aturan pola yang didefinisikan dalam kebijakan:

{ "securityPolicyDetails": [ { "createdDate": 1663693217826, "description": "Sample encryption policy", "lastModifiedDate": 1663693217826, "name": "my-policy", "policy": "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection/autopartsinventory\",\"collection/sales*\"]}],\"AWSOwnedKey\":true}", "policyVersion": "MTY2MzY5MzIxNzgyNl8x", "type": "encryption" } ] }

Untuk melihat informasi terperinci tentang kebijakan tertentu, termasuk kunci KMS, gunakan GetSecurityPolicyperintah.

Memperbarui kebijakan enkripsi

Jika Anda memperbarui kunci KMS dalam kebijakan enkripsi, perubahan hanya berlaku untuk koleksi yang baru dibuat yang cocok dengan nama atau pola yang dikonfigurasi. Itu tidak memengaruhi koleksi yang ada yang memiliki kunci KMS yang sudah ditetapkan.

Hal yang sama berlaku untuk aturan pencocokan kebijakan. Jika Anda menambahkan, memodifikasi, atau menghapus aturan, perubahan hanya berlaku untuk koleksi yang baru dibuat. Koleksi yang ada tidak kehilangan kunci KMS yang ditetapkan jika Anda mengubah aturan kebijakan sehingga tidak lagi cocok dengan nama koleksi.

Untuk memperbarui kebijakan enkripsi di konsol OpenSearch Tanpa Server, pilih Kebijakan enkripsi, pilih kebijakan yang akan diubah, dan pilih Edit. Buat perubahan dan pilih Simpan.

Untuk memperbarui kebijakan enkripsi menggunakan API OpenSearch Tanpa Server, gunakan operasi. UpdateSecurityPolicy Permintaan berikut memperbarui kebijakan enkripsi dengan dokumen JSON kebijakan baru:

aws opensearchserverless update-security-policy \ --name sales-inventory \ --type encryption \ --policy-version 2 \ --policy file://my-new-policy.json

Menghapus kebijakan enkripsi

Saat Anda menghapus kebijakan enkripsi, koleksi apa pun yang saat ini menggunakan kunci KMS yang ditentukan dalam kebijakan tidak akan terpengaruh. Untuk menghapus kebijakan di konsol OpenSearch Tanpa Server, pilih kebijakan dan pilih Hapus.

Anda juga dapat menggunakan DeleteSecurityPolicyoperasi:

aws opensearchserverless delete-security-policy --name my-policy --type encryption

Enkripsi bergerak

Dalam OpenSearch Serverless, semua jalur dalam koleksi dienkripsi dalam perjalanan menggunakan Transport Layer Security 1.2 (TLS) dengan cipher AES-256 standar industri. Akses ke semua API dan Dasbor untuk Opensearch juga melalui TLS 1.2. TLS adalah seperangkat protokol kriptografi standar industri yang digunakan untuk mengenkripsi informasi yang dipertukarkan melalui jaringan.