Enkripsi di Amazon OpenSearch Tanpa 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 OpenSearch Tanpa Server

Enkripsi saat tidak aktif

Setiap koleksi Amazon OpenSearch Tanpa Server yang Anda buat dilindungi dengan enkripsi data saat tidak digunakan, fitur keamanan yang membantu mencegah akses yang tidak sah ke data Anda. Enkripsi saat istirahat menggunakanAWS Key Management Service (AWS KMS) untuk menyimpan dan mengelola kunci enkripsi Anda. 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, ketika Anda membuat koleksi yang cocok dengan nama atau pola awalan, kebijakan dan kunci KMS terkait secara otomatis ditetapkan untuk itu.

Kebijakan enkripsi berisi 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 pengumpulan sumber daya.

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

  • AWSOwnedKey- Apakah akan menggunakanKunci milik AWS.

  • KmsARN— Jika Anda menyetelAWSOwnedKey ke false, tentukan Amazon Resource Name (ARN) dari kunci KMS untuk mengenkripsi koleksi yang terkait. Jika Anda menyertakan parameter ini, OpenSearch Tanpa Server mengabaikanAWSOwnedKey parameter.

Kebijakan sampel berikut akan menetapkan kunci yang dikelola pelanggan untuk koleksi future yang disebutkanautopartsinventory, 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 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 ditetapkan dari koleksi itu. 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 lainnya 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-pertimbangan

Pertimbangkan hal berikut saat Anda mengkonfigurasi enkripsi untuk koleksi Anda:

  • Enkripsi saat istirahat diperlukan untuk semua koleksi tanpa server.

  • Anda memiliki opsi untuk menggunakan kunci yang dikelola pelanggan atauKunci 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-hatiAWS KMS memilih mana yang akan digunakan pertama kali Anda mengatur koleksi.

  • Koleksi hanya dapat mencocokkan kebijakan enkripsi tunggal.

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

  • Jika Anda memperbarui kunci KMS dalam kebijakan enkripsi, perubahan tersebut tidak memengaruhi koleksi yang cocok dengan kunci KMS yang sudah 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 meminta data yang dienkripsi dengan kunci terkait.

Izin diperlukan

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

  • aoss:CreateSecurityPolicy- Buat kebijakan enkripsi.

  • aoss:ListSecurityPolicies- Cantumkan 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 menyediakan izin minimum yang diperlukan bagi pengguna untuk mengelola kebijakan enkripsi dengan pola sumber dayacollection/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 utama 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 prinsipal yang membuat pilihan. Prinsipal tersebut, pengguna atau peran, harus memiliki izin pada kunci KMS yang diperlukan OpenSearch Tanpa Server. Anda dapat memberikan izin ini di kebijakan kunci atau IAM.

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

Misalnya:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:ListKeys" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "{kms-key-arn}" } ] }

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

Jika Anda ingin menjaga kunci eksklusif Anda untuk OpenSearch Tanpa Server, Anda dapat menambahkanViaService kondisi km: untuk kebijakan kunci tersebut:

"Condition": { "StringEquals": { "kms:ViaService": "aoss.us-east-1.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } }

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

Bagaimana OpenSearch Serverless menggunakan hibah diAWS 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 membuat hibah atas nama Anda dengan mengirimkan CreateGrantpermintaanAWS KMS. HibahAWS 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 DescribeKeypermintaanAWS KMS untuk memverifikasi bahwa ID kunci yang dikelola pelanggan simetris yang diberikan valid.

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

  • Kirim permintaan DekripsiAWS 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 menyebabkanAccessDeniedException kesalahan dan kegagalan dalam alur kerja asinkron.

OpenSearch Tanpa server menghentikan hibah dalam alur kerja asinkron saat 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. Setiap koleksi baru yang cocok dengan salah satu pola yang ditentukan dalam kebijakan akan ditetapkan kunci KMS yang sesuai saat Anda membuat koleksi. Sebaiknya buat kebijakan enkripsi sebelum mulai membuat koleksi.

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

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

  3. Pilih Buat kebijakan enkripsi.

  4. Berikan nama dan deskripsi untuk kebijakan.

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

    Anda juga dapat memberikan awalan sepertiLogs*, yang menetapkan kebijakan untuk koleksi baru dengan nama dimulai denganLogs. 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 Create (Buat).

Langkah berikutnya: Buat koleksi

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

Dalam 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 inline dan file.json.

Kebijakan enkripsi memiliki format berikut ini. my-policy.jsonFile sampel ini cocok dengan koleksi future yang dinamaiautopartsinventory, serta koleksi apa pun dengan nama yang diawalisales.

{ "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, aturAWSOwnedKey ketrue:

{ "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 lebih 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 isipolicy 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. Ini tidak mempengaruhi koleksi yang ada yang memiliki kunci KMS 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 akan 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 UpdateSecurityPolicyoperasi. 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 dalam transit

Dalam OpenSearch Tanpa Server, semua jalur dalam koleksi dienkripsi saat transit 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.