Amazon S3 : accès au compartiment S3, mais compartiment de production refusé sans MFA récente - AWS Identity and Access Management

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"} } } ] }