gpt4 book ai didi

amazon-web-services - 如何拒绝 AWS 账户的 s3 存储桶访问

转载 作者:行者123 更新时间:2023-12-04 17:47:48 25 4
gpt4 key购买 nike

我有一个 ID 为 11111 的 AWS 账户,我想拒绝该存储桶所属的同一账户访问 s3 存储桶的某些部分,即使访问该对象的角色具有完整的 s3 访问权限。

据我所知,在 s3 存储桶策略上设置 DENY 规则应该可以做到这一点,所以我尝试了下面的 s3 策略


{
"版本": "2012-10-17",
“陈述”: [
{
“锡德”:“”,
“效果”:“拒绝”,
“主要的”: {
“AWS”:“arn:aws:iam::111111:root”
},
“行动”: [
“s3:放置对象”,
“s3:获取对象版本”,
“s3:获取对象”,
“s3:删除对象”
],
“资源”:[
“arn:aws:s3:::mybucket/production/*”
]
}
]
}

但是,与 s3 存储桶处于同一帐户且具有 iam 角色以允许完全访问存储桶 (s3:*) 的 ec2 机器仍然能够写入/读取 mybucket/production/*

我错过了什么吗? DENY 桶规则不应该优先吗?如何处理这种情况?我想避免必须从 ec2 角色中删除完全访问权限,而是能够在此基础上拒绝。

最佳答案

我相信这里发生了以下情况:

  1. 账户 111111 拥有 S3 存储桶和 IAM 实体(在本例中为 IAM 角色)。

  2. 由于请求是从同一账户(存储桶所有者)中的 IAM 角色发出的,S3 将仅检查“User Context”。

  3. 在评估“用户上下文”时,S3 将考虑:

    • 附加到 IAM 角色的策略
    • 存储桶策略
    • 存储桶和对象 ACL(如果有)
  4. 通过 IAM 角色的权限策略允许该请求,并且没有针对 IAM 角色的明确拒绝,因为存储桶策略中的委托(delegate)人实际上是针对 "Root User" 的。并且不涵盖 111111 账户中的 IAM 实体,因为这两个账户(存储桶所有者和 111111)相同。

我对此进行了测试,并使用类似的策略,我的 Root 用户无法删除对象或将对象上传到存储桶中。但是,root 可以通过删除存储桶策略来获得访问权限。

正如@John Hanley 提到的,您可以使用 IAM 角色作为委托(delegate)人来拒绝对生产“文件夹”的访问,但由于该角色具有 S3fullaccess,它可以删除存储桶策略,因此我建议也拒绝该功能.

关于amazon-web-services - 如何拒绝 AWS 账户的 s3 存储桶访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47654000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com