AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon S3:S3 存储桶访问,但在最近未进行 MFA 的情况下拒绝生产存储桶

此示例显示您可以如何创建策略 允许 Amazon S3 管理员访问任何存储桶,包括更新、添加和删除对象。不过,如果用户在过去 30 分钟内未使用 MFA 登录,则显式拒绝访问 Production 存储桶。该策略授予所需的权限以在控制台中执行该操作,或者以编程方式使用 AWS CLI 或 AWS API 执行该操作。要使用此策略,请将示例策略中的红色斜体文本替换为您自己的信息。

该策略从不允许使用长期用户访问密钥以编程方式访问 Production 存储桶。要以编程方式访问 Production 存储桶,S3 管理员必须使用 MFA 验证的临时凭证(通过 GetSessionToken API 操作获取)。

{ "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": { "NumericGreaterThan": {"aws:MultiFactorAuthAge": "1800"} } } ] }