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.
Empêcher l'accès aux compartiments Amazon S3 entre environnements
Cette rubrique explique comment les politiques gérées peuvent autoriser l'accès aux compartiments S3 entre environnements et comment créer des politiques personnalisées pour gérer ce type d'accès.
Elastic Beanstalk fournit des politiques gérées pour AWS gérer les ressources requises par les environnements Elastic Beanstalk de votre compte. AWS Les autorisations accordées par défaut à une application de votre AWS compte ont accès aux ressources S3 appartenant à d'autres applications du même AWS compte.
Si votre AWS compte exécute plusieurs applications Beanstalk, vous pouvez limiter la sécurité de vos politiques en créant votre propre politique personnalisée à associer à votre propre rôle de service ou profil d'instance pour chaque environnement. Vous pouvez ensuite limiter les autorisations S3 de votre politique personnalisée à un environnement spécifique.
Note
Sachez que vous êtes responsable du maintien de votre politique personnalisée. Si une politique gérée par Elastic Beanstalk sur laquelle repose votre politique personnalisée change, vous devrez modifier votre politique personnalisée en fonction des modifications respectives apportées à la politique de base. Pour un historique des modifications apportées aux politiques gérées par Elastic Beanstalk, consultez. Elastic AWS Beanstalk met à jour les politiques gérées
Exemple d'autorisations délimitées
L'exemple suivant est basé sur la politique AWSElasticBeanstalkWebTiergérée.
La politique par défaut inclut les lignes suivantes pour les autorisations d'accès aux compartiments S3. Cette politique par défaut ne limite pas les actions du compartiment S3 à des environnements ou à des applications spécifiques.
{
"Sid" : "BucketAccess",
"Action" : [
"s3:Get*",
"s3:List*",
"s3:PutObject"
],
"Effect" : "Allow",
"Resource" : [
"arn:aws:s3:::elasticbeanstalk-*",
"arn:aws:s3:::elasticbeanstalk-*/*"
]
}
Vous pouvez limiter l'accès en qualifiant des ressources spécifiques à un rôle de service spécifié en tant quePrincipal
. L'exemple suivant fournit les aws-elasticbeanstalk-ec2-role-my-example-env
autorisations de rôle de service personnalisées pour les compartiments S3 dans l'environnement avec un identifiantmy-example-env-ID
.
Exemple Accorder des autorisations uniquement aux compartiments S3 d'un environnement spécifique
{
"Sid": "BucketAccess",
"Action": [
"s3:Get*",
"s3:List*",
"s3:PutObject"
],
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::...:role/aws-elasticbeanstalk-ec2-role-my-example-env"
},
"Resource": [
"arn:aws:s3:::elasticbeanstalk-my-region-account-id-12345",
"arn:aws:s3:::elasticbeanstalk-my-region-account-id-12345/resources/environments/my-example-env-ID/*"
]
}
Note
La ressource ARN doit inclure l'ID de l'environnement Elastic Beanstalk (et non le nom de l'environnement). Vous pouvez obtenir l'identifiant de l'environnement depuis la console Elastic Beanstalk sur la page de présentation de l'environnement. Vous pouvez également utiliser la commande AWS CLI describe-environments pour obtenir ces informations.
Pour plus d'informations afin de vous aider à mettre à jour les autorisations du bucket S3 pour vos environnements Elastic Beanstalk, consultez les ressources suivantes :
-
Utilisation d'Elastic Beanstalk avec Amazon S3 dans ce guide
-
Types de ressources définis par Amazon S3 dans le guide de référence des autorisations de service
-
ARNformat dans le guide de IAM l'utilisateur