

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.

# 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": "*"
        }
    ]
}
```