1

我正在试验多区域接入点及其过于复杂的策略语法,但我无法让最简单的事情发挥作用。

我在全球范围内产生了 3 个存储桶并创建了一个访问点。我的所有项目都是私有的,因为我的多区域接入点策略尚未配置。

到目前为止,我有这个:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3::<my account id>:accesspoint/xyz.mrap"
            ],
            "Condition": {
                "StringEquals": {
                    "s3:DataAccessPointAccount": "<my account id>"
                }
            }
        }
    ]
}

指示的错误指出:

行动不适用于声明中的任何资源

他们的示例使用"Action" : "*",但我想限制这一点。

谁能帮助我的政策出了什么问题?

4

1 回答 1

2

s3:GetObject仅适用于对象。你arn:aws:s3::<my account id>:accesspoint/xyz.mrap代表接入点,而不是它的对象。因此它应该是:

            "Resource": [
                "arn:aws:s3::<my account id>:accesspoint/xyz.mrap/*"
            ],
于 2022-01-30T04:33:20.330 回答