【问题标题】:Does AWS policy block all operations not specified in the policy?AWS 策略是否会阻止策略中未指定的所有操作?
【发布时间】:2021-12-15 01:04:45
【问题描述】:

例如,

{
    "Version": "2012-10-17",
    "Id": "ExamplePolicy01",
    "Statement": [
        {
            "Sid": "ExampleStatement01",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/Dave"
            },
            "Action": [
                "s3:GetObject",
                "s3:GetBucketLocation",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::awsexamplebucket1/*",
                "arn:aws:s3:::awsexamplebucket1"
            ]
        }
    ]
}

此策略允许 Dave 对 S3 中的 awsexamplebucket1 执行 3 次操作。那么在 awsexamplebucket1 中创建对象等其他操作怎么样?这些操作是否被阻止?

【问题讨论】:

    标签: amazon-web-services amazon-s3 policy


    【解决方案1】:

    您需要阅读Policy Evaluation Logic。所有其他操作都被隐式拒绝。这意味着被拒绝,除非有其他政策允许。

    从上面的链接复制:

    以下是 AWS 策略评估逻辑的摘要 在一个帐户中。

    • 默认情况下,所有请求都被隐式拒绝,AWS 账户根用户除外,该用户具有完全访问权限。
    • 基于身份或基于资源的策略中的显式允许会覆盖此默认设置。
    • 如果存在权限边界、组织 SCP 或会话策略,它可能会使用隐式拒绝覆盖允许。
    • 任何策略中的明确拒绝都会覆盖任何允许。

    【讨论】:

    • 感谢您的回答和文档链接!
    【解决方案2】:

    假设 Dave 是与此 S3 存储桶在同一账户中的 IAM 用户,通常您会直接将这些权限分配给 Dave(通过附加到 Dave IAM 用户或他的 IAM 组之一的策略)。您将不会在 S3 存储桶策略中执行此操作。

    在回答您的问题时,不,此存储桶策略不会阻止对存储桶的其他未列出的操作。但是,默认情况下,不存在其他权限。

    但是,如果 Dave 从他的 IAM 用户或 IAM 组策略中获得了与此存储桶相关的额外 S3 权限,那么这些将补充存储桶策略中列出的权限。

    【讨论】:

      猜你喜欢
      • 2019-06-26
      • 2018-05-22
      • 2021-03-09
      • 2021-06-22
      • 1970-01-01
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 2021-09-19
      相关资源
      最近更新 更多