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.
Cet exemple montre comment vous pouvez créer une politique basée sur l'identité qui autorise un administrateur Amazon S3 à accéder à n'importe quel compartiment, notamment pour la mise à jour, l'ajout et la suppression d'objets. Cependant, il refuse explicitement l'accès au compartiment amzn-s3-demo-bucket-production
si l'utilisateur ne s'est pas connecté via Multi-Factor Authentication (MFA) au cours des trente dernières minutes. Cette politique accorde les autorisations nécessaires pour effectuer cette action dans la console ou par programmation à l'aide de la AWS CLI ou de l'API AWS. Pour utiliser cette politique, remplacez le texte de l'espace réservé en italique
dans l'exemple de politique par vos propres informations de ressource. Ensuite, suivez les instructions fournies dans create a policy (créer une politique) ou edit a policy (modifier une politique).
Cette politique n'autorise jamais un accès par programme au compartiment amzn-s3-demo-bucket
à l'aide des clés d'accès de l'utilisateur à long terme. Ceci est possible en utilisant la clé de condition aws:MultiFactorAuthAge
avec l'opérateur de condition NumericGreaterThanIfExists
. Cette condition de politique renvoie true
si MFA n'est pas présent ou si l'âge de la MFA est supérieur à 30 minutes. Dans ces situations, l'accès est refusé. Pour accéder au compartiment amzn-s3-demo-bucket-production
par programme, l'administrateur S3 doit utiliser des informations d'identification temporaires générées au cours des 30 dernières minutes à l'aide de l'opération d'API GetSessionToken.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListAllS3Buckets",
"Effect": "Allow",
"Action": ["s3:ListAllMyBuckets"],
"Resource": "arn:aws:s3:::*"
},
{
"Sid": "AllowBucketLevelActions",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::*"
},
{
"Sid": "AllowBucketObjectActions",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:DeleteObject"
],
"Resource": "arn:aws:s3:::*/*"
},
{
"Sid": "RequireMFAForProductionBucket",
"Effect": "Deny",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::amzn-s3-demo-bucket-production/*",
"arn:aws:s3:::amzn-s3-demo-bucket-production"
],
"Condition": {
"NumericGreaterThanIfExists": {"aws:MultiFactorAuthAge": "1800"}
}
}
]
}