

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 stratégies utilisateur Elastic Beanstalk
<a name="AWSHowTo.iam.managed-policies"></a>

AWS Elastic Beanstalk fournit deux politiques gérées qui vous permettent d'attribuer un accès complet ou un accès en lecture seule à toutes les ressources gérées par Elastic Beanstalk. Vous pouvez associer les politiques à des utilisateurs ou à des groupes Gestion des identités et des accès AWS (IAM), ou à des rôles assumés par vos utilisateurs.

**Stratégies utilisateur gérées**
+ **AdministratorAccess- AWSElastic Beanstalk** : donne à l'utilisateur les autorisations administratives complètes pour créer, modifier et supprimer des applications Elastic Beanstalk, des versions d'applications, des paramètres de configuration, des environnements et leurs ressources sous-jacentes. Pour consulter le contenu des politiques gérées, consultez la page [AdministratorAccess- AWSElastic Beanstalk](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AdministratorAccess-AWSElasticBeanstalk.html) du Guide de référence des *politiques AWS gérées*.
+ **AWSElasticBeanstalkReadOnly**— Permet à l'utilisateur de visualiser les applications et les environnements, mais pas d'effectuer des opérations qui les modifient. Il fournit un accès en lecture seule à toutes les ressources Elastic Beanstalk, ainsi qu'aux autres ressources AWS récupérées par la console Elastic Beanstalk. Notez que l'accès en lecture seule ne permet pas d'effectuer des actions telles que le téléchargement des journaux Elastic Beanstalk en vue de les lire. Cela est dû au fait que les journaux sont indexés dans le compartiment Amazon S3, sur lequel Elastic Beanstalk demanderait une autorisation en écriture. Pour de plus amples informations sur l'activation de l'accès aux journaux Elastic Beanstalk, veuillez consulter l'exemple situé à la fin de cette rubrique. Pour consulter le contenu des politiques gérées, consultez la [AWSElasticBeanstalkReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSElasticBeanstalkReadOnly.html)page du *Guide de référence des politiques AWS gérées*.

