

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

# Mengenkripsi Amazon EMR pada log EKS dengan penyimpanan terkelola
<a name="security_iam_fgac-logging-kms"></a>

Bagian berikut menunjukkan kepada Anda cara mengonfigurasi enkripsi untuk log.

## Aktifkan enkripsi
<a name="security_iam_fgac-logging-perms"></a>

Untuk mengenkripsi log dalam penyimpanan terkelola dengan kunci KMS Anda sendiri, gunakan konfigurasi berikut saat Anda mengirimkan pekerjaan.

```
"monitoringConfiguration": {
            "managedLogs": {
                "allowAWSToRetainLogs":"ENABLED",
                "encryptionKeyArn":"KMS key arn"
            },
            "persistentAppUI": "ENABLED"
        }
```

`allowAWSToRetainLogs`Konfigurasi ini memungkinkan AWS untuk mempertahankan log namespace sistem saat menjalankan pekerjaan menggunakan Native FGAC. `persistentAppUI`Konfigurasi memungkinkan AWS untuk menyimpan log peristiwa yang digunakan untuk menghasilkan UI Spark. `encryptionKeyArn`Ini digunakan untuk menentukan ARN kunci KMS yang ingin Anda gunakan untuk mengenkripsi log yang disimpan oleh. AWS

## Izin yang diperlukan untuk enkripsi log
<a name="security_iam_fgac-logging-kms-perms"></a>

Pengguna yang mengirimkan pekerjaan atau melihat UI Spark harus diizinkan tindakan`kms:DescribeKey`,`kms:GenerateDataKey`, dan `kms:Decrypt` untuk kunci enkripsi. Izin ini digunakan untuk memverifikasi validitas kunci dan memeriksa apakah pengguna memiliki izin yang diperlukan untuk membaca dan menulis log yang dienkripsi dengan kunci KMS. Jika pengguna yang mengirimkan pekerjaan tidak memiliki izin kunci yang diperlukan, Amazon EMR di EKS menolak pengiriman job run.

**Contoh Kebijakan IAM untuk Peran yang Digunakan untuk Memanggil StartJobRun**

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "emr-containers:StartJobRun"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow",
      "Sid": "AllowEMRCONTAINERSStartjobrun"
    },
    {
      "Action": [
        "kms:DescribeKey",
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": [
        "arn:aws:kms:*:*:key/key-id"
      ],
      "Effect": "Allow",
      "Sid": "AllowKMSDescribekey"
    }
  ]
}
```

------

Anda juga harus mengkonfigurasi kunci KMS untuk mengizinkan `persistentappui.elasticmapreduce.amazonaws.com` dan Prinsipal `elasticmapreduce.amazonaws.com` Layanan untuk dan. `kms:GenerateDataKey` `kms:Decrypt` Ini memungkinkan EMR untuk membaca dan menulis log yang dienkripsi dengan kunci KMS ke penyimpanan terkelola.

**Contoh Kebijakan Kunci KMS**

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:DescribeKey"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringLike": {
          "kms:viaService": "emr-containers.*.amazonaws.com"
        }
      },
      "Sid": "AllowKMSDescribekey"
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringLike": {
          "kms:viaService": "emr-containers.*.amazonaws.com",
          "kms:EncryptionContext:aws:emr-containers:virtualClusterId": "virtual cluster id"
        }
      },
      "Sid": "AllowKMSDecryptGenerate"
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringLike": {
          "kms:EncryptionContext:aws:emr-containers:virtualClusterId": "virtual cluster id"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:emr-containers:*:*:/virtualclusters/virtual_cluster_id"
        }
      },
      "Sid": "AllowKMSDecryptService"
    }
  ]
}
```

------

Sebagai praktik keamanan terbaik, kami menyarankan Anda menambahkan`kms:viaService`,`kms:EncryptionContext`, dan `aws:SourceArn` kondisi. Kondisi ini membantu memastikan kunci hanya digunakan oleh Amazon EMR di EKS dan hanya digunakan untuk log yang dihasilkan dari pekerjaan yang berjalan di cluster virtual tertentu.