Amazon S3:限制用户只能管理特定的 S3 存储桶 - AWS Identity and Access Management

Amazon S3:限制用户只能管理特定的 S3 存储桶

此示例显示了您可以创建 IAM 策略,通过允许在特定存储桶上执行所有 S3 操作,但明确拒绝对除 Amazon S3 以外的所有 AWS 服务的访问,来限制用户管理 S3 存储桶。该策略还拒绝访问无法在 S3 存储桶上执行的操作,例如 s3:ListAllMyBucketss3:GetObject。此策略授予的权限仅适用于有计划地通过 AWS API 或 AWS CLI 完成这些操作。要使用此策略,请将示例策略中的斜体占位符文本替换为您自己的信息。然后,按照创建策略编辑策略中的说明操作。

如果将该策略与允许该策略拒绝的操作的其他策略(例如 AmazonS3FullAccessAmazonEC2FullAccess AWS 托管策略)一起使用,则访问会被拒绝。这是因为“显式拒绝”声明优先于“允许”声明。有关更多信息,请参阅 确定是允许还是拒绝账户内的请求

警告

NotActionNotResource 是必须谨慎使用的高级策略元素。该策略将拒绝对除 Amazon S3 以外所有 AWS 服务的访问。如果将该策略挂载到用户,则授予其他服务访问权限的任何其他策略都会被忽略 (访问会被拒绝)。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] }, { "Effect": "Deny", "NotAction": "s3:*", "NotResource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }