

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Crittografia di Amazon EMR sui log EKS con storage gestito
<a name="security_iam_fgac-logging-kms"></a>

Le sezioni che seguono mostrano come configurare la crittografia per i log.

## Enable Encryption (Abilita crittografia)
<a name="security_iam_fgac-logging-perms"></a>

Per crittografare i log nello storage gestito con la tua chiave KMS, usa la seguente configurazione quando invii un job run.

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

La `allowAWSToRetainLogs` configurazione consente di AWS conservare i registri dello spazio dei nomi di sistema durante l'esecuzione di un lavoro utilizzando Native FGAC. La `persistentAppUI` configurazione consente di AWS salvare i registri degli eventi utilizzati per generare l'interfaccia utente Spark. `encryptionKeyArn`viene utilizzato per specificare l'ARN della chiave KMS che si desidera utilizzare per crittografare i registri archiviati da. AWS

## Autorizzazioni richieste per la crittografia dei log
<a name="security_iam_fgac-logging-kms-perms"></a>

L'utente che invia il lavoro o visualizza l'interfaccia utente di Spark deve disporre dell'autorizzazione alle azioni `kms:DescribeKey` e alla `kms:GenerateDataKey` chiave di `kms:Decrypt` crittografia. Queste autorizzazioni vengono utilizzate per verificare la validità della chiave e verificare che l'utente disponga delle autorizzazioni necessarie per leggere e scrivere registri crittografati con la chiave KMS. Se l'utente che invia il lavoro non dispone delle autorizzazioni chiave necessarie, Amazon EMR su EKS rifiuta l'invio dell'esecuzione del lavoro.

**Esempio di policy IAM per Role Used to Call 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"
    }
  ]
}
```

------

È inoltre necessario configurare la chiave KMS per consentire a `persistentappui.elasticmapreduce.amazonaws.com` and `elasticmapreduce.amazonaws.com` Service Principal di effettuare la e. `kms:GenerateDataKey` `kms:Decrypt` Ciò consente a EMR di leggere e scrivere registri crittografati con la chiave KMS per lo storage gestito.

**Esempio di politica chiave 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"
    }
  ]
}
```

------

Come best practice di sicurezza, ti consigliamo di aggiungere le `aws:SourceArn` condizioni `kms:viaService``kms:EncryptionContext`, e. Queste condizioni aiutano a garantire che la chiave venga utilizzata solo da Amazon EMR su EKS e utilizzata solo per i log generati dai lavori in esecuzione in uno specifico cluster virtuale.