

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

# Politiche IAM per l'utilizzo degli stati della mappa distribuita
<a name="iam-policies-eg-dist-map"></a>

Quando crei flussi di lavoro con la console Step Functions, Step Functions può generare automaticamente policy IAM basate sulle risorse nella definizione del flusso di lavoro. Le policy generate includono i privilegi minimi necessari per consentire al ruolo della macchina a stati di richiamare l'azione `[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)` API per *lo stato della mappa distribuita* e accedere alle AWS risorse, come i bucket e gli oggetti Amazon S3 e le funzioni Lambda.

Ti consigliamo di includere solo le autorizzazioni necessarie nelle tue policy IAM. Ad esempio, se il tuo flusso di lavoro include uno `Map` stato in modalità Distribuita, limita le tue policy allo specifico bucket e cartella Amazon S3 che contiene i tuoi dati.

**Importante**  
Se specifichi un bucket Amazon S3 e un oggetto, o prefisso, con un [percorso di riferimento](amazon-states-language-paths.md#amazon-states-language-reference-paths) a una coppia chiave-valore esistente nell'input *dello stato della mappa distribuita*, assicurati di aggiornare le policy IAM per il tuo flusso di lavoro. Definisci le policy fino ai nomi dei bucket e degli oggetti in cui il percorso si risolve in fase di esecuzione.

## Esempio di policy IAM per l'esecuzione di uno stato della mappa distribuita
<a name="iam-policy-run-dist-map"></a>

Quando includi *uno stato della mappa distribuita* nei flussi di lavoro, Step Functions necessita delle autorizzazioni appropriate per consentire al ruolo della macchina a stati di richiamare l'azione `[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)` API per lo stato della mappa *distribuita*.

*Il seguente esempio di policy IAM concede i privilegi minimi richiesti al ruolo della macchina a stati per l'esecuzione dello stato della mappa distribuita.*

**Nota**  
Assicurati di sostituirlo `stateMachineName` con il nome della macchina a stati in cui stai utilizzando lo stato *Distributed Map*. Ad esempio, `arn:aws:states:region:account-id:stateMachine:mystateMachine`.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:StartExecution"
      ],
      "Resource": [
        "arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachineName"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeExecution"
      ],
      "Resource": "arn:aws:states:us-east-1:123456789012:execution:myStateMachineName:*"
    }
  ]
}
```

## Esempio di policy IAM per redriving una mappa distribuita
<a name="iam-policy-redrive-dist-map"></a>

È possibile riavviare le esecuzioni di workflow secondarie non riuscite in una mappa eseguita dal [redriving](redrive-executions.md)flusso di lavoro [principale](state-map-distributed.md#dist-map-orchestrate-parallel-workloads-key-terms). Un flusso di lavoro redriven principale con redrives tutti gli stati non riusciti, inclusa Distributed Map. Assicurati che il tuo ruolo di esecuzione disponga dei privilegi minimi necessari per consentirgli di richiamare l'azione `[RedriveExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html)` API sul flusso di lavoro principale.

*Il seguente esempio di policy IAM concede i privilegi minimi richiesti al ruolo di macchina a stati per redriving uno stato di Distributed Map.*

**Nota**  
Assicurati di sostituirlo `stateMachineName` con il nome della macchina a stati in cui stai utilizzando lo stato *Distributed Map*. Ad esempio, `arn:aws:states:region:account-id:stateMachine:mystateMachine`.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:RedriveExecution"
      ],
      "Resource": "arn:aws:states:us-east-2:123456789012:execution:myStateMachineName/myMapRunLabel:*"
    }
  ]
}
```

## Esempi di policy IAM per la lettura dei dati dai set di dati di Amazon S3
<a name="iam-policy-eg-item-reader"></a>

Gli esempi seguenti mostrano le tecniche per concedere i privilegi minimi necessari per accedere ai set di dati Amazon S3 utilizzando [ListObjectsle](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) azioni V2 e API. [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)

**Example condizione utilizzando un oggetto Amazon S3 come set di dati**  
La seguente condizione concede i privilegi minimi per accedere agli oggetti in una `processImages` cartella di un bucket Amazon S3.  

