

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

# Buat kunci enkripsi untuk penyimpanan sementara Fargate untuk Amazon ECS
<a name="fargate-create-storage-key"></a>

Buat kunci yang dikelola pelanggan untuk mengenkripsi data yang disimpan di penyimpanan sementara Fargate.

**catatan**  
Enkripsi penyimpanan fana Fargate dengan kunci yang dikelola pelanggan tidak tersedia untuk cluster tugas Windows.  
Enkripsi penyimpanan fana Fargate dengan kunci yang dikelola pelanggan tidak tersedia lebih awal dari sebelumnya. `platformVersions` `1.4.0`  
Fargate menyediakan ruang pada penyimpanan sementara yang hanya digunakan oleh Fargate, dan Anda tidak ditagih untuk ruang tersebut. Alokasi mungkin berbeda dari tugas-tugas utama yang dikelola non-pelanggan, tetapi total ruang tetap sama. Anda dapat melihat perubahan ini di alat seperti`df`.  
Kunci Multi-Wilayah tidak didukung untuk penyimpanan sementara Fargate.  
Alias kunci KMS tidak didukung untuk penyimpanan sementara Fargate.

Untuk membuat kunci terkelola pelanggan (CMK) untuk mengenkripsi penyimpanan sementara untuk Fargate, ikuti langkah-langkah ini. AWS KMS

1. Arahkan [https://console---aws.amazon.com.rproxy.goskope.comke/kms](https://console.aws.amazon.com/kms).

1. Ikuti petunjuk untuk [Membuat Kunci](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) di [Panduan AWS Key Management Service Pengembang](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html).

1. Saat membuat AWS KMS kunci Anda, pastikan untuk memberikan izin AWS KMS operasi yang relevan dengan layanan Fargate dalam kebijakan utama. Operasi API berikut harus diizinkan dalam kebijakan untuk menggunakan kunci terkelola pelanggan Anda dengan sumber daya klaster Amazon ECS Anda.
   + `kms:GenerateDataKeyWithoutPlainText`- Panggilan `GenerateDataKeyWithoutPlainText` untuk menghasilkan kunci data terenkripsi dari kunci yang disediakan AWS KMS .
   + `kms:CreateGrant`- Menambahkan hibah ke kunci yang dikelola pelanggan. Memberikan akses kontrol ke AWS KMS kunci tertentu, yang memungkinkan akses untuk memberikan operasi yang diperlukan Amazon ECS Fargate. Untuk informasi selengkapnya tentang [Menggunakan Hibah](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html), lihat [Panduan AWS Key Management Service Pengembang](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html). Ini memungkinkan Amazon ECS Fargate untuk melakukan hal berikut:
     + Panggil `Decrypt` AWS KMS untuk mendapatkan kunci enkripsi untuk mendekripsi data penyimpanan sementara.
     + Siapkan kepala sekolah yang pensiun untuk memungkinkan layanan. `RetireGrant`
   + `kms:DescribeKey`- Menyediakan detail kunci yang dikelola pelanggan untuk memungkinkan Amazon ECS memvalidasi kunci jika simetris dan diaktifkan.

   Contoh berikut menunjukkan kebijakan AWS KMS kunci yang akan Anda terapkan pada kunci target untuk enkripsi. Untuk menggunakan contoh pernyataan kebijakan, ganti *user input placeholders* dengan informasi Anda sendiri. Seperti biasa, hanya konfigurasikan izin yang Anda butuhkan, tetapi Anda harus memberikan AWS KMS izin kepada setidaknya satu pengguna untuk menghindari kesalahan.

   ```
   {
         "Sid": "Allow generate data key access for Fargate tasks.",
         "Effect": "Allow",
         "Principal": { "Service":"fargate.amazonaws.com" },
         "Action": [
           "kms:GenerateDataKeyWithoutPlaintext"
         ],
         "Condition": {
           "StringEquals": {
             "kms:EncryptionContext:aws:ecs:clusterAccount": [
               "customerAccountId"
             ],
             "kms:EncryptionContext:aws:ecs:clusterName": [
                "clusterName"
             ]   
           }
         },
         "Resource": "*"
       },
       {
         "Sid": "Allow grant creation permission for Fargate tasks.",
         "Effect": "Allow",
         "Principal": { "Service":"fargate.amazonaws.com" },
         "Action": [
           "kms:CreateGrant"
         ],
         "Condition": {
           "StringEquals": {
             "kms:EncryptionContext:aws:ecs:clusterAccount": [
               "customerAccountId"
             ],
             "kms:EncryptionContext:aws:ecs:clusterName": [
                "clusterName"
             ]   
           },
          "ForAllValues:StringEquals": {
             "kms:GrantOperations": [
                "Decrypt"
             ]
          }
         },
         "Resource": "*"
       },
       {
         "Sid": "Allow describe key permission for cluster operator - CreateCluster and UpdateCluster.",
         "Effect": "Allow",
         "Principal": { "AWS":"arn:aws:iam::customerAccountId:role/customer-chosen-role" },
         "Action": [
           "kms:DescribeKey"
         ],
         "Resource": "*"
       }
   ```

   Tugas Fargate menggunakan kunci konteks `aws:ecs:clusterAccount` dan `aws:ecs:clusterName` enkripsi untuk operasi kriptografi dengan kunci. Pelanggan harus menambahkan izin ini untuk membatasi akses ke klaster akun and/or tertentu. Gunakan nama cluster dan bukan ARN saat Anda menentukan cluster.

   Untuk informasi lebih lanjut, lihat [Konteks enkripsi](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) di [Panduan Developer AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html).

   Saat membuat atau memperbarui cluster, Anda memiliki opsi untuk menggunakan kunci kondisi`fargateEphemeralStorageKmsKeyId`. Kunci kondisi ini memungkinkan pelanggan untuk memiliki kontrol yang lebih terperinci terhadap kebijakan IAM. Pembaruan `fargateEphemeralStorageKmsKeyId` konfigurasi hanya berlaku pada penerapan layanan baru.

   Berikut ini adalah contoh mengizinkan pelanggan untuk memberikan izin hanya untuk satu set AWS KMS kunci tertentu yang disetujui.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "ecs:CreateCluster",
           "ecs:UpdateCluster"
         ],
         "Resource": "*",
         "Condition": {
           "StringEquals": {
             "ecs:fargate-ephemeral-storage-kms-key": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
           }
         }
       }
     ]
   }
   ```

------

   Berikutnya adalah contoh untuk menolak upaya untuk menghapus AWS KMS kunci yang sudah dikaitkan dengan cluster.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": {
       "Effect": "Deny",
       "Action": [
           "ecs:CreateCluster",
           "ecs:UpdateCluster"
       ],
       "Resource": "*",
       "Condition": {
         "Null": {
           "ecs:fargate-ephemeral-storage-kms-key": "true"
         }
       }
     }
   }
   ```

------

   Pelanggan dapat melihat apakah tugas atau tugas layanan mereka yang tidak dikelola dienkripsi menggunakan kunci dengan menggunakan AWS CLI `describe-tasks`,`describe-cluster`, atau perintah. `describe-services`

   Untuk informasi selengkapnya, lihat [Kunci kondisi untuk AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html) di [Panduan AWS KMS Pengembang](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html).

------
#### [ Konsol Manajemen AWS ]

1. Buka konsol di [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Pilih **Cluster** di navigasi kiri dan **Buat cluster** di kanan atas, atau pilih cluster yang ada. Untuk klaster yang ada, pilih **Perbarui cluster** di kanan atas.

1. Di bawah bagian **Enkripsi** alur kerja, Anda akan memiliki opsi untuk memilih AWS KMS kunci Anda di bawah **Penyimpanan terkelola dan penyimpanan** sementara **Fargate**. Anda juga dapat memilih untuk **membuat AWS KMS kunci** dari sini.

1. Pilih **Buat** setelah Anda selesai membuat klaster baru atau **Perbarui**, jika Anda memperbarui yang sudah ada.

------
#### [ AWS CLI ]

Berikut ini adalah contoh membuat cluster dan mengonfigurasi penyimpanan sementara Fargate Anda menggunakan (ganti *red* nilainya dengan AWS CLI milik Anda sendiri):

```
aws ecs create-cluster --cluster clusterName \
--configuration '{"managedStorageConfiguration":{"fargateEphemeralStorageKmsKeyId":"arn:aws:kms:us-west-2:012345678901:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"}}'
{
    "cluster": {
        "clusterArn": "arn:aws:ecs:us-west-2:012345678901:cluster/clusterName",
        "clusterName": "clusterName",
        "configuration": {
            "managedStorageConfiguration": {
                "fargateEphemeralStorageKmsKeyId": "arn:aws:kms:us-west-2:012345678901:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
            }
        },
        "status": "ACTIVE",
        "registeredContainerInstancesCount": 0,
        "runningTasksCount": 0,
        "pendingTasksCount": 0,
        "activeServicesCount": 0,
        "statistics": [],
        "tags": [],
        "settings": [],
        "capacityProviders": [],
        "defaultCapacityProviderStrategy": []
    },
    "clusterCount": 5
}
```

------
#### [ CloudFormation ]

Berikut ini adalah contoh template untuk membuat cluster dan mengonfigurasi penyimpanan sementara Fargate Anda menggunakan (ganti *red* nilainya dengan CloudFormation milik Anda sendiri):

```
AWSTemplateFormatVersion: 2010-09-09
Resources:
  MyCluster: 
    Type: AWS::ECS::Cluster
    Properties: 
      ClusterName: "clusterName" 
      Configuration:
        ManagedStorageConfiguration:
          FargateEphemeralStorageKmsKeyId: "arn:aws:kms:us-west-2:012345678901:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
```

------