

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Politiques IAM pour l'utilisation des états cartographiques distribués
<a name="iam-policies-eg-dist-map"></a>

Lorsque vous créez des flux de travail avec la console Step Functions, Step Functions peut générer automatiquement des politiques IAM en fonction des ressources figurant dans votre définition de flux de travail. Les politiques générées incluent le minimum de privilèges nécessaires pour permettre au rôle de machine d'état d'invoquer l'action d'`[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)`API pour l'*état de la carte distribuée* et les AWS ressources d'accès, telles que les buckets et les objets Amazon S3, ainsi que les fonctions Lambda.

Nous vous recommandons de n'inclure que les autorisations nécessaires dans vos politiques IAM. Par exemple, si votre flux de travail inclut un `Map` état en mode distribué, limitez vos politiques au compartiment et au dossier Amazon S3 spécifiques qui contiennent vos données.

**Important**  
Si vous spécifiez un compartiment et un objet Amazon S3, ou un préfixe, avec un [chemin de référence vers](amazon-states-language-paths.md#amazon-states-language-reference-paths) une paire clé-valeur existante dans l'entrée d'*état de votre carte distribuée*, assurez-vous de mettre à jour les politiques IAM pour votre flux de travail. Élargissez les politiques jusqu'au bucket et aux noms d'objets auxquels le chemin aboutit au moment de l'exécution.

## Exemple de politique IAM pour exécuter un état de carte distribuée
<a name="iam-policy-run-dist-map"></a>

Lorsque vous incluez un *état de carte distribuée* dans vos flux de travail, Step Functions a besoin des autorisations appropriées pour permettre au rôle de machine à états d'invoquer l'action d'`[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)`API pour l'*état de carte distribuée*.

L'exemple de politique IAM suivant accorde le minimum de privilèges requis à votre rôle de machine d'état pour exécuter l'*état de carte distribuée*.

**Note**  
Assurez-vous de `stateMachineName` remplacer par le nom de la machine à états dans laquelle vous utilisez l'*état Distributed Map*. Par exemple, `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:*"
    }
  ]
}
```

## Exemple de politique IAM pour redriving une carte distribuée
<a name="iam-policy-redrive-dist-map"></a>

Vous pouvez redémarrer les exécutions infructueuses d'un flux de travail enfant dans un flux de travail Map Run par [redriving](redrive-executions.md)votre [flux de travail parent](state-map-distributed.md#dist-map-orchestrate-parallel-workloads-key-terms). Un flux de travail redriven parent redrives contenant tous les états infructueux, y compris la carte distribuée. Assurez-vous que votre rôle d'exécution dispose du minimum de privilèges nécessaires pour lui permettre d'invoquer l'action d'`[RedriveExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html)`API sur le flux de travail parent.

L'exemple de politique IAM suivant accorde le minimum de privilèges requis à votre rôle de machine d'état pour redriving un *état de carte distribuée*.

**Note**  
Assurez-vous de `stateMachineName` remplacer par le nom de la machine à états dans laquelle vous utilisez l'*état Distributed Map*. Par exemple, `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:*"
    }
  ]
}
```

## Exemples de politiques IAM pour lire les données des ensembles de données Amazon S3
<a name="iam-policy-eg-item-reader"></a>

Les exemples suivants présentent des techniques permettant d'accorder le minimum de privilèges requis pour accéder à vos ensembles de données Amazon S3 à l'aide des actions [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) et [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)API.

**Example condition utilisant un objet Amazon S3 comme ensemble de données**  
La condition suivante accorde le moins de privilèges pour accéder aux objets d'un `processImages` dossier d'un compartiment Amazon S3.  

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

**Example utilisation d'un fichier CSV en tant que jeu de données**  
L'exemple suivant montre les actions requises pour accéder à un fichier CSV nommé`ratings.csv`.  

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

**Example utilisation d'un inventaire Amazon S3 en tant que jeu de données**  
Vous trouverez ci-dessous des exemples de ressources pour un manifeste d'inventaire Amazon S3 et des fichiers de données.  

```
"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 utilisation de la ListObjects V2 pour se limiter à un préfixe de dossier**  
Lors de l'utilisation de la [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html), deux politiques seront générées. L'une est nécessaire pour permettre de **répertorier** le contenu du compartiment (`ListBucket`) et une autre politique autorisera la **récupération d'objets** dans le compartiment (`GetObject`).   
Vous trouverez ci-dessous des exemples d'actions, de ressources et de conditions :  

```
"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/*" ]
```
Notez que cela ne `GetObject` sera pas délimité et que vous utiliserez un caractère générique (`*`) pour l'objet.

## Exemple de politique IAM pour écrire des données dans un compartiment Amazon S3
<a name="iam-policy-eg-result-writer"></a>

L'exemple de politique IAM suivant accorde le minimum de privilèges requis pour écrire les résultats de l'exécution du flux de travail de votre enfant dans un dossier nommé *csvJobs* dans un compartiment Amazon S3 à l'aide de l'action `[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)` API.

****  

```
{
    "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/*"
            ]
        }
    ]
}
```

### Autorisations IAM pour le compartiment Amazon S3 AWS KMS key chiffré
<a name="multiupload-dmap-result-policy"></a>

*L'état de la carte distribuée* utilise des téléchargements partitionnés pour écrire les résultats de l'exécution du flux de travail enfant dans un compartiment Amazon S3. Si le compartiment est chiffré à l'aide d'une AWS Key Management Service (AWS KMS) clé, vous devez également inclure des autorisations dans votre IAM politique pour effectuer les `kms:GenerateDataKey` actions `kms:Decrypt``kms:Encrypt`, et sur la clé. Ces autorisations sont requises, car Simple Storage Service (Amazon S3) doit déchiffrer et lire les données des parties de fichier chiffrées avant de terminer le chargement partitionné.

L'exemple de politique IAM suivant accorde l'autorisation à `kms:Decrypt``kms:Encrypt`, et aux `kms:GenerateDataKey` actions sur la clé utilisée pour chiffrer votre compartiment 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"
    ]
  }
}
```

Pour plus d'informations, consultez [Chargement d'un fichier volumineux vers Amazon S3 avec chiffrement à l'aide d'une AWS KMS key](https://aws.amazon.com/premiumsupport/knowledge-center/s3-large-file-encryption-kms-key/) que vous trouverez dans le *AWS Centre de connaissances*.

Si votre utilisateur ou votre rôle IAM est Compte AWS identique auKMS key, vous devez disposer de ces autorisations sur la politique clé. Si votre utilisateur ou rôle IAM appartient à un compte différent duKMS key, vous devez disposer des autorisations à la fois sur la politique clé et sur votre utilisateur ou rôle IAM.