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
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 à AWS Identity and Access Management (IAM) des utilisateurs ou des groupes, ou à des rôles assumés par vos utilisateurs.
Stratégies utilisateur gérées
-
AdministratorAccess- AWSElasticBeanstalk — 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 AWSElasticBeanstalk page AdministratorAccess- 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 AWSElasticBeanstalkReadOnlypage 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, voirEmpêcher l'accès aux compartiments Amazon S3 entre environnements.
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.
Politiques gérées par obsolètes
Auparavant, Elastic Beanstalk prenait en charge deux autres politiques utilisateur gérées, et. AWSElasticBeanstalkFullAccessAWSElasticBeanstalkReadOnlyAccess Nous prévoyons de retirer ces anciennes stratégies. Vous pourrez peut-être toujours les voir et les utiliser dans la IAM console. 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
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 RDS instance Amazon.
-
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 multiconteneur de gérer les clusters AmazonECS.
-
AWSElasticBeanstalkRoleCore— Autorise les opérations de base d'un environnement de service Web.
-
AWSElasticBeanstalkRoleSNS— Permet à un environnement de permettre l'intégration des SNS rubriques Amazon.
Pour connaître la JSON source d'une stratégie gérée spécifique, consultez le Guide de référence des politiques AWS gérées.
Contrôle de l'accès à l'aide de stratégies gérées
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
-
Ouvrez la page Stratégies
dans la console IAM. -
Dans la zone de recherche, tapez
AWSElasticBeanstalk
pour filtrer les stratégies. -
Dans la liste des politiques, cochez la case à côté AWSElasticBeanstalkReadOnlyou AdministratorAccess- AWSElasticBeanstalk.
-
Sélectionnez Policy Actions (Actions de politique), puis sélectionnez Attach (Attacher).
-
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.
-
Choisissez Attach policy (Attacher une politique).
Création d'une stratégie utilisateur personnalisée
Vous pouvez créer votre propre IAM politique pour autoriser ou refuser des actions Elastic Beanstalk spécifiques sur des ressources API Elastic Beanstalk spécifiques, et pour contrôler l'accès aux ressources personnalisées qui ne sont pas gérées par Elastic Beanstalk. Pour plus d'informations sur l'attachement d'une politique à un utilisateur ou à un groupe, consultez la section Utilisation des politiques dans le guide de IAM l'utilisateur. Pour plus de détails sur la création d'une politique personnalisée, consultez la section Création de IAM politiques dans le guide de IAM l'utilisateur.
Note
Bien que vous puissiez restreindre la manière dont un utilisateur interagit avec APIs Elastic Beanstalk, il n'existe actuellement aucun moyen efficace d'empêcher les utilisateurs autorisés à créer les ressources sous-jacentes nécessaires de créer d'autres ressources sur Amazon ou dans d'autres services. EC2
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 .
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.
-
L'action indique les APIopérations que vous souhaitez contrôler. Par exemple, utilisez
elasticbeanstalk:CreateEnvironment
pour spécifier l'opérationCreateEnvironment
. 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.Note
Pour utiliser l'
UpdateTagsForResource
APIopération, spécifiez l'une des deux actions virtuelles suivantes (ou les deux) au lieu du nom de l'APIopération :elasticbeanstalk:AddTags
-
Contrôle l'autorisation d'appeler
UpdateTagsForResource
et de transmettre la liste des balises à ajouter dans le paramètreTagsToAdd
. elasticbeanstalk:RemoveTags
-
Contrôle l'autorisation d'appeler
UpdateTagsForResource
et de transmettre une liste de clés de balises à supprimer dans le paramètreTagsToRemove
.
-
Resource spécifie les ressources auxquelles vous souhaitez contrôler l'accès. Pour spécifier les ressources Elastic Beanstalk, indiquez le ARN nom de ressource Amazon () 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.
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é
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.
{ "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 :
{ "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
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.
{ "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
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.
{ "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" ] } } } ] }