當模擬器表示允許存取時,AWS S3 對實際物件的存取被拒絕

當模擬器表示允許存取時,AWS S3 對實際物件的存取被拒絕

我有一個用戶,我稱之為 Alfred 用戶,附加的 IAM 策略如下

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

在 IAM 模擬器中,我使用此策略和此 ARN 來獲得「允許」GetObject:arn:aws:s3:::my-bucket-name/my-object.xml

在 CLI 上,我收到以下命令的 AccessDenied:aws s3 cp s3://my-bucket-name/my-object.xml temp/my-object.xml

呼叫 GetObject 操作時發生用戶端錯誤 (AccessDenied):存取被拒絕

我已經考慮了所有我能想到的東西,但我無法解釋這種差異。我缺什麼?

我嘗試過的事情

這裡的“creds”是指“AWS IAM 存取密鑰”

  • IAM 模擬器——這有效
  • 一組不同的 IAM 信用——這有效
  • 使用aws s3 ls s3://my-bucket-name/-- 這適用於 Alfred 的 IAM 信用和我的信用
  • 將政策與不同 AWS 帳戶中類似配置的儲存桶進行比較。據我所知,政策是相同的。

答案1

結果是 KMS 金鑰的權限加密了這個儲存桶。這些金鑰由 root 帳戶擁有,因此我無法使用正常的 IAM 存取權找到它們,也無法看到它們的策略。

相關內容