```
"Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ],
"Condition": {
   "StringLike": { 
      "s3:prefix": [ "processImages" ]
   }
}
```

**Example utilizzando un file CSV come set di dati**  
L'esempio seguente mostra le azioni necessarie per accedere a un file CSV denominato. `ratings.csv`  

```
"Action": [ "s3:GetObject" ],
"Resource": [
   "arn:aws:s3:::amzn-s3-demo-bucket/csvDataset/ratings.csv"
   ]
```

**Example utilizzo di un inventario Amazon S3 come set di dati**  
Di seguito sono riportati esempi di risorse per un manifesto di inventario e file di dati di Amazon S3.  

```
"Resource": [
   "arn:aws:s3:::myPrefix/amzn-s3-demo-bucket/myConfig-id/YYYY-MM-DDTHH-MMZ/manifest.json",
   "arn:aws:s3:::myPrefix/amzn-s3-demo-bucket/myConfig-id/data/*"
   ]
```

**Example utilizzo di ListObjects V2 per limitarsi al prefisso di una cartella**  
Quando si utilizza [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html), verranno generate due politiche. Una è necessaria per consentire l'**elenco** dei contenuti del bucket (`ListBucket`) e un'altra policy consentirà il **recupero degli oggetti** nel bucket (). `GetObject`   
Di seguito sono riportati esempi di azioni, risorse e una condizione:  

```
"Action": [ "s3:ListBucket" ],
"Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ],
"Condition": {
   "StringLike": {
      "s3:prefix": [ "/path/to/your/json/" ]
   }
}
```

```
"Action": [ "s3:GetObject" ],
"Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/path/to/your/json/*" ]
```
Nota che non `GetObject` verrà applicato alcun ambito e utilizzerai un carattere jolly (`*`) per l'oggetto.

## Esempio di policy IAM per la scrittura di dati in un bucket Amazon S3
<a name="iam-policy-eg-result-writer"></a>

Il seguente esempio di policy IAM concede i privilegi minimi richiesti per scrivere i risultati dell'esecuzione del flusso di lavoro secondario in una cartella denominata *csvJobs* in un bucket Amazon S3 utilizzando l'azione API. `[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)`

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/csvJobs/*"
            ]
        }
    ]
}
```

### Autorizzazioni IAM per bucket Amazon S3 AWS KMS key crittografato
<a name="multiupload-dmap-result-policy"></a>

*Lo stato della mappa distribuito* utilizza caricamenti in più parti per scrivere i risultati dell'esecuzione del flusso di lavoro secondario in un bucket Amazon S3. Se il bucket è crittografato utilizzando una AWS Key Management Service (AWS KMS) chiave, devi includere anche le autorizzazioni per eseguire la IAM chiave e le `kms:Decrypt` azioni sulla chiave. `kms:Encrypt` `kms:GenerateDataKey` Queste autorizzazioni sono obbligatorie perché Amazon S3 deve decrittografare e leggere i dati dalle parti di file crittografate prima di completare il caricamento in più parti.

Il seguente esempio di policy IAM concede l'`kms:Decrypt`autorizzazione e `kms:Encrypt` le `kms:GenerateDataKey` azioni sulla chiave utilizzata per crittografare il bucket Amazon S3.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:Decrypt",
      "kms:Encrypt",
      "kms:GenerateDataKey"
    ],
    "Resource": [
      "arn:aws:kms:us-east-1:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd"
    ]
  }
}
```

Per ulteriori informazioni, consulta [Caricamento di un file di grandi dimensioni su Amazon S3 con la crittografia utilizzando una AWS KMS key](https://aws.amazon.com/premiumsupport/knowledge-center/s3-large-file-encryption-kms-key/) nel *Knowledge Center di AWS *.

Se il tuo utente o ruolo IAM è lo Account AWS stesso diKMS key, devi disporre di queste autorizzazioni sulla policy chiave. Se il tuo utente o ruolo IAM appartiene a un account diverso da quelloKMS key, devi disporre delle autorizzazioni sia sulla policy chiave che sul tuo utente o ruolo IAM.