

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

# AWS KMS Integrasi paket kustom Amazon OpenSearch Service
<a name="custom-package-kms-integration"></a>

Paket kustom Amazon OpenSearch Service menyediakan enkripsi secara default untuk melindungi `ZIP-PLUGIN` paket Anda saat istirahat menggunakan Kunci yang dikelola AWS.
+ **Kunci milik AWS**— Paket kustom OpenSearch Layanan Amazon menggunakan kunci ini secara default untuk mengenkripsi `ZIP-PLUGIN` paket Anda secara otomatis. Anda tidak dapat melihat, mengelola, atau menggunakan Kunci milik AWS atau mengaudit penggunaannya. Namun, Anda tidak perlu mengambil tindakan apa pun atau mengubah program apa pun untuk melindungi kunci yang mengenkripsi data Anda. Untuk informasi lebih lanjut, lihat [Kunci milik AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) dalam *Panduan Pengembang AWS Key Management Service *.
+ **Kunci terkelola pelanggan** — Anda dapat menambahkan lapisan enkripsi kedua di atas yang ada Kunci milik AWS dengan memilih kunci yang dikelola pelanggan saat Anda membuat paket `ZIP-PLUGIN` kustom Anda.

  Dukungan paket kustom Amazon OpenSearch Service menggunakan kunci terkelola pelanggan simetris yang Anda buat, miliki, dan kelola untuk menambahkan enkripsi lapisan kedua di atas enkripsi AWS milik yang ada. Karena Anda memiliki kontrol penuh atas lapisan enkripsi ini, Anda dapat melakukan tugas-tugas berikut:
  + Menetapkan dan memelihara kebijakan utama
  + Menetapkan dan memelihara AWS Identity and Access Management (IAM) kebijakan dan hibah
  + Mengaktifkan dan menonaktifkan kebijakan utama
  + Putar bahan kriptografi kunci
  + Menambahkan tag
  + Buat alias kunci
  + Kunci jadwal untuk penghapusan

Untuk informasi selengkapnya, lihat [Kunci terkelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) di *Panduan AWS Key Management Service Pengembang*.

