Amazon S3: acceso al bucket de S3, pero bucket de producción denegado sin MFA reciente - AWS Identity and Access Management

Amazon S3: acceso al bucket de S3, pero bucket de producción denegado sin MFA reciente

En este ejemplo se muestra cómo podría crear una política basada en identidad que permita a un administrador de Amazon S3 obtener acceso a cualquier bucket, incluida la actualización, incorporación y eliminación de objetos. Sin embargo, deniega explícitamente el acceso al bucket de Production si el usuario no ha iniciado sesión con la autenticación multifactor (MFA) en los últimos treinta minutos. Esta política concede los permisos necesarios para realizar esta acción en la consola o mediante programación a través de la AWS CLI o la API de AWS. Para utilizar esta política, sustituya el texto en cursiva de la política de ejemplo por su propia información. A continuación, siga las instrucciones en Crear una política o Editar una política.

Esta política nunca permite acceso mediante programación al bucket Production con claves de acceso de usuario a largo plazo. Esto se logra con la clave de condición aws:MultiFactorAuthAge con el operador de condición NumericGreaterThanIfExists. Esta condición de la política devuelve true si el MFA no está presente o si la edad del MFA es superior a 30 minutos. En esas situaciones, se deniega el acceso. Para acceder al bucket Production mediante programación, el administrador de S3 debe utilizar credenciales temporales que se generaron en los últimos 30 minutos mediante la operación de 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:::Production/*", "arn:aws:s3:::Production" ], "Condition": { "NumericGreaterThanIfExists": {"aws:MultiFactorAuthAge": "1800"} } } ] }