我有一個用戶,我稱之為 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 存取權找到它們,也無法看到它們的策略。