**catatan**  
Paket kustom OpenSearch Layanan Amazon secara otomatis mengaktifkan enkripsi Kunci milik AWS saat istirahat menggunakan tanpa biaya. Namun, AWS KMS biaya berlaku saat Anda menggunakan kunci yang dikelola pelanggan. Untuk informasi selengkapnya tentang harga, silakan lihat [harga AWS Key Management Service](https://aws.amazon.com/kms/pricing/).

## Bagaimana OpenSearch layanan paket kustom Layanan Amazon menggunakan hibah di AWS KMS
<a name="custom-package-kms-grants"></a>

OpenSearch Paket kustom layanan memerlukan hibah untuk menggunakan kunci yang dikelola pelanggan Anda.

Saat Anda membuat `ZIP-PLUGIN` paket yang dienkripsi dengan kunci yang dikelola pelanggan, layanan paket kustom OpenSearch Layanan Amazon akan membuat hibah atas nama Anda dengan mengirimkan [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)permintaan ke. AWS KMS Hibah dalam AWS KMS memberikan akses OpenSearch Layanan ke AWS KMS kunci di akun Anda. Hibah yang dibuat oleh paket kustom OpenSearch Layanan memiliki batasan yang memungkinkan operasi hanya jika permintaan menyertakan konteks enkripsi dengan ID paket kustom Anda.

Paket kustom OpenSearch Layanan Amazon memerlukan hibah untuk menggunakan kunci terkelola pelanggan Anda untuk operasi internal berikut:


| Operasi | Deskripsi | 
| --- | --- | 
| DescribeKey | Mengirim DescribeKey permintaan AWS KMS untuk memverifikasi bahwa ID kunci terkelola pelanggan simetris yang dimasukkan saat membuat paket plugin valid. | 
| GenerateDataKeyWithoutPlaintext | Mengirim GenerateDataKeyWithoutPlaintext permintaan AWS KMS untuk menghasilkan kunci data yang dienkripsi oleh kunci terkelola pelanggan Anda. | 
| GenerateDataKey | Mengirim GenerateDataKey permintaan AWS KMS untuk menghasilkan kunci data untuk mengenkripsi paket saat menyalinnya secara internal. | 
| Decrypt | Mengirim Decrypt permintaan AWS KMS untuk mendekripsi kunci data terenkripsi sehingga mereka dapat digunakan untuk mendekripsi data Anda. | 

Anda dapat mencabut akses ke hibah atau menghapus akses layanan ke kunci yang dikelola pelanggan kapan saja. Jika Anda melakukannya, OpenSearch Layanan tidak akan dapat mengakses data apa pun yang dienkripsi oleh kunci yang dikelola pelanggan, yang memengaruhi operasi yang bergantung pada data tersebut. Misalnya, jika Anda mencoba mengaitkan paket plugin yang tidak dapat diakses oleh OpenSearch Layanan, operasi akan mengembalikan `AccessDeniedException` kesalahan.

## Buat kunci yang dikelola pelanggan
<a name="custom-package-create-cmk"></a>

Anda dapat membuat kunci yang dikelola pelanggan simetris dengan menggunakan Konsol Manajemen AWS atau. AWS KMS APIs

**Untuk membuat kunci terkelola pelanggan simetris**
+ Ikuti langkah-langkah dalam [Membuat kunci KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) di *Panduan AWS Key Management Service Pengembang*.

### Kebijakan kunci
<a name="custom-package-key-policy"></a>

Kebijakan utama mengontrol akses ke kunci yang dikelola pelanggan Anda. Setiap kunci yang dikelola pelanggan harus memiliki persis satu kebijakan utama, yang berisi pernyataan yang menentukan siapa yang dapat menggunakan kunci dan bagaimana mereka dapat menggunakannya. Saat membuat kunci terkelola pelanggan, Anda dapat menentukan kebijakan kunci. Untuk informasi selengkapnya, lihat [Kebijakan kunci di AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) di *Panduan Developer AWS Key Management Service *.

Untuk menggunakan kunci terkelola pelanggan dengan sumber daya plugin, Anda harus mengizinkan operasi API berikut dalam kebijakan kunci:
+ `kms:CreateGrant`— Menambahkan hibah ke kunci yang dikelola pelanggan. Memberikan akses kontrol ke AWS KMS kunci tertentu, memungkinkan akses untuk memberikan operasi yang diperlukan oleh paket kustom OpenSearch Layanan. Untuk informasi selengkapnya tentang penggunaan hibah, lihat [Panduan AWS KMS Pengembang](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html).

  Hal ini memungkinkan OpenSearch Layanan untuk melakukan hal berikut:
  + Panggilan `GenerateDataKeyWithoutPlainText` untuk menghasilkan kunci data terenkripsi dan menyimpannya untuk validasi lebih lanjut.
  + Panggil `GenerateDataKey` untuk menyalin paket plugin secara internal.
  + Panggilan `Decrypt` untuk mengakses paket plugin secara internal.
  + Siapkan kepala sekolah yang pensiun untuk memungkinkan layanan. `RetireGrant`
+ `kms:DescribeKey`— Memberikan detail kunci yang dikelola pelanggan untuk memungkinkan OpenSearch Layanan memvalidasi kunci.
+ `kms:GenerateDataKey`,`kms:GenerateDataKeyWithoutPlaintext`, `kms:Decrypt` — Memberikan akses paket kustom OpenSearch Layanan untuk menggunakan operasi ini dalam hibah.

Berikut ini adalah contoh pernyataan kebijakan yang dapat Anda tambahkan untuk paket kustom OpenSearch Layanan:

```
"Statement" : [
  {
    "Sid" : "Allow access to principals authorized to use OpenSearch Service custom packages",
    "Effect" : "Allow",
    "Principal" : {
      "AWS" : "*"
    },
    "Action" : [
      "kms:CreateGrant",
      "kms:GenerateDataKey",
      "kms:GenerateDataKeyWithoutPlaintext",
      "kms:Decrypt"
    ],
    "Resource" : "*",
    "Condition" : {
      "StringEquals" : {
        "kms:ViaService" : "custom-packages.region.amazonaws.com"
      },
      "StringEquals" : {
        "kms:EncryptionContext:packageId": "Id of the package"
      }
    }
  },
  {
    "Sid" : "Allow access to principals authorized to use Amazon OpenSearch Service custom packages",
    "Effect" : "Allow",
    "Principal" : {
      "AWS" : "*"
    },
    "Action" : [
      "kms:DescribeKey"
    ],
    "Resource" : "*",
    "Condition" : {
      "StringEquals" : {
        "kms:ViaService" : "custom-packages.region.amazonaws.com"
      }
    }
  }
]
```

Untuk informasi selengkapnya tentang menentukan izin dalam kebijakan, lihat [Kebijakan utama AWS KMS di Panduan AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) *Pengembang*.

*Untuk informasi selengkapnya tentang akses kunci pemecahan masalah, lihat [AWS KMS Izin pemecahan masalah di Panduan Pengembang](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html).AWS Key Management Service *

## Menentukan kunci terkelola pelanggan untuk paket kustom OpenSearch Layanan Amazon
<a name="custom-package-specify-cmk"></a>

Anda dapat menentukan kunci terkelola pelanggan sebagai lapisan enkripsi kedua untuk `ZIP-PLUGIN` paket Anda.

Saat Anda membuat paket plugin, Anda dapat menentukan kunci data dengan memasukkan ID AWS KMS kunci, yang digunakan paket kustom OpenSearch Layanan untuk mengenkripsi paket plugin.

*AWS KMS ID kunci* — Pengidentifikasi kunci untuk kunci yang dikelola AWS KMS pelanggan. Masukkan ID kunci, ARN kunci, nama alias, atau ARN alias.

## Konteks enkripsi paket kustom OpenSearch Layanan Amazon
<a name="custom-package-encryption-context"></a>

Konteks enkripsi adalah kumpulan opsional pasangan kunci-nilai yang berisi informasi kontekstual tambahan tentang data.

AWS KMS menggunakan konteks enkripsi sebagai data otentikasi tambahan untuk mendukung enkripsi yang diautentikasi. Bila Anda menyertakan konteks enkripsi dalam permintaan untuk mengenkripsi data, AWS KMS mengikat konteks enkripsi ke data terenkripsi. Untuk mendekripsi data, Anda menyertakan konteks enkripsi yang sama dalam permintaan.

### Konteks enkripsi paket kustom OpenSearch Layanan Amazon
<a name="custom-package-encryption-context-details"></a>

Paket kustom Amazon OpenSearch Service menggunakan konteks enkripsi yang sama di semua operasi AWS KMS kriptografi, di mana kuncinya `packageId` dan nilainya adalah paket plugin Anda. `package-id`

### Gunakan konteks enkripsi untuk pemantauan
<a name="custom-package-encryption-context-monitoring"></a>

Saat Anda menggunakan kunci terkelola pelanggan simetris untuk mengenkripsi paket plugin Anda, Anda dapat menggunakan konteks enkripsi dalam catatan audit dan log untuk mengidentifikasi bagaimana kunci yang dikelola pelanggan digunakan. Konteks enkripsi juga muncul di log yang dihasilkan oleh AWS CloudTrail atau Amazon CloudWatch Logs.

### Menggunakan konteks enkripsi untuk mengontrol akses ke kunci terkelola pelanggan Anda
<a name="custom-package-encryption-context-access-control"></a>

Anda dapat menggunakan konteks enkripsi dalam kebijakan utama dan kebijakan IAM sebagai kondisi untuk mengontrol akses ke kunci terkelola pelanggan simetris Anda. Anda juga dapat menggunakan kendala konteks enkripsi dalam hibah.

OpenSearch Paket kustom layanan menggunakan batasan konteks enkripsi dalam hibah untuk mengontrol akses ke kunci yang dikelola pelanggan di akun atau Wilayah Anda. Batasan hibah mengharuskan operasi yang diizinkan oleh hibah menggunakan konteks enkripsi yang ditentukan.

Berikut ini adalah contoh pernyataan kebijakan kunci untuk memberikan akses ke kunci yang dikelola pelanggan untuk konteks enkripsi tertentu. Kondisi dalam pernyataan kebijakan ini mengharuskan hibah memiliki batasan konteks enkripsi yang menentukan konteks enkripsi.

```
{
    "Sid": "Enable DescribeKey",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole"
    },
    "Action": "kms:DescribeKey",
    "Resource": "*"
},
{
    "Sid": "Enable OpenSearch Service custom packages to use the key",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole"
    },
    "Action" : [
         "kms:CreateGrant",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals" : {
            "kms:EncryptionContext:packageId": "ID of the package"
         }
    }
}
```

## Memantau kunci enkripsi Anda untuk layanan paket OpenSearch kustom
<a name="custom-package-monitoring-keys"></a>

Saat Anda menggunakan kunci terkelola AWS KMS pelanggan dengan sumber daya OpenSearch layanan paket kustom Layanan, Anda dapat menggunakan CloudTrail atau CloudWatch Log untuk melacak permintaan yang dikirim paket OpenSearch kustom AWS KMS.

**Pelajari selengkapnya**  
Sumber daya berikut memberikan informasi lebih lanjut tentang enkripsi data saat istirahat.
+ Untuk informasi selengkapnya tentang konsep AWS KMS dasar, lihat [AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)di *Panduan AWS Key Management Service Pengembang*.
+ Untuk informasi selengkapnya tentang praktik terbaik keamanan AWS KMS, lihat panduan *panduan AWS preskriptif* untuk praktik [AWS Key Management Service terbaik](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html).