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.
Amazon S3 : accès au compartiment S3, mais compartiment de production refusé sans MFA récente
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 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 l'API AWS CLI or 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 Production
à 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 Production
compartiment par programmation, l'administrateur S3 doit utiliser des informations d'identification temporaires qui ont été générées au cours des 30 dernières minutes à l'aide de l'opération GetSessionTokenAPI.
{ "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:::Production/*", "arn:aws:s3:::Production" ], "Condition": { "NumericGreaterThanIfExists": {"aws:MultiFactorAuthAge": "1800"} } } ] }