**Important**  
Les stratégies gérées par Elastic Beanstalk ne fournissent pas d'autorisations granulaires : elles accordent toutes les autorisations potentiellement nécessaires à l'utilisation des applications Elastic Beanstalk. Dans certains cas, vous souhaiterez peut-être restreindre davantage les autorisations de nos politiques gérées. Pour un exemple d'un cas d'utilisation, voir[Empêcher l'accès aux compartiments Amazon S3 entre environnements](AWSHowTo.iam.cross-env-s3-access.md).  
Nos stratégies gérées ne couvrent pas non plus les autorisations relatives aux ressources personnalisées que vous pourriez ajouter à votre solution et qui ne sont pas gérées par Elastic Beanstalk. Pour implémenter des autorisations plus granulaires, des autorisations minimales requises ou des autorisations de ressources personnalisées, utilisez des [stratégies personnalisées](#AWSHowTo.iam.policies).

**Politiques gérées par obsolètes**  
Auparavant, Elastic Beanstalk prenait en charge deux autres politiques utilisateur gérées, et. **AWSElasticBeanstalkFullAccess**AWSElasticBeanstalkReadOnlyAccess**** Nous prévoyons de retirer ces anciennes stratégies. Vous pouvez toujours les voir et les utiliser dans la console IAM. Néanmoins, nous vous recommandons de passer aux nouvelles stratégies utilisateur gérées et d'ajouter des stratégies personnalisées pour accorder des autorisations aux ressources personnalisées, le cas échéant.

## Politiques d'intégration à d'autres services
<a name="iam-userpolicies-managed-other-services"></a>

Nous proposons également des politiques plus détaillées qui vous permettent d'intégrer votre environnement à d'autres services, si vous préférez les utiliser. 
+ **AWSElasticBeanstalkRoleCWL** — Permet à un environnement de gérer les groupes de CloudWatch journaux Amazon Logs.
+ **AWSElasticBeanstalkRoleRDS** — Permet à un environnement d'intégrer une instance Amazon RDS.
+ **AWSElasticBeanstalkRoleWorkerTier**— Permet à un niveau d'environnement de travail de créer une table Amazon DynamoDB et une file d'attente Amazon SQS.
+ **AWSElasticBeanstalkRoleECS** — Permet à un environnement Docker à conteneurs multiples de gérer les clusters Amazon ECS.
+ **AWSElasticBeanstalkRoleCore**— Autorise les opérations de base d'un environnement de service Web.
+ **AWSElasticBeanstalkRoleSNS** — Permet à un environnement d'activer l'intégration des rubriques Amazon SNS.

Pour consulter la source JSON d'une stratégie gérée spécifique, consultez le [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/about-managed-policy-reference.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/about-managed-policy-reference.html).

## Contrôle de l'accès à l'aide de stratégies gérées
<a name="iam-userpolicies-managed"></a>

Vous pouvez utiliser des stratégies gérées pour accorder un accès complet ou en lecture seule à Elastic Beanstalk. Elastic Beanstalk met à jour ces stratégies automatiquement lorsque des autorisations supplémentaires sont nécessaires pour accéder aux nouvelles fonctionnalités.

**Pour appliquer une stratégie gérée à des utilisateurs ou groupes IAM**

1. Ouvrez la [page **Stratégies** dans la console IAM](https://console.aws.amazon.com/iam/home#policies).

1. Dans la zone de recherche, tapez **AWSElasticBeanstalk** pour filtrer les stratégies.

1. Dans la liste des politiques, cochez la case située à côté de **AWSElasticBeanstalkReadOnly**ou **AdministratorAccess- AWSElastic Beanstalk**.

1. Sélectionnez **Policy Actions** (Actions de politique), puis sélectionnez **Attach** (Attacher).

1. Sélectionnez un ou plusieurs utilisateurs et groupes auxquelles attacher la stratégie. Vous pouvez utiliser le menu **Filtre** et la zone de recherche pour filtrer la liste des entités du principal.

1. Choisissez **Attach policy** (Attacher la politique).

## Création d'une stratégie utilisateur personnalisée
<a name="AWSHowTo.iam.policies"></a>

Vous pouvez créer votre propre stratégie IAM pour autoriser ou refuser des actions d'API propres à Elastic Beanstalk sur des ressources Elastic Beanstalk spécifique et pour contrôler l'accès aux ressources personnalisées qui ne sont pas gérées par Elastic Beanstalk. Pour en savoir plus sur l'association d'une stratégie à un utilisateur ou à un groupe, veuillez consulter la section [Utilisation de stratégies](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html) du *guide de l'utilisateur IAM*. Pour en savoir plus sur la création d'une stratégie personnalisée, veuillez consulter la section [Création de stratégies IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) du *guide de l'utilisateur IAM*.

**Note**  
Vous pouvez limiter la façon dont un utilisateur interagit avec l'API Elastic Beanstalk. Toutefois, aucune méthode efficace ne peut empêcher les utilisateurs autorisés à créer les ressources sous-jacentes nécessaires de créer d'autres ressources dans Amazon EC2 et d'autres services.  
Vous devez considérer ces stratégies comme un moyen efficace pour répartir les responsabilités Elastic Beanstalk, et non comme un moyen de sécuriser toutes les ressources sous-jacentes.

**Important**  
Si des politiques personnalisées sont attribuées à un rôle de service Elastic Beanstalk, il est important de lui attribuer les autorisations appropriées pour les modèles de lancement. Dans le cas contraire, il se peut que vous ne disposiez pas des autorisations requises pour mettre à jour un environnement ou en lancer un nouveau. Pour de plus amples informations, veuillez consulter [Autorisations requises pour les modèles de lancement](environments-cfg-autoscaling-launch-templates.md#environments-cfg-autoscaling-launch-templates-permissions). 

Une stratégie IAM contient des déclarations de stratégie décrivant les autorisations que vous souhaitez accorder. Lorsque vous créez une déclaration de stratégie pour Elastic Beanstalk, vous devez comprendre comment utiliser les quatre parties suivantes d'une déclaration de stratégie :
+ **Effect** indique s'il faut autoriser ou refuser les actions spécifiées dans la déclaration.
+ **Action** indique les [opérations d'API](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_Operations.html) que vous souhaitez contrôler. Par exemple, utilisez `elasticbeanstalk:CreateEnvironment` pour spécifier l'opération `CreateEnvironment`. Certaines opérations, telles que la création d'un environnement, nécessitent des autorisations supplémentaires pour effectuer ces actions. Pour de plus amples informations, veuillez consulter [Ressources et conditions pour les actions Elastic Beanstalk](AWSHowTo.iam.policies.actions.md). 
**Note**  
Pour utiliser l'opération d'API [https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateTagsForResource.html](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/API_UpdateTagsForResource.html), spécifiez l'une des deux actions virtuelles suivantes (ou les deux) au lieu du nom de l'opération d'API :  

`elasticbeanstalk:AddTags`  
Contrôle l'autorisation d'appeler `UpdateTagsForResource` et de transmettre la liste des balises à ajouter dans le paramètre `TagsToAdd`.

`elasticbeanstalk:RemoveTags`  
Contrôle l'autorisation d'appeler `UpdateTagsForResource` et de transmettre une liste de clés de balises à supprimer dans le paramètre `TagsToRemove`.
+ **Resource** spécifie les ressources auxquelles vous souhaitez contrôler l'accès. Pour spécifier des ressources Elastic Beanstalk, répertoriez l'[Amazon Resource Name](AWSHowTo.iam.policies.arn.md) (ARN) de chaque ressource.
+ (Facultatif) **Condition** indique les restrictions concernant l'autorisation accordée dans la déclaration. Pour de plus amples informations, veuillez consulter [Ressources et conditions pour les actions Elastic Beanstalk](AWSHowTo.iam.policies.actions.md).

Les sections suivantes illustrent quelques cas dans lesquels vous pouvez envisager d'utiliser une stratégie d'utilisateur personnalisée.

### Activation de la création d'un environnement Elastic Beanstalk limité
<a name="AWSHowTo.iam.policy.env-creation"></a>

L'exemple de stratégie suivant permet à un utilisateur appliquant cette stratégie d'appeler l'action `CreateEnvironment` afin de créer un environnement dont le nom commence par **Test**, avec l'application et la version d'application spécifiées.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"CreateEnvironmentPerm",
      "Action": [
        "elasticbeanstalk:CreateEnvironment"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:elasticbeanstalk:us-east-2:123456789012:environment/My First Elastic Beanstalk Application/Test*"
      ],
      "Condition": {
        "StringEquals": {
          "elasticbeanstalk:InApplication": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:application/My First Elastic Beanstalk Application"],
          "elasticbeanstalk:FromApplicationVersion": ["arn:aws:elasticbeanstalk:us-east-2:123456789012:applicationversion/My First Elastic Beanstalk Application/First Release"]
        }
      }
    },
    {
      "Sid":"AllNonResourceCalls",
      "Action":[
        "elasticbeanstalk:CheckDNSAvailability",
        "elasticbeanstalk:CreateStorageLocation"
      ],
      "Effect":"Allow",
      "Resource":[
        "*"
      ]
    }
  ]
}
```

------

La stratégie ci-dessus montre comment accorder un accès limité aux opérations Elastic Beanstalk. Pour lancer réellement un environnement, l'utilisateur doit être autorisé à créer les AWS ressources qui alimentent également l'environnement. Par exemple, la stratégie suivante accorde l'accès à l'ensemble de ressources par défaut pour un environnement de serveur web :

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:*",
        "ecs:*",
        "elasticloadbalancing:*",
        "autoscaling:*",
        "cloudwatch:*",
        "s3:*",
        "sns:*",
        "cloudformation:*",
        "sqs:*"
        ],
      "Resource": "*"
    }
  ]
}
```

------

### Activation de l'accès aux journaux Elastic Beanstalk stockés dans Amazon S3
<a name="AWSHowTo.iam.policy.view-s3-logs"></a>

La stratégie de l'exemple suivant permet à un utilisateur d'extraire des journaux Elastic Beanstalk, de les afficher dans Amazon S3 et de les récupérer.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "s3:DeleteObject",
        "s3:GetObjectAcl",
        "s3:PutObjectAcl"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::elasticbeanstalk-*"
    }
  ]
}
```

------

**Note**  
Pour limiter ces autorisations aux chemins d'accès aux journaux, utilisez le format de ressource suivant.   

```
"arn:aws:s3:::elasticbeanstalk-{{us-east-2}}-{{123456789012}}/resources/environments/logs/*"
```

### Activation de la gestion d'une application Elastic Beanstalk spécifique
<a name="AWSHowTo.iam.policy.manage-app"></a>

L'exemple de stratégie suivant permet à un utilisateur de gérer des environnements et d'autres ressources dans une application Elastic Beanstalk spécifique. La stratégie refuse les actions Elastic Beanstalk sur les ressources des autres applications, et refuse également la création et la suppression des applications Elastic Beanstalk.

**Note**  
La stratégie ne refuse pas l'accès aux ressources par le biais d'autres services. Elle représente un moyen efficace pour répartir les responsabilités de la gestion des applications Elastic Beanstalk entre les différents utilisateurs, et non un moyen de sécuriser les ressources sous-jacentes.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "elasticbeanstalk:CreateApplication",
        "elasticbeanstalk:DeleteApplication"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Effect": "Deny",
      "Action": [
        "elasticbeanstalk:CreateApplicationVersion",
        "elasticbeanstalk:CreateConfigurationTemplate",
        "elasticbeanstalk:CreateEnvironment",
        "elasticbeanstalk:DeleteApplicationVersion",
        "elasticbeanstalk:DeleteConfigurationTemplate",
        "elasticbeanstalk:DeleteEnvironmentConfiguration",
        "elasticbeanstalk:DescribeApplicationVersions",
        "elasticbeanstalk:DescribeConfigurationOptions",
        "elasticbeanstalk:DescribeConfigurationSettings",
        "elasticbeanstalk:DescribeEnvironmentResources",
        "elasticbeanstalk:DescribeEnvironments",
        "elasticbeanstalk:DescribeEvents",
        "elasticbeanstalk:DeleteEnvironmentConfiguration",
        "elasticbeanstalk:RebuildEnvironment",
        "elasticbeanstalk:RequestEnvironmentInfo",
        "elasticbeanstalk:RestartAppServer",
        "elasticbeanstalk:RetrieveEnvironmentInfo",
        "elasticbeanstalk:SwapEnvironmentCNAMEs",
        "elasticbeanstalk:TerminateEnvironment",
        "elasticbeanstalk:UpdateApplicationVersion",
        "elasticbeanstalk:UpdateConfigurationTemplate",
        "elasticbeanstalk:UpdateEnvironment",
        "elasticbeanstalk:RetrieveEnvironmentInfo",
        "elasticbeanstalk:ValidateConfigurationSettings"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringNotEquals": {
          "elasticbeanstalk:InApplication": [
            "arn:aws:elasticbeanstalk:us-east-2:123456789012:application/myapplication"
          ]
        }
      }
    }
  ]
}
```

------