

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.

# Gestion des identités et des accès pour AWS CodeDeploy
<a name="security-iam"></a>

Gestion des identités et des accès AWS (IAM) est un outil Service AWS qui permet à un administrateur de contrôler en toute sécurité l'accès aux AWS ressources. Les administrateurs IAM contrôlent qui peut être *authentifié* (connecté) et *autorisé (autorisé*) à utiliser CodeDeploy les ressources. IAM est un Service AWS outil que vous pouvez utiliser sans frais supplémentaires.

**Topics**
+ [Public ciblé](#security_iam_audience)
+ [Authentification par des identités](#security_iam_authentication)
+ [Gestion de l’accès à l’aide de politiques](#security_iam_access-manage)
+ [Comment AWS CodeDeploy fonctionne avec IAM](security_iam_service-with-iam.md)
+ [AWS politiques gérées (prédéfinies) pour CodeDeploy](managed-policies.md)
+ [CodeDeploy mises à jour des politiques AWS gérées](managed-policies-updates.md)
+ [AWS CodeDeploy exemples de politiques basées sur l'identité](security_iam_id-based-policy-examples.md)
+ [Résolution des problèmes AWS CodeDeploy d'identité et d'accès](security_iam_troubleshoot.md)
+ [CodeDeploy référence aux autorisations](auth-and-access-control-permissions-reference.md)
+ [Prévention du cas de figure de l’adjoint désorienté entre services](security_confused_deputy.md)

## Public ciblé
<a name="security_iam_audience"></a>

La façon dont vous utilisez Gestion des identités et des accès AWS (IAM) varie en fonction de votre rôle :
+ **Utilisateur du service** : demandez des autorisations à votre administrateur si vous ne pouvez pas accéder aux fonctionnalités (voir [Résolution des problèmes AWS CodeDeploy d'identité et d'accès](security_iam_troubleshoot.md))
+ **Administrateur du service** : déterminez l’accès des utilisateurs et soumettez les demandes d’autorisation (voir [Comment AWS CodeDeploy fonctionne avec IAM](security_iam_service-with-iam.md))
+ **Administrateur IAM** : rédigez des politiques pour gérer l’accès (voir [AWS CodeDeploy exemples de politiques basées sur l'identité](security_iam_id-based-policy-examples.md))

## Authentification par des identités
<a name="security_iam_authentication"></a>

L'authentification est la façon dont vous vous connectez à AWS l'aide de vos informations d'identification. Vous devez être authentifié en tant qu'utilisateur IAM ou en assumant un rôle IAM. Utilisateur racine d'un compte AWS

Vous pouvez vous connecter en tant qu'identité fédérée à l'aide d'informations d'identification provenant d'une source d'identité telle que AWS IAM Identity Center (IAM Identity Center), d'une authentification unique ou d'informations d'identification. Google/Facebook Pour plus d’informations sur la connexion, consultez [Connexion à votre Compte AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dans le *Guide de l’utilisateur Connexion à AWS *.

Pour l'accès par programmation, AWS fournit un SDK et une CLI pour signer les demandes de manière cryptographique. Pour plus d’informations, consultez [Signature AWS Version 4 pour les demandes d’API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dans le *Guide de l’utilisateur IAM*.

### Compte AWS utilisateur root
<a name="security_iam_authentication-rootuser"></a>

 Lorsque vous créez un Compte AWS, vous commencez par une seule identité de connexion appelée *utilisateur Compte AWS root* qui dispose d'un accès complet à toutes Services AWS les ressources. Il est vivement déconseillé d’utiliser l’utilisateur racine pour vos tâches quotidiennes. Pour les tâches qui requièrent des informations d’identification de l’utilisateur racine, consultez [Tâches qui requièrent les informations d’identification de l’utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dans le *Guide de l’utilisateur IAM*. 

### Utilisateurs et groupes
<a name="security_iam_authentication-iamuser"></a>

Un *[utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* est une identité qui dispose d’autorisations spécifiques pour une seule personne ou application. Nous vous recommandons d’utiliser ces informations d’identification temporaires au lieu des utilisateurs IAM avec des informations d’identification à long terme. Pour plus d'informations, voir [Exiger des utilisateurs humains qu'ils utilisent la fédération avec un fournisseur d'identité pour accéder à AWS l'aide d'informations d'identification temporaires](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) dans le *guide de l'utilisateur IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) spécifient une collection d’utilisateurs IAM et permettent de gérer plus facilement les autorisations pour de grands ensembles d’utilisateurs. Pour plus d’informations, consultez [Cas d’utilisation pour les utilisateurs IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dans le *Guide de l’utilisateur IAM*.

### Rôles IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* est une identité dotée d’autorisations spécifiques qui fournit des informations d’identification temporaires. Vous pouvez assumer un rôle en [passant d'un rôle d'utilisateur à un rôle IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) ou en appelant une opération d' AWS API AWS CLI ou d'API. Pour plus d’informations, consultez [Méthodes pour endosser un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dans le *Guide de l’utilisateur IAM*.

Les rôles IAM sont utiles pour l’accès des utilisateurs fédérés, les autorisations temporaires des utilisateurs IAM, les accès intercompte, les accès entre services et les applications exécutées sur Amazon EC2. Pour plus d’informations, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

## Gestion de l’accès à l’aide de politiques
<a name="security_iam_access-manage"></a>

Vous contrôlez l'accès en AWS créant des politiques et en les associant à AWS des identités ou à des ressources. Une politique définit les autorisations lorsqu'elles sont associées à une identité ou à une ressource. AWS évalue ces politiques lorsqu'un directeur fait une demande. La plupart des politiques sont stockées AWS sous forme de documents JSON. Pour plus d’informations les documents de politique JSON, consultez [Vue d’ensemble des politiques JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dans le *Guide de l’utilisateur IAM*.

À l’aide de politiques, les administrateurs précisent qui a accès à quoi en définissant quel **principal** peut effectuer des **actions** sur quelles **ressources** et dans quelles **conditions**.

Par défaut, les utilisateurs et les rôles ne disposent d’aucune autorisation. Un administrateur IAM crée des politiques IAM et les ajoute aux rôles, que les utilisateurs peuvent ensuite assumer. Les politiques IAM définissent les autorisations quelle que soit la méthode que vous utilisez pour exécuter l’opération.

### Politiques basées sur l’identité
<a name="security_iam_access-manage-id-based-policies"></a>

Les stratégies basées sur l’identité sont des documents de stratégie d’autorisations JSON que vous attachez à une identité (utilisateur, groupe ou rôle). Ces politiques contrôlent les actions que peuvent exécuter ces identités, sur quelles ressources et dans quelles conditions. Pour découvrir comment créer une politique basée sur l’identité, consultez [Définition d’autorisations IAM personnalisées avec des politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le *Guide de l’utilisateur IAM*.

Les politiques basées sur l’identité peuvent être des *politiques intégrées* (intégrées directement dans une seule identité) ou des *politiques gérées (politiques* autonomes associées à plusieurs identités). Pour découvrir comment choisir entre des politiques gérées et en ligne, consultez [Choix entre les politiques gérées et les politiques en ligne](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dans le *Guide de l’utilisateur IAM*.

### Autres types de politique
<a name="security_iam_access-manage-other-policies"></a>

AWS prend en charge des types de politiques supplémentaires qui peuvent définir les autorisations maximales accordées par les types de politiques les plus courants :
+ **Limites d’autorisations** : une limite des autorisations définit le nombre maximum d’autorisations qu’une politique basée sur l’identité peut accorder à une entité IAM. Pour plus d’informations, consultez [Limites d’autorisations pour des entités IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dans le *Guide de l’utilisateur IAM*.
+ **Politiques de contrôle des services (SCPs)** — Spécifiez les autorisations maximales pour une organisation ou une unité organisationnelle dans AWS Organizations. Pour plus d’informations, consultez [Politiques de contrôle de service](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dans le *Guide de l’utilisateur AWS Organizations *.
+ **Politiques de contrôle des ressources (RCPs)** : définissez le maximum d'autorisations disponibles pour les ressources de vos comptes. Pour plus d'informations, voir [Politiques de contrôle des ressources (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) dans le *guide de AWS Organizations l'utilisateur*.
+ **Politiques de session** : politiques avancées que vous passez en tant que paramètre lorsque vous créez par programmation une session temporaire pour un rôle ou un utilisateur fédéré. Pour plus d’informations, consultez [Politiques de session](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dans le *Guide de l’utilisateur IAM*.

### Plusieurs types de politique
<a name="security_iam_access-manage-multiple-policies"></a>

Lorsque plusieurs types de politiques s’appliquent à la requête, les autorisations en résultant sont plus compliquées à comprendre. Pour savoir comment AWS déterminer s'il faut autoriser une demande lorsque plusieurs types de politiques sont impliqués, consultez la section [Logique d'évaluation des politiques](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) dans le *guide de l'utilisateur IAM*.

# Comment AWS CodeDeploy fonctionne avec IAM
<a name="security_iam_service-with-iam"></a>

Avant d'utiliser IAM pour gérer l'accès à CodeDeploy, vous devez comprendre quelles fonctionnalités IAM sont disponibles avec. CodeDeploy Pour plus d'informations, consultez la section [AWS Services compatibles avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) dans le Guide de l'*utilisateur d'IAM*.

**Topics**
+ [CodeDeploy politiques basées sur l'identité](#security_iam_service-with-iam-id-based-policies)
+ [CodeDeploy politiques basées sur les ressources](#security_iam_service-with-iam-resource-based-policies)
+ [Autorisation basée sur les CodeDeploy tags](#security_iam_service-with-iam-tags)
+ [CodeDeploy Rôles IAM](#security_iam_service-with-iam-roles)

## CodeDeploy politiques basées sur l'identité
<a name="security_iam_service-with-iam-id-based-policies"></a>

Avec les politiques basées sur l'identité IAM, vous pouvez spécifier les actions et les ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. CodeDeploy prend en charge les actions, les ressources et les clés de condition. Pour plus d'informations sur les éléments que vous utilisez dans une stratégie JSON, consultez la [référence des éléments de stratégie JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le guide de l'*utilisateur IAM*.

### Actions
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément `Action` d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Intégration d’actions dans une politique afin d’accorder l’autorisation d’exécuter les opérations associées.

Les actions de politique en CodeDeploy cours utilisent le `codedeploy:` préfixe avant l'action. Par exemple, l'autorisation `codedeploy:GetApplication` accorde à l'utilisateur l'autorisation d'effectuer l'opération `GetApplication`. Les déclarations de politique doivent inclure un `NotAction` élément `Action` ou. CodeDeploy définit son propre ensemble d'actions décrivant les tâches que vous pouvez effectuer avec ce service.

Pour spécifier plusieurs actions dans une seule déclaration, séparez-les par des virgules comme suit :

```
"Action": [
      "codedeploy:action1",
      "codedeploy:action2"
```

Vous pouvez aussi préciser plusieurs actions à l’aide de caractères génériques (\$1). Par exemple, incluez l'action suivante pour spécifier toutes les actions qui commencent par le mot `Describe` :

```
"Action": "ec2:Describe*"
```



Pour obtenir la liste des CodeDeploy actions, reportez-vous à la section [Actions définies par AWS CodeDeploy](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodedeploy.html#awscodedeploy-actions-as-permissions) dans le *guide de l'utilisateur IAM*.

Pour un tableau répertoriant toutes les actions d' CodeDeploy API et les ressources auxquelles elles s'appliquent, consultez[CodeDeploy référence aux autorisations](auth-and-access-control-permissions-reference.md).

### Ressources
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément de politique JSON `Resource` indique le ou les objets auxquels l’action s’applique. Il est recommandé de définir une ressource à l’aide de son [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, utilisez un caractère générique (\$1) afin d’indiquer que l’instruction s’applique à toutes les ressources.

```
"Resource": "*"
```



Par exemple, vous pouvez indiquer un groupe de déploiement (*myDeploymentGroup*) dans votre instruction à l'aide de son ARN comme suit :

```
"Resource": "arn:aws:codedeploy:us-west-2:123456789012:deploymentgroup:myApplication/myDeploymentGroup"
```

Vous pouvez également spécifier tous les groupes de déploiement appartenant à un compte en utilisant le caractère générique (\$1) comme suit :

```
"Resource": "arn:aws:codedeploy:us-west-2:123456789012:deploymentgroup:*"
```

Pour spécifier toutes les ressources, ou si une action d'API n'est pas prise en charge ARNs, utilisez le caractère générique (\$1) dans l'`Resource`élément comme suit :

```
"Resource": "*"
```

Certaines actions CodeDeploy d'API acceptent plusieurs ressources (par exemple,`BatchGetDeploymentGroups`). Pour spécifier plusieurs ressources dans une seule instruction, séparez-les ARNs par des virgules, comme suit :

```
"Resource": ["arn1", "arn2"]
```

CodeDeploy fournit un ensemble d'opérations permettant de travailler avec les CodeDeploy ressources. Pour obtenir la liste des opérations disponibles, consultez [CodeDeploy référence aux autorisations](auth-and-access-control-permissions-reference.md).

Pour obtenir une liste des types de CodeDeploy ressources et de leurs caractéristiques ARNs, consultez la section [Ressources définies par AWS CodeDeploy](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodedeploy.html) dans le *guide de l'utilisateur IAM*. Pour plus d'informations sur les actions dans lesquelles vous pouvez spécifier l'ARN de chaque ressource, consultez la section [Actions définies par AWS CodeDeploy](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodedeploy.html#awscodedeploy-actions-as-permissions).

#### CodeDeploy ressources et opérations
<a name="arn-formats"></a>

Dans CodeDeploy, la ressource principale est un groupe de déploiement. Dans une politique, vous utilisez un Amazon Resource Name (ARN) pour identifier la ressource à laquelle la politique s'applique. CodeDeploy prend en charge d'autres ressources qui peuvent être utilisées avec les groupes de déploiement, notamment les applications, les configurations de déploiement et les instances. Celles-ci sont appelées sous-ressources. Ces ressources et sous-ressources sont ARNs associées à des éléments uniques. Pour plus d'informations, consultez les [noms des ressources Amazon (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) dans le *Référence générale d'Amazon Web Services*.


| Type de ressource | Format ARN | 
| --- | --- | 
| Groupe de déploiement |  `arn:aws:codedeploy:region:account-id:deploymentgroup:application-name/deployment-group-name`  | 
| Application |  `arn:aws:codedeploy:region:account-id:application:application-name`  | 
| Configuration de déploiement |  `arn:aws:codedeploy:region:account-id:deploymentconfig:deployment-configuration-name`   | 
| Instance |  `arn:aws:codedeploy:region:account-id:instance/instance-ID`  | 
|  Toutes les CodeDeploy ressources  |  `arn:aws:codedeploy:*`  | 
|  Toutes les CodeDeploy ressources détenues par le compte spécifié dans la région spécifiée  |  `arn:aws:codedeploy:region:account-id:*`  | 

**Note**  
La plupart des services AWS traitent deux points (:)) ou une barre oblique (/) comme le même caractère dans ARNs. Cependant, CodeDeploy utilise une correspondance exacte dans les modèles de ressources et les règles. Veillez à utiliser les caractères ARN corrects lors de la création de modèles d'événements, afin qu'ils correspondent à la syntaxe ARN de la ressource.

### Clés de condition
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

CodeDeploy ne fournit aucune clé de condition spécifique au service, mais il prend en charge l'utilisation de certaines clés de condition globales. Pour plus d’informations, consultez [Clés de contexte de condition globales AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dans le *Guide de l’utilisateur IAM*.



### Exemples
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Pour consulter des exemples de politiques CodeDeploy basées sur l'identité, consultez. [AWS CodeDeploy exemples de politiques basées sur l'identité](security_iam_id-based-policy-examples.md)

## CodeDeploy politiques basées sur les ressources
<a name="security_iam_service-with-iam-resource-based-policies"></a>

CodeDeploy ne prend pas en charge les politiques basées sur les ressources. Pour consulter un exemple de page de stratégie basée sur les ressources détaillée, consultez la section [Utilisation de politiques basées sur les ressources](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) pour. AWS Lambda

## Autorisation basée sur les CodeDeploy tags
<a name="security_iam_service-with-iam-tags"></a>

CodeDeploy ne prend pas en charge le balisage des ressources ni le contrôle de l'accès en fonction des balises.

## CodeDeploy Rôles IAM
<a name="security_iam_service-with-iam-roles"></a>

Un [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) est une entité de votre AWS compte dotée d'autorisations spécifiques.

### Utilisation d'informations d'identification temporaires avec CodeDeploy
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Vous pouvez utiliser des informations d’identification temporaires pour vous connecter à l’aide de la fédération, endosser un rôle IAM ou encore pour endosser un rôle intercompte. Vous obtenez des informations d'identification de sécurité temporaires en appelant des opérations d' AWS STS API telles que [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)ou [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

CodeDeploy prend en charge l'utilisation d'informations d'identification temporaires. 

### Rôles liés à un service
<a name="security_iam_service-with-iam-roles-service-linked"></a>

CodeDeploy ne prend pas en charge les rôles liés à un service.

### Rôles du service
<a name="security_iam_service-with-iam-roles-service"></a>

Cette fonction permet à un service d’endosser une [fonction du service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) en votre nom. Ce rôle autorise le service à accéder à des ressources d’autres services pour effectuer une action en votre nom. Les rôles de service apparaissent dans votre AWS compte et sont détenus par le compte. Cela signifie qu'un utilisateur peut modifier les autorisations associées à ce rôle. Toutefois, une telle action peut perturber le bon fonctionnement du service.

CodeDeploy soutient les rôles de service. 

### Choisir un rôle IAM dans CodeDeploy
<a name="security_iam_service-with-iam-roles-choose"></a>

Lorsque vous créez une ressource de groupe de déploiement dans CodeDeploy, vous devez choisir un rôle pour autoriser CodeDeploy l'accès à Amazon EC2 en votre nom. Si vous avez déjà créé un rôle de service ou un rôle lié à un service, CodeDeploy vous fournit une liste de rôles dans laquelle effectuer votre choix. Il est important de choisir un rôle qui permet d'accéder au démarrage et à l'arrêt des instances EC2.

# AWS politiques gérées (prédéfinies) pour CodeDeploy
<a name="managed-policies"></a>

AWS répond à de nombreux cas d'utilisation courants en fournissant des politiques IAM autonomes créées et administrées par. AWS Ces politiques AWS gérées accordent des autorisations pour les cas d'utilisation courants afin que vous n'ayez pas à rechercher les autorisations requises. Pour plus d’informations, consultez [Politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dans le *Guide de l’utilisateur IAM*.

**Topics**
+ [Liste des politiques AWS gérées pour CodeDeploy](#managed-policies-list)
+ [CodeDeploy politiques et notifications gérées](#notifications-permissions)

## Liste des politiques AWS gérées pour CodeDeploy
<a name="managed-policies-list"></a>

Les politiques AWS gérées suivantes, que vous pouvez associer aux utilisateurs de votre compte, sont spécifiques à CodeDeploy :
+ `AWSCodeDeployFullAccess` : accorde un accès complet à CodeDeploy.

   
**Note**  
AWSCodeDeployFullAccess ne fournit pas d'autorisations pour les opérations dans d'autres services nécessaires au déploiement de vos applications, tels qu'Amazon EC2 et Amazon S3, uniquement pour les opérations spécifiques à. CodeDeploy
+ `AWSCodeDeployDeployerAccess`: accorde l'autorisation d'enregistrer et de déployer des révisions.

   
+ `AWSCodeDeployReadOnlyAccess` : accorde l'accès en lecture seule à CodeDeploy.

   
+ <a name="ACD-policy"></a>`AWSCodeDeployRole`: Permet CodeDeploy de :
  + lisez les balises de vos instances ou identifiez vos instances Amazon EC2 par les noms de groupes Amazon EC2 Auto Scaling
  + lire, créer, mettre à jour et supprimer des groupes Amazon EC2 Auto Scaling, des hooks de cycle de vie, des politiques de dimensionnement et des fonctionnalités de warm pool
  + publier des informations dans des rubriques Amazon SNS
  + récupérer des informations sur les CloudWatch alarmes Amazon
  + lire et mettre à jour les ressources du service Elastic Load Balancing

  La politique contient le code suivant :

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
          "autoscaling:CompleteLifecycleAction",
          "autoscaling:DeleteLifecycleHook",
          "autoscaling:DescribeAutoScalingGroups",
          "autoscaling:DescribeLifecycleHooks",
          "autoscaling:PutLifecycleHook",
          "autoscaling:RecordLifecycleActionHeartbeat",
          "autoscaling:CreateAutoScalingGroup",
          "autoscaling:CreateOrUpdateTags",
          "autoscaling:UpdateAutoScalingGroup",
          "autoscaling:EnableMetricsCollection",
          "autoscaling:DescribePolicies",
          "autoscaling:DescribeScheduledActions",
          "autoscaling:DescribeNotificationConfigurations",
          "autoscaling:SuspendProcesses",
          "autoscaling:ResumeProcesses",
          "autoscaling:AttachLoadBalancers",
          "autoscaling:AttachLoadBalancerTargetGroups",
          "autoscaling:PutScalingPolicy",
          "autoscaling:PutScheduledUpdateGroupAction",
          "autoscaling:PutNotificationConfiguration",
          "autoscaling:DescribeScalingActivities",
          "autoscaling:DeleteAutoScalingGroup",
          "autoscaling:PutWarmPool",
          "ec2:DescribeInstances",
          "ec2:DescribeInstanceStatus",
          "ec2:TerminateInstances",
          "tag:GetResources",
          "sns:Publish",
          "cloudwatch:DescribeAlarms",
          "cloudwatch:PutMetricAlarm",
          "elasticloadbalancing:DescribeLoadBalancers",
          "elasticloadbalancing:DescribeLoadBalancerAttributes",
          "elasticloadbalancing:DescribeInstanceHealth",
          "elasticloadbalancing:RegisterInstancesWithLoadBalancer",
          "elasticloadbalancing:DeregisterInstancesFromLoadBalancer",
          "elasticloadbalancing:DescribeTargetGroups",
          "elasticloadbalancing:DescribeTargetGroupAttributes",
          "elasticloadbalancing:DescribeTargetHealth",
          "elasticloadbalancing:RegisterTargets",
          "elasticloadbalancing:DeregisterTargets"
        ],
        "Resource": "*"
      }
    ]
  }
  ```

------

   
+ `AWSCodeDeployRoleForLambda`: accorde CodeDeploy l'autorisation d'accès AWS Lambda et toute autre ressource requise pour un déploiement.

   
+  `AWSCodeDeployRoleForECS`: accorde CodeDeploy l'autorisation d'accéder à Amazon ECS et à toute autre ressource requise pour un déploiement. 

   
+  `AWSCodeDeployRoleForECSLimited`: accorde CodeDeploy l'autorisation d'accéder à Amazon ECS et à toute autre ressource requise pour un déploiement, avec les exceptions suivantes : 
  +  Dans la `hooks` section du AppSpec fichier, seules les fonctions Lambda dont le nom commence par `CodeDeployHook_` peuvent être utilisées. Pour de plus amples informations, veuillez consulter [AppSpec section « hooks » pour un déploiement Amazon ECS](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs). 
  +  L'accès aux compartiments S3 est limité aux compartiments S3 dotés d'une balise d'enregistrement, `UseWithCodeDeploy`, qui a la valeur `true`. Pour plus d'informations, consultez la section [Balisage d'objets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html). 
+ <a name="EC2-policy"></a>`AmazonEC2RoleforAWSCodeDeployLimited`: accorde CodeDeploy l'autorisation d'obtenir et de répertorier des objets dans un compartiment CodeDeploy Amazon S3. La politique contient le code suivant :

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:GetObject",
                  "s3:GetObjectVersion",
                  "s3:ListBucket"
              ],
              "Resource": "arn:aws:s3:::*/CodeDeploy/*"
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:GetObject",
                  "s3:GetObjectVersion"
              ],
              "Resource": "*",
              "Condition": {
                  "StringEquals": {
                      "s3:ExistingObjectTag/UseWithCodeDeploy": "true"
                  }
              }
          }
      ]
  }
  ```

------

Les autorisations relatives à certains aspects du processus de déploiement sont accordées à deux autres types de rôles qui agissent pour le compte de CodeDeploy :
+ Un *profil d'instance IAM* est un rôle IAM que vous attachez à vos instances Amazon EC2. Ce profil inclut les autorisations requises pour accéder aux compartiments ou aux GitHub référentiels Amazon S3 dans lesquels les applications sont stockées. Pour de plus amples informations, veuillez consulter [Étape 4 : Création d'un profil d'instance IAM pour vos instances Amazon EC2](getting-started-create-iam-instance-profile.md).
+ Un *rôle de service* est un rôle IAM qui accorde des autorisations à un AWS service afin qu'il puisse accéder aux AWS ressources. Les politiques que vous attachez au rôle de service déterminent les AWS ressources auxquelles le service peut accéder et les actions qu'il peut effectuer avec ces ressources. En CodeDeploy effet, un rôle de service est utilisé pour les opérations suivantes :
  + Pour lire les balises appliquées aux instances ou les noms de groupes Amazon EC2 Auto Scaling associés aux instances. Cela permet d' CodeDeploy identifier les instances sur lesquelles il peut déployer des applications.
  + Pour effectuer des opérations sur des instances, des groupes Amazon EC2 Auto Scaling et des équilibreurs de charge Elastic Load Balancing.
  + Publier des informations dans les rubriques Amazon SNS afin que des notifications puissent être envoyées lorsque des événements de déploiement ou d'instance spécifiés se produisent.
  + Pour récupérer des informations sur les CloudWatch alarmes afin de configurer la surveillance des alarmes pour les déploiements.

  Pour de plus amples informations, veuillez consulter [Étape 2 : créer un rôle de service pour CodeDeploy](getting-started-create-service-role.md).

Vous pouvez également créer des politiques IAM personnalisées pour accorder des autorisations pour les CodeDeploy actions et les ressources. Vous associez ces politiques personnalisées aux rôles IAM, puis vous attribuez les rôles aux utilisateurs ou aux groupes qui ont besoin des autorisations.

## CodeDeploy politiques et notifications gérées
<a name="notifications-permissions"></a>

CodeDeploy prend en charge les notifications pour informer les utilisateurs des modifications importantes apportées aux déploiements. Les politiques gérées CodeDeploy incluent des déclarations de politique relatives à la fonctionnalité de notification. Pour plus d'informations, consultez [En quoi consistent les notifications ?](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/welcome.html)

### Autorisations pour les notifications dans les politiques gérées à accès complet
<a name="notifications-fullaccess"></a>

La stratégie gérée `AWSCodeDeployFullAccess` inclut les déclarations suivantes pour permettre un accès complet aux notifications. Les utilisateurs auxquels cette politique gérée est appliquée peuvent également créer et gérer des sujets Amazon SNS pour les notifications, abonner et désinscrire des utilisateurs à des sujets, et répertorier les sujets à choisir comme cibles pour les règles de notification.

```
    {
        "Sid": "CodeStarNotificationsReadWriteAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:CreateNotificationRule",
            "codestar-notifications:DescribeNotificationRule",
            "codestar-notifications:UpdateNotificationRule",
            "codestar-notifications:DeleteNotificationRule",
            "codestar-notifications:Subscribe",
            "codestar-notifications:Unsubscribe"
        ],
        "Resource": "*",
        "Condition" : {
            "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*:*:application:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListTargets",
            "codestar-notifications:ListTagsforResource"
        ],
        "Resource": "*"
    },
    {
        "Sid": "CodeStarNotificationsSNSTopicCreateAccess",
        "Effect": "Allow",
        "Action": [
            "sns:CreateTopic",
            "sns:SetTopicAttributes"
        ],
        "Resource": "arn:aws:sns:*:*:codestar-notifications*"
    },
    {
      "Sid" : "CodeStarNotificationsChatbotAccess",
      "Effect" : "Allow",
      "Action" : [
        "chatbot:DescribeSlackChannelConfigurations"
      ],
      "Resource" : "*"
    },
    {
        "Sid": "SNSTopicListAccess",
        "Effect": "Allow",
        "Action": [
            "sns:ListTopics"
        ],
        "Resource": "*"
    }
```

### Autorisations pour les notifications dans les politiques gérées en lecture seule
<a name="notifications-readonly"></a>

La stratégie gérée `AWSCodeDeployReadOnlyAccess` inclut les déclarations suivantes pour autoriser l'accès en lecture seule aux notifications. Les utilisateurs auxquels s’applique cette stratégie gérée peuvent voir des notifications pour les ressources, mais ne peuvent ni les créer, ni les gérer ni s'y abonner. 

```
   {
        "Sid": "CodeStarNotificationsPowerUserAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:DescribeNotificationRule"
        ],
        "Resource": "*",
        "Condition" : {
            "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*:*:application:*"} 
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules"
        ],
        "Resource": "*"
    }
```

### Autorisations pour les notifications dans d'autres politiques gérées
<a name="notifications-deployer"></a>

La politique `AWSCodeDeployDeployerAccess` gérée inclut les instructions suivantes pour permettre aux utilisateurs de créer, de mettre à jour, de s'abonner et de consulter les notifications relatives aux ressources, mais ne peuvent pas les supprimer. Les utilisateurs auxquels cette politique gérée est appliquée peuvent également créer et gérer des rubriques Amazon SNS pour les notifications.

Cette politique inclut les autorisations pour effectuer les opérations suivantes :
+ `codestar-notifications:CreateNotificationRule`— Permet aux directeurs de créer des notifications.
+ `codestar-notifications:DescribeNotificationRule`— Permet aux principaux de récupérer des informations sur les notifications.
+ `codestar-notifications:UpdateNotificationRule`— Permet aux principaux de mettre à jour les notifications.
+ `codestar-notifications:Subscribe`— Permet aux directeurs de s'abonner aux mises à jour des notifications.
+ `codestar-notifications:Unsubscribe`— Permet aux directeurs de se désabonner des mises à jour des notifications.
+ `codestar-notifications:ListNotificationRules`— Permet aux principaux de récupérer la liste des règles de notification.
+ `codestar-notifications:ListTargets`— Permet aux principaux de récupérer la liste des cibles.
+ `codestar-notifications:ListTagsforResource`— Permet aux principaux de récupérer la liste des tags.
+ `codestar-notifications:ListEventTypes`— Permet aux principaux de récupérer la liste des types d'événements.
+ `chatbot:DescribeSlackChannelConfiguration`— Permet aux directeurs de récupérer des informations sur les configurations des chaînes Slack.
+ `sns:ListTopics`— Permet aux principaux de récupérer la liste des sujets Amazon SNS pour les notifications.

```
   {
      "Sid" : "CodeStarNotificationsReadWriteAccess",
      "Effect" : "Allow",
      "Action" : [
        "codestar-notifications:CreateNotificationRule",
        "codestar-notifications:DescribeNotificationRule",
        "codestar-notifications:UpdateNotificationRule",
        "codestar-notifications:Subscribe",
        "codestar-notifications:Unsubscribe"
      ],
      "Resource" : "*",
      "Condition" : {
        "ArnLike" : {
          "codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*:*:application:*"
        }
      }
    },
    {
      "Sid" : "CodeStarNotificationsListAccess",
      "Effect" : "Allow",
      "Action" : [
        "codestar-notifications:ListNotificationRules",
        "codestar-notifications:ListTargets",
        "codestar-notifications:ListTagsforResource",
        "codestar-notifications:ListEventTypes"
      ],
      "Resource" : "*"
    },
    {
      "Sid" : "CodeStarNotificationsChatbotAccess",
      "Effect" : "Allow",
      "Action" : [
        "chatbot:DescribeSlackChannelConfigurations"
      ],
      "Resource" : "*"
    },
    {
      "Sid" : "SNSTopicListAccess",
      "Effect" : "Allow",
      "Action" : [
        "sns:ListTopics"
      ],
      "Resource" : "*"
    }
```

Pour plus d'informations, consultez la section [Gestion des identités et des accès pour CodeStar les notifications AWS](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/security-iam.html).

# CodeDeploy mises à jour des politiques AWS gérées
<a name="managed-policies-updates"></a>

Consultez les détails des mises à jour des politiques AWS gérées CodeDeploy depuis que ce service a commencé à suivre ces modifications. Pour obtenir des alertes automatiques concernant les modifications apportées à cette page, abonnez-vous au flux RSS de la page CodeDeploy [Historique du document](document-history.md). 


| Modifier | Description | Date | 
| --- | --- | --- | 
|  `AWSCodeDeployDeployerAccess`stratégie gérée — Mises à jour de la politique existante  |  L'`codestar-notifications:NotificationsForResource`action a été mise à jour pour prendre en charge les modifications de validation des politiques IAM. La ressource d'origine `arn:aws:codedeploy:*` a été mise à jour vers`arn:aws:codedeploy:*:*:application:*`. Pour plus d’informations sur cette politique, consultez [Autorisations pour les notifications dans d'autres politiques gérées](managed-policies.md#notifications-deployer).  |  16 décembre 2024  | 
|  `AWSCodeDeployReadOnlyAccess`stratégie gérée — Mises à jour de la politique existante  |  L'`codestar-notifications:NotificationsForResource`action a été mise à jour pour prendre en charge les modifications de validation des politiques IAM. La ressource d'origine `arn:aws:codedeploy:*` a été mise à jour vers`arn:aws:codedeploy:*:*:application:*`. Pour plus d’informations sur cette politique, consultez [Autorisations pour les notifications dans les politiques gérées en lecture seule](managed-policies.md#notifications-readonly).  |  16 décembre 2024  | 
|  `AWSCodeDeployFullAccess`stratégie gérée — Mises à jour de la politique existante  |  L'`codestar-notifications:NotificationsForResource`action a été mise à jour pour prendre en charge les modifications de validation des politiques IAM. La ressource d'origine `arn:aws:codedeploy:*` a été mise à jour vers`arn:aws:codedeploy:*:*:application:*`. Pour plus d’informations sur cette politique, consultez [Autorisations pour les notifications dans les politiques gérées à accès complet](managed-policies.md#notifications-fullaccess).  |  16 décembre 2024  | 
|  `AWSCodeDeployRole`stratégie gérée — Mises à jour de la politique existante  |  Ajout des `elasticloadbalancing:DescribeTargetGroupAttributes` actions `elasticloadbalancing:DescribeLoadBalancerAttributes` et à la déclaration de politique pour prendre en charge les modifications apportées à Elastic Load Balancing. Pour plus d’informations sur cette politique, consultez [AWSCodeDeployRole](managed-policies.md#ACD-policy).  |  16 août 2023  | 
|  `AWSCodeDeployFullAccess`stratégie gérée — Mises à jour de la politique existante  |  L'`chatbot:ListMicrosoftTeamsChannelConfigurations`action a été ajoutée à la déclaration de politique pour prendre en charge les modifications apportées aux notifications. Pour plus d’informations sur cette politique, consultez [AWSCodeDeployRole](managed-policies.md#ACD-policy).  |  11 mai 2023  | 
|  `AWSCodeDeployRole`stratégie gérée — Mises à jour de la politique existante  |  L'` autoscaling:CreateOrUpdateTags`action a été ajoutée à la déclaration de politique pour prendre en charge les modifications d'autorisation d'Amazon EC2 Auto Scaling. Pour plus d’informations sur cette politique, consultez [AWSCodeDeployRole](managed-policies.md#ACD-policy).  |  3 février 2023  | 
|  `AmazonEC2RoleforAWSCodeDeployLimited`stratégie gérée — Mises à jour de la politique existante  |  L'`s3:ListBucket`action a été supprimée de la déclaration de politique qui inclut la `s3:ExistingObjectTag/UseWithCodeDeploy` condition. Pour plus d’informations sur cette politique, consultez [AmazonEC2RoleforAWSCodeDeployLimited](managed-policies.md#EC2-policy).  |  22 novembre 2021  | 
|  `AWSCodeDeployRole`stratégie gérée — Mises à jour de la politique existante  |  Ajout de l'`autoscaling:PutWarmPool`action permettant d'[ajouter des pools de chaleur aux groupes Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html#add-warm-pool-console/ec2/userguide/ec2-auto-scaling-warm-pools.html#add-warm-pool-console) pour les déploiements bleu/vert. Suppression des actions dupliquées inutiles.  |  18 mai 2021  | 
|  CodeDeploy a commencé à suivre les modifications  |  CodeDeploy a commencé à suivre les modifications apportées AWS à ses politiques gérées.  |  18 mai 2021  | 

# AWS CodeDeploy exemples de politiques basées sur l'identité
<a name="security_iam_id-based-policy-examples"></a>

Par défaut, les utilisateurs ne sont pas autorisés à créer ou à modifier CodeDeploy des ressources. Ils ne peuvent pas non plus effectuer de tâches à l'aide de l' AWS API AWS Management Console AWS CLI, ou. Vous devez créer des politiques IAM qui accordent aux rôles IAM l'autorisation d'effectuer des opérations d'API sur les ressources spécifiées dont ils ont besoin. Vous devez ensuite associer ces rôles IAM aux utilisateurs ou aux groupes qui ont besoin de ces autorisations.

Pour apprendre à créer une politique basée sur l’identité IAM à l’aide de ces exemples de documents de politique JSON, consultez [Création de politiques dans l’onglet JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) dans le *Guide de l’utilisateur IAM*.

Dans CodeDeploy, les politiques basées sur l'identité sont utilisées pour gérer les autorisations d'accès aux différentes ressources liées au processus de déploiement. Vous pouvez contrôler l'accès aux types de ressources suivants :
+ Applications et révisions d'application
+ Déploiements
+ Configurations de déploiement
+ Instances et instances sur site

Les capacités contrôlées par des stratégies de ressource varient en fonction du type de ressource, comme décrit dans le tableau suivant :


****  

|  Types de ressources  |  Fonctionnalités  | 
| --- | --- | 
|  Tous  |  Afficher et répertorier les informations relatives aux ressources  | 
|  Applications Configurations de déploiement Groupes de déploiement  |  Créer des ressources  Supprimer des ressources  | 
|  Déploiements  |  Créer des déploiements Arrêter des déploiements  | 
|  Révisions d'application  |  Enregistrer les révisions d'application  | 
|  Applications Groupes de déploiement  |  Mettre à jour les ressources  | 
|  Instances sur site  |  Ajouter des balises aux instances Supprimer des balises des instances Enregistrer des instances Annuler l'enregistrement des instances  | 

L'exemple suivant présente une stratégie d'autorisation qui permet à un utilisateur de supprimer le groupe de déploiement nommé **WordPress\$1DepGroup** associé à l'application nommée **WordPress\$1App** dans la région **us-west-2**.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:DeleteDeploymentGroup"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:deploymentgroup:WordPress_App/WordPress_DepGroup"
      ]
    }
  ]
}
```

------

**Topics**
+ [Exemples de politiques gérées par le client](#customer-managed-policies)
+ [Bonnes pratiques en matière de politiques](#security_iam_service-with-iam-policy-best-practices)
+ [Utilisation de la CodeDeploy console](#security_iam_id-based-policy-examples-console)
+ [Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations](#security_iam_id-based-policy-examples-view-own-permissions)

## Exemples de politiques gérées par le client
<a name="customer-managed-policies"></a>

Dans cette section, vous trouverez des exemples de politiques qui accordent des autorisations pour diverses CodeDeploy actions. Ces politiques fonctionnent lorsque vous utilisez l' CodeDeploy API AWS SDKs, ou le AWS CLI. Vous devez accorder des autorisations supplémentaires pour les actions que vous effectuez dans la console. Pour en savoir plus sur l'octroi d'autorisations de console, consultez [Utilisation de la CodeDeploy console](#security_iam_id-based-policy-examples-console).



**Note**  
Tous les exemples utilisent la région de l'Ouest des États-Unis (Oregon) (`us-west-2`) et contiennent un récit fictif. IDs

 **Exemples**
+ [Exemple 1 : Autoriser l'autorisation d'effectuer CodeDeploy des opérations dans une seule région](#identity-based-policies-example-1)
+ [Exemple 2 : Autoriser l'enregistrement des révisions pour une seule application](#identity-based-policies-example-2)
+ [Exemple 3 : Autoriser la création de déploiements pour un seul groupe de déploiement](#identity-based-policies-example-3)

### Exemple 1 : Autoriser l'autorisation d'effectuer CodeDeploy des opérations dans une seule région
<a name="identity-based-policies-example-1"></a>

L'exemple suivant accorde des autorisations pour effectuer CodeDeploy des opérations dans la **us-west-2** région uniquement :

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:*"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:*"
      ]
    }
  ]
}
```

------

### Exemple 2 : Autoriser l'enregistrement des révisions pour une seule application
<a name="identity-based-policies-example-2"></a>

L'exemple suivant accorde des autorisations pour enregistrer les révisions de toutes les applications qui commencent par **Test** dans la région **us-west-2** :

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:RegisterApplicationRevision"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:application:Test*"
      ]
    }
  ]
}
```

------

### Exemple 3 : Autoriser la création de déploiements pour un seul groupe de déploiement
<a name="identity-based-policies-example-3"></a>

L'exemple suivant autorise la création de déploiements pour le groupe de déploiement nommé **WordPress\$1DepGroup** associé à l'application nommée**WordPress\$1App**, la configuration de déploiement personnalisée nommée **ThreeQuartersHealthy** et toutes les révisions d'application associées à l'application nommée**WordPress\$1App**. Toutes ces ressources se trouvent dans la région **us-west-2**.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement" : [
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:CreateDeployment"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:deploymentgroup:WordPress_App/WordPress_DepGroup"
      ]
    },
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:GetDeploymentConfig"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:deploymentconfig:ThreeQuartersHealthy"
      ]
    },
    {
      "Effect" : "Allow",
      "Action" : [
        "codedeploy:GetApplicationRevision"
      ],
      "Resource" : [
        "arn:aws:codedeploy:us-west-2:111122223333:application:WordPress_App"
      ]
    }
  ]
}
```

------

## Bonnes pratiques en matière de politiques
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Les politiques basées sur l'identité déterminent si quelqu'un peut créer, accéder ou supprimer CodeDeploy des ressources dans votre compte. Ces actions peuvent entraîner des frais pour votre Compte AWS. Lorsque vous créez ou modifiez des politiques basées sur l’identité, suivez ces instructions et recommandations :
+ **Commencez AWS par les politiques gérées et passez aux autorisations du moindre privilège : pour commencer à accorder des autorisations** à vos utilisateurs et à vos charges de travail, utilisez les *politiques AWS gérées* qui accordent des autorisations pour de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. Nous vous recommandons de réduire davantage les autorisations en définissant des politiques gérées par les AWS clients spécifiques à vos cas d'utilisation. Pour plus d’informations, consultez [politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [politiques gérées par AWS pour les activités professionnelles](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dans le *Guide de l’utilisateur IAM*.
+ **Accordez les autorisations de moindre privilège** : lorsque vous définissez des autorisations avec des politiques IAM, accordez uniquement les autorisations nécessaires à l’exécution d’une seule tâche. Pour ce faire, vous définissez les actions qui peuvent être entreprises sur des ressources spécifiques dans des conditions spécifiques, également appelées *autorisations de moindre privilège*. Pour plus d’informations sur l’utilisation d’IAM pour appliquer des autorisations, consultez [politiques et autorisations dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez des conditions dans les politiques IAM pour restreindre davantage l’accès** : vous pouvez ajouter une condition à vos politiques afin de limiter l’accès aux actions et aux ressources. Par exemple, vous pouvez écrire une condition de politique pour spécifier que toutes les demandes doivent être envoyées via SSL. Vous pouvez également utiliser des conditions pour accorder l'accès aux actions de service si elles sont utilisées par le biais d'un service spécifique Service AWS, tel que CloudFormation. Pour plus d’informations, consultez [Conditions pour éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez l’Analyseur d’accès IAM pour valider vos politiques IAM afin de garantir des autorisations sécurisées et fonctionnelles** : l’Analyseur d’accès IAM valide les politiques nouvelles et existantes de manière à ce que les politiques IAM respectent le langage de politique IAM (JSON) et les bonnes pratiques IAM. IAM Access Analyzer fournit plus de 100 vérifications de politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Pour plus d’informations, consultez [Validation de politiques avec IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dans le *Guide de l’utilisateur IAM*.
+ **Exiger l'authentification multifactorielle (MFA**) : si vous avez un scénario qui nécessite des utilisateurs IAM ou un utilisateur root, activez l'authentification MFA pour une sécurité accrue. Compte AWS Pour exiger la MFA lorsque des opérations d’API sont appelées, ajoutez des conditions MFA à vos politiques. Pour plus d’informations, consultez [Sécurisation de l’accès aux API avec MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dans le *Guide de l’utilisateur IAM*.

Pour plus d’informations sur les bonnes pratiques dans IAM, consultez [Bonnes pratiques de sécurité dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l’utilisateur IAM*.

## Utilisation de la CodeDeploy console
<a name="security_iam_id-based-policy-examples-console"></a>

Si vous utilisez la CodeDeploy console, vous devez disposer d'un ensemble minimal d'autorisations vous permettant de décrire les autres AWS ressources de votre AWS compte. Pour l'utiliser CodeDeploy dans la CodeDeploy console, vous devez disposer des autorisations des services suivants :
+ Amazon EC2 Auto Scaling
+ AWS CodeDeploy
+ Amazon Elastic Compute Cloud
+ Elastic Load Balancing
+ Gestion des identités et des accès AWS
+ Amazon Simple Storage Service
+ Amazon Simple Notification Service
+ Amazon CloudWatch

Si vous créez une politique IAM plus restrictive que les autorisations minimales requises, la console ne fonctionnera pas comme prévu pour les utilisateurs ayant un rôle dans cette politique IAM. Pour garantir que ces utilisateurs peuvent toujours utiliser la CodeDeploy console, associez également la politique `AWSCodeDeployReadOnlyAccess` gérée au rôle attribué à l'utilisateur, comme décrit dans[AWS politiques gérées (prédéfinies) pour CodeDeploy](managed-policies.md).

Il n'est pas nécessaire d'accorder des autorisations de console minimales aux utilisateurs qui appellent uniquement l'API AWS CLI ou l' CodeDeploy API.

## Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Cet exemple montre comment créer une politique qui permet aux utilisateurs IAM d’afficher les politiques en ligne et gérées attachées à leur identité d’utilisateur. Cette politique inclut les autorisations permettant d'effectuer cette action sur la console ou par programmation à l'aide de l'API AWS CLI or AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

# Résolution des problèmes AWS CodeDeploy d'identité et d'accès
<a name="security_iam_troubleshoot"></a>

Utilisez les informations suivantes pour vous aider à diagnostiquer et à résoudre les problèmes courants que vous pouvez rencontrer lorsque vous travaillez avec CodeDeploy IAM.

**Topics**
+ [Je ne suis pas autorisé à effectuer iam : PassRole](#security_iam_troubleshoot-passrole)
+ [Je souhaite autoriser des personnes extérieures à mon AWS compte à accéder à mes CodeDeploy ressources](#security_iam_troubleshoot-cross-account-access)

## Je ne suis pas autorisé à effectuer iam : PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Si vous recevez une erreur selon laquelle vous n’êtes pas autorisé à exécuter `iam:PassRole` l’action, vos stratégies doivent être mises à jour afin de vous permettre de transmettre un rôle à CodeDeploy.

Certains vous Services AWS permettent de transmettre un rôle existant à ce service au lieu de créer un nouveau rôle de service ou un rôle lié à un service. Pour ce faire, vous devez disposer des autorisations nécessaires pour transmettre le rôle au service.

L’exemple d’erreur suivant se produit lorsqu’un utilisateur IAM nommé `marymajor` essaie d’utiliser la console pour exécuter une action dans CodeDeploy. Toutefois, l'action nécessite que le service ait des autorisations accordées par une fonction de service. Mary n'est pas autorisée à transmettre le rôle au service.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dans ce cas, les politiques de Mary doivent être mises à jour pour lui permettre d’exécuter l’action `iam:PassRole`.

Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations d’identification de connexion.

## Je souhaite autoriser des personnes extérieures à mon AWS compte à accéder à mes CodeDeploy ressources
<a name="security_iam_troubleshoot-cross-account-access"></a>

Vous pouvez créer un rôle que les utilisateurs provenant d’autres comptes ou les personnes extérieures à votre organisation pourront utiliser pour accéder à vos ressources. Vous pouvez spécifier qui est autorisé à assumer le rôle. Pour les services qui prennent en charge les politiques basées sur les ressources ou les listes de contrôle d'accès (ACLs), vous pouvez utiliser ces politiques pour autoriser les utilisateurs à accéder à vos ressources.

Pour plus d’informations, consultez les éléments suivants :
+ Pour savoir si ces fonctionnalités sont prises CodeDeploy en charge, consultez[Comment AWS CodeDeploy fonctionne avec IAM](security_iam_service-with-iam.md).
+ Pour savoir comment fournir l'accès à vos ressources sur celles Comptes AWS que vous possédez, consultez la section [Fournir l'accès à un utilisateur IAM dans un autre utilisateur Compte AWS que vous possédez](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) dans le Guide de l'*utilisateur IAM*.
+ Pour savoir comment fournir l'accès à vos ressources à des tiers Comptes AWS, consultez la section [Fournir un accès à des ressources Comptes AWS détenues par des tiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dans le *guide de l'utilisateur IAM*.
+ Pour savoir comment fournir un accès par le biais de la fédération d’identité, consultez [Fournir un accès à des utilisateurs authentifiés en externe (fédération d’identité)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dans le *Guide de l’utilisateur IAM*.
+ Pour en savoir plus sur la différence entre l’utilisation des rôles et des politiques basées sur les ressources pour l’accès intercompte, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

# CodeDeploy référence aux autorisations
<a name="auth-and-access-control-permissions-reference"></a>

Utilisez le tableau suivant lorsque vous configurez des politiques d'accès et rédigez des politiques d'autorisation que vous pouvez associer à une identité IAM (politiques basées sur l'identité). Le tableau répertorie chaque opération d' CodeDeploy API, les actions pour lesquelles vous pouvez accorder des autorisations pour effectuer l'action et le format de l'ARN de la ressource à utiliser pour accorder des autorisations. Vous spécifiez les actions dans le champ `Action` de la politique. Vous spécifiez un ARN, avec ou sans caractère générique (\$1) comme valeur de ressource dans le champ `Resource` de la stratégie.

Vous pouvez utiliser des AWS clés de condition larges dans vos CodeDeploy polices pour exprimer des conditions. Pour obtenir la liste complète des touches AWS-wide, consultez la section [Clés disponibles](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys) dans le *guide de l'utilisateur IAM*.

Pour spécifier une action, utilisez le préfixe `codedeploy:` suivi du nom de l'opération d'API (par exemple, `codedeploy:GetApplication` ou `codedeploy:CreateApplication`). Pour spécifier plusieurs actions dans une même instruction, séparez-les par une virgule (par exemple, `"Action": ["codedeploy:action1", "codedeploy:action2"]`).

**Utilisation de caractères génériques**

Vous pouvez utiliser un caractère générique (\$1) dans votre ARN pour spécifier plusieurs actions ou ressources. Par exemple, `codedeploy:*` spécifie toutes les CodeDeploy actions et `codedeploy:Get*` indique toutes les CodeDeploy actions qui commencent par le mot`Get`. Dans l'exemple suivant, il est donné accès à tous les groupes de déploiement dont le nom commence par `West` et qui sont associés à des applications dont le nom débute par `Test`. 

```
arn:aws:codedeploy:us-west-2:444455556666:deploymentgroup:Test*/West*
```

Vous pouvez utiliser des caractères génériques avec les ressources suivantes qui sont répertoriées dans le tableau :
+ *application-name*
+ *deployment-group-name*
+ *deployment-configuration-name*
+ *instance-ID*

Les caractères génériques ne peuvent pas être utilisés avec *region* ou*account-id*. Pour plus d'informations sur les caractères génériques, consultez la section [Identifiants IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) dans le *guide de l'utilisateur IAM*. 

**Note**  
 Dans l'ARN de chaque action, un signe deux-points (:) suit la ressource. Vous pouvez également faire suivre la ressource par une barre oblique (/). Pour plus d'informations, voir l'[CodeDeployexemple ARNs](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-codedeploy). 

Utilisez les barres de défilement pour voir le reste du tableau.


**CodeDeploy Opérations d'API et autorisations requises pour les actions**  

| CodeDeploy Opérations d'API | Autorisations requises (actions API) | Ressources | 
| --- | --- | --- | 
|  [AddTagsToOnPremisesInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_AddTagsToOnPremisesInstances.html)  |  `codedeploy:AddTagsToOnPremisesInstances` Requise pour ajouter des balises à une ou plusieurs instances sur site.  |  arn:aws:codedeploy : ::instance/ *region* *account-id* *instance-ID*  | 
|  [BatchGetApplicationRevisions](https://docs.aws.amazon.com/codedeploy/latest/APIReference/BatchGetApplicationRevisions.html)  |  `codedeploy:BatchGetApplicationRevisions` Requise pour obtenir des informations sur plusieurs révisions d'application associées à l'utilisateur .  |  arn:aws:codedeploy : ::application : *region* *account-id* *application-name*  | 
|  [BatchGetApplications](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetApplications.html)  |  `codedeploy:BatchGetApplications` Requise pour obtenir des informations sur plusieurs applications associées à l'utilisateur .  |  arn:aws:codedeploy : ::application : \$1 *region* *account-id*  | 
| [BatchGetDeploymentGroups](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetDeploymentGroups.html) |  `codedeploy:BatchGetDeploymentGroups` Requise pour obtenir des informations sur plusieurs groupes de déploiement associés à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
| [BatchGetDeploymentInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetDeploymentInstances.html) | codedeploy:BatchGetDeploymentInstancesRequise pour obtenir des informations sur une ou plusieurs instances d'un groupe de déploiement. |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [BatchGetDeployments](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetDeployments.html)  |  `codedeploy:BatchGetDeployments` Requise pour obtenir des informations sur plusieurs déploiements associés à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [BatchGetOnPremisesInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetOnPremisesInstances.html)  |  `codedeploy:BatchGetOnPremisesInstances` Requise pour obtenir des informations sur une ou plusieurs instances sur site.  |  arn:aws:codedeploy : : : \$1 *region* *account-id*  | 
|  [ContinueDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ContinueDeployment.html)  |  `codedeploy:ContinueDeployment` Nécessaire lors d'un blue/green déploiement pour démarrer le processus d'enregistrement des instances dans un environnement de remplacement avec un équilibreur de charge Elastic Load Balancing.  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [CreateApplication](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateApplication.html)  |  `codedeploy:CreateApplication` Requise pour créer une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::application : *region* *account-id* *application-name*  | 
|  [CreateDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html)¹  |  `codedeploy:CreateDeployment` Requise pour créer un déploiement pour une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [CreateDeploymentConfig](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeploymentConfig.html)  |  `codedeploy:CreateDeploymentConfig` Requise pour créer une configuration de déploiement personnalisée associée à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentconfig : *region* *account-id* *deployment-configuration-name*   | 
|  [CreateDeploymentGroup](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeploymentGroup.html)  |  `codedeploy:CreateDeploymentGroup` Requise pour créer un groupe de déploiement pour une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [DeleteApplication](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteApplication.html)  |  `codedeploy:DeleteApplication` Requise pour supprimer une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::application : *region* *account-id* *application-name*  | 
|  [DeleteDeploymentConfig](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteDeploymentConfig.html)  |  `codedeploy:DeleteDeploymentConfig` Requise pour supprimer une configuration de déploiement personnalisée associée à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentconfig : *region* *account-id* *deployment-configuration-name*   | 
|  [DeleteDeploymentGroup](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteDeploymentGroup.html)  |  `codedeploy:DeleteDeploymentGroup` Requise pour supprimer un groupe de déploiement d'une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [DeregisterOnPremisesInstance](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeregisterOnPremisesInstance.html)  |  `codedeploy:DeregisterOnPremisesInstance` Requise pour annuler l'enregistrement d'une instance sur site.  |  arn:aws:codedeploy : ::instance/ *region* *account-id* *instance-ID*  | 
|  [GetApplication](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetApplication.html)  |  `codedeploy:GetApplication` Requise pour obtenir des informations sur une application spécifique associée à l'utilisateur .  |  arn:aws:codedeploy : ::application : *region* *account-id* *application-name*  | 
|  [GetApplicationRevision](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetApplicationRevision.html)  |  `codedeploy:GetApplicationRevision` Requise pour obtenir des informations sur une révision d'une application spécifique associée à l'utilisateur .  |  arn:aws:codedeploy : ::application : *region* *account-id* *application-name*  | 
|  [GetDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeployment.html)  |  `codedeploy:GetDeployment` Requise pour obtenir des informations sur un déploiement spécifique dans un groupe de déploiement pour une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [GetDeploymentConfig](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentConfig.html)  |  `codedeploy:GetDeploymentConfig` Requise pour obtenir des informations sur une configuration de déploiement spécifique associée à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentconfig : *region* *account-id* *deployment-configuration-name*   | 
|  [GetDeploymentGroup](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentGroup.html)  |  `codedeploy:GetDeploymentGroup` Requise pour obtenir des informations sur un groupe de déploiement spécifique pour une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [GetDeploymentInstance](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentInstance.html)  |  `codedeploy:GetDeploymentInstance` Requise pour obtenir des informations sur une instance spécifique dans un déploiement associé à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [GetDeploymentTarget](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentTarget.html)  |  `codedeploy:GetDeploymentTarget` Requise pour obtenir des informations sur une cible dans un déploiement associé à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [GetOnPremisesInstance](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetOnPremisesInstance.html)  |  `codedeploy:GetOnPremisesInstance` Requise pour obtenir des informations sur une instance sur site spécifique.  |  arn:aws:codedeploy : ::instance/ *region* *account-id* *instance-ID*  | 
|  [ListApplicationRevisions](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListApplicationRevisions.html)  |  `codedeploy:ListApplicationRevisions` Requise pour obtenir des informations sur toutes les révisions d'une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::application : \$1 *region* *account-id*  | 
|  [ListApplications](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListApplications.html)  |  `codedeploy:ListApplications` Requise pour obtenir des informations sur toutes les applications associées à l'utilisateur .  |  arn:aws:codedeploy : ::application : \$1 *region* *account-id*  | 
|  [ListDeploymentConfigs](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentConfigs.html)  |  `codedeploy:ListDeploymentConfigs` Requise pour obtenir des informations sur toutes les configurations de déploiement associées à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentconfig : \$1 *region* *account-id*  | 
|  [ListDeploymentGroups](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentGroups.html)  |  `codedeploy:ListDeploymentGroups` Requise pour obtenir des informations sur tous les groupes de déploiement d'une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup : /\$1 *region* *account-id* *application-name*  | 
|  [ListDeploymentInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentInstances.html)  |  `codedeploy:ListDeploymentInstances` Nécessaire pour obtenir des informations sur toutes les instances d'un déploiement associées à l'utilisateur ou au AWS compte.  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [ListDeployments](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeployments.html)  |  `codedeploy:ListDeployments` Nécessaire pour obtenir des informations sur tous les déploiements vers un groupe de déploiement associé à l'utilisateur, ou pour obtenir tous les déploiements associés à l'utilisateur.  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [ListDeploymentTargets](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentTargets.html)  |  `codedeploy:ListDeploymentTargets` Nécessaire pour obtenir des informations sur toutes les cibles d'un déploiement associé à l'utilisateur.  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [ListGitHubAccountTokenNames](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListGitHubAccountTokenNames.html)  |  `codedeploy:ListGitHubAccountTokenNames` Nécessaire pour obtenir la liste des noms des connexions enregistrées aux GitHub comptes.   |  arn:aws:codedeploy : : : \$1 *region* *account-id*  | 
|  [ListOnPremisesInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListOnPremisesInstances.html)  |  `codedeploy:ListOnPremisesInstances` Requise pour répertorier un ou plusieurs noms d'instance sur site.  |  arn:aws:codedeploy : : : \$1 *region* *account-id*  | 
|  PutLifecycleEventHookExecutionStatus  |  `codedeploy:PutLifecycleEventHookExecutionStatus` Requise pour fournir une notification d'état de l'exécution d'un événement de hook de cycle de vie.  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [RegisterApplicationRevision](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RegisterApplicationRevision.html)  |  `codedeploy:RegisterApplicationRevision` Requise pour enregistrer les informations sur la révision d'une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::application : *region* *account-id* *application-name*  | 
|  [RegisterOnPremisesInstance](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RegisterOnPremisesInstance.html)  |  `codedeploy:RegisterOnPremisesInstance` Requise pour enregistrer une instance sur site avec CodeDeploy.  |  arn:aws:codedeploy : ::instance/ *region* *account-id* *instance-ID*  | 
|  [RemoveTagsFromOnPremisesInstances](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RemoveTagsFromOnPremisesInstances.html)  |  `codedeploy:RemoveTagsFromOnPremisesInstances` Requise pour supprimer les balises d'une ou plusieurs instances sur site.  |  arn:aws:codedeploy : ::instance/ *region* *account-id* *instance-ID*  | 
|  [SkipWaitTimeForInstanceTermination](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_SkipWaitTimeForInstanceTermination.html)  |  `codedeploy:SkipWaitTimeForInstanceTermination` Nécessaire lors d'un blue/green déploiement pour annuler un temps d'attente spécifié et commencer immédiatement à mettre fin aux instances dans l'environnement d'origine.  |  arn:aws:codedeploy : ::instance/ *region* *account-id* *instance-ID*  | 
|  [StopDeployment](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_StopDeployment.html)  |  `codedeploy:StopDeployment` Requise pour arrêter un déploiement en cours dans un groupe de déploiement pour une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  [UpdateApplication](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_UpdateApplication.html)³  |  `codedeploy:UpdateApplication` Requise pour modifier les informations sur une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::application : *region* *account-id* *application-name*  | 
|  [UpdateDeploymentGroup](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_UpdateDeploymentGroup.html)³  |  `codedeploy:UpdateDeploymentGroup` Requise pour modifier les informations sur un groupe de déploiement spécifique pour une application associée à l'utilisateur .  |  arn:aws:codedeploy : ::deploymentgroup :/*region**account-id**application-name**deployment-group-name*  | 
|  ¹ Lorsque vous spécifiez `CreateDeployment` des autorisations, vous devez également spécifier `GetDeploymentConfig` des autorisations pour la configuration du déploiement `GetApplicationRevision` et/ou `RegisterApplicationRevision` des autorisations pour la révision de l'application. En outre, si vous incluez le `overrideAlarmConfiguration` paramètre dans votre appel d'`CreateDeployment`API, vous devez spécifier l'`UpdateDeploymentGroup`autorisation. ² Valable `ListDeployments` lorsque vous fournissez un groupe de déploiement spécifique, mais pas lorsque vous listez tous les déploiements associés à l'utilisateur. ³ En `UpdateApplication` effet, vous devez disposer `UpdateApplication` d'autorisations pour les anciens et les nouveaux noms d'applications. Pour les actions `UpdateDeploymentGroup` qui impliquent la modification du nom d'un groupe de déploiement, vous devez disposer des autorisations `UpdateDeploymentGroup` pour l'ancien et le nouveau noms de groupe de déploiement.   | 

# Prévention du cas de figure de l’adjoint désorienté entre services
<a name="security_confused_deputy"></a>

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner un problème de confusion chez les adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le service appelant) appelle un autre service (le service appelé). Le service appelant peut être manipulé et ses autorisations utilisées pour agir sur les ressources d’un autre client auxquelles on ne serait pas autorisé à accéder autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services auprès des principaux fournisseurs de services qui ont obtenu l'accès aux ressources de votre compte. 

Nous recommandons d'utiliser les clés contextuelles de condition SourceAccount globale [aws : SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) [et aws :](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) dans les politiques de ressources afin de limiter les autorisations qui CodeDeploy accordent un autre service à la ressource. Si vous utilisez les deux clés de contexte de condition globale et que la valeur `aws:SourceArn` contient l'ID de compte, la valeur `aws:SourceAccount` et le compte dans la valeur `aws:SourceArn` doivent utiliser le même ID de compte lorsqu'ils sont utilisés dans la même instruction de politique. Utilisez `aws:SourceArn` si vous souhaitez qu'une seule ressource soit associée à l'accès entre services. À utiliser `aws:SourceAccount` si vous souhaitez qu'une ressource de ce compte soit associée à l'utilisation interservices.

Pour les déploiements EC2/on-premises AWS , Lambda et Amazon ECS classiques, la valeur de doit `aws:SourceArn` inclure l'ARN du CodeDeploy groupe de déploiement avec lequel il CodeDeploy est autorisé à assumer le rôle IAM.

Pour les [déploiements bleu/vert Amazon ECS créés par le biais](deployments-create-ecs-cfn.md) de CloudFormation, la valeur de `aws:SourceArn` doit inclure l' CloudFormation ARN de pile avec lequel CodeDeploy il est autorisé à assumer le rôle IAM.

Le moyen le plus efficace de se protéger contre le problème de confusion des adjoints est d'utiliser la `aws:SourceArn` clé avec l'ARN complet de la ressource. Si vous ne connaissez pas l'ARN complet ou si vous spécifiez plusieurs ressources, utilisez des caractères génériques (\$1) pour les parties inconnues.

Par exemple, vous pouvez utiliser la politique de confiance suivante dans le cadre d'un déploiement EC2/on-premises, AWS Lambda ou Amazon ECS normal :

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "codedeploy.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:codedeploy:us-east-1:111122223333:deploymentgroup:myApplication/*"
                }
            }
        }
    ]
}
```

------

Pour un [déploiement bleu/vert Amazon ECS créé via CloudFormation](deployments-create-ecs-cfn.md), vous pouvez utiliser :

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "codedeploy.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:cloudformation:us-east-1:111122223333:stack/MyCloudFormationStackName/*"
                }
            }
        }
    ]
}
```

------