

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à.

# Archivia i dati di configurazione sensibili in Gestione dei segreti AWS
<a name="storing-sensitive-data"></a>

Amazon EMR descrive ed elenca operazioni API che emettono dati di configurazione personalizzati (ad esempio `DescribeCluster` e `ListInstanceGroups`) in testo normale. Amazon EMR si integra Gestione dei segreti AWS in modo da poter archiviare i dati in Secrets Manager e utilizzare l'ARN segreto nelle configurazioni. In questo modo, non trasmetti dati di configurazione sensibili ad Amazon EMR in testo semplice per poi esporli a fonti esterne. APIs Se indichi che una coppia chiave-valore contiene un ARN di un segreto archiviato in Secrets Manager, Amazon EMR recupera questo segreto quando invia i dati di configurazione al cluster. Amazon EMR non invia l'annotazione quando utilizza dispositivi esterni APIs per visualizzare la configurazione.

## Creazione di un segreto
<a name="create-secret"></a>

Per creare un segreto, segui la procedura in [Creazione di un segreto Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) nella *Guida per l'utente di Gestione dei segreti AWS *. Nel **passaggio 3** devi scegliere il campo **Plaintext** (Testo normale) per inserire il tuo valore sensibile.

Tieni presente che mentre Secrets Manager consente a un segreto di contenere fino a 65536 byte, Amazon EMR limita a 1024 caratteri la lunghezza combinata della chiave della proprietà (esclusa l'annotazione) e del valore del segreto recuperato.

## Come concedere ad Amazon EMR l'accesso per recuperare il segreto
<a name="grant-access"></a>

Amazon EMR utilizza un ruolo di servizio IAM per il provisioning e la gestione automatica dei cluster. Il ruolo di servizio di Amazon EMR definisce le azioni consentite ad Amazon EMR quando effettua il provisioning delle risorse ed esegue attività a livello di servizio che non vengono eseguite nel contesto di un'istanza Amazon EC2 in esecuzione in un cluster. Per ulteriori informazioni sui ruoli di servizio, consulta [Ruolo di servizio per Amazon EMR (ruolo EMR)](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role.html) e [Personalizzazione dei ruoli IAM](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-custom.html).

Per consentire ad Amazon EMR di recuperare il valore del segreto da Secrets Manager, aggiungi la seguente dichiarazione di policy al tuo ruolo Amazon EMR quando avvii il cluster.

```
{
   "Sid":"AllowSecretsRetrieval",
   "Effect":"Allow",
   "Action":"secretsmanager:GetSecretValue",
   "Resource":[
      "arn:aws:secretsmanager:<region>:<aws-account-id>:secret:<secret-name>"
   ]
}
```

Se crei il segreto con una chiave gestita dal cliente AWS KMS key, devi anche aggiungere `kms:Decrypt` l'autorizzazione al ruolo Amazon EMR per la chiave che usi. Per ulteriori informazioni, consulta [Autenticazione e controllo degli accessi Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) nella *Guida per l'utente di Gestione dei segreti AWS *.

## Come utilizzare il segreto in una classificazione di configurazione
<a name="config-secret"></a>

Puoi aggiungere l'annotazione `EMR.secret@` a qualunque proprietà di configurazione per indicare che la coppia chiave-valore contiene un ARN di un segreto memorizzato in Secrets Manager.

Nell'esempio seguente viene mostrato come fornire l'ARN di un segreto in una classificazione di configurazione:

```
{
   "Classification":"core-site",
   "Properties":{
      "presto.s3.access-key":"<sensitive-access-key>",
      "EMR.secret@presto.s3.secret-key":"arn:aws:secretsmanager:<region>:<aws-account-id>:secret:<secret-name>"
   }
}
```

Quando crei un cluster e invii la configurazione annotata, Amazon EMR convalida le proprietà di configurazione. Se la configurazione è valida, Amazon EMR elimina l'annotazione dalla configurazione e recupera il segreto da Secrets Manager per creare la configurazione effettiva prima di applicarla al cluster:

```
{
   "Classification":"core-site",
   "Properties":{
      "presto.s3.access-key":"<sensitive-access-key>",
      "presto.s3.secret-key":"<my-secret-key-retrieved-from-Secrets-Manager>"
   }
}
```

Quando invochi un'azione come `DescribeCluster`, Amazon EMR restituisce la configurazione dell'applicazione corrente sul cluster. Se una proprietà di configurazione dell'applicazione è contrassegnata come contenente l'ARN di un segreto, la configurazione dell'applicazione restituita dalla chiamata `DescribeCluster` contiene l'ARN e non il valore del segreto. Ciò garantisce che il valore del segreto sia visibile solo sul cluster:

```
{
   "Classification":"core-site",
   "Properties":{
      "presto.s3.access-key":"<sensitive-access-key>",
      "presto.s3.secret-key":"arn:aws:secretsmanager:<region>:<aws-account-id>:secret:<secret-name>"
   }
}
```

## Come aggiornare il valore del segreto
<a name="update-secret"></a>

Amazon EMR recupera il valore del segreto da una configurazione annotata ogni volta che il gruppo di istanze collegato viene avviato, riconfigurato o ridimensionato. Puoi utilizzare Secrets Manager per modificare il valore di un segreto utilizzato nella configurazione di un cluster in esecuzione. In tal caso, puoi inviare una richiesta di riconfigurazione a ogni gruppo di istanze che devono ricevere il valore aggiornato. Per ulteriori informazioni sulla modalità di riconfigurazione di un gruppo di istanze e sulle valutazioni da effettuare per tale operazione, consulta [Riconfigurazione di un gruppo di istanze in un cluster in esecuzione](emr-configure-apps-running-cluster.md).