我正在使用 AWS IAM STS(通过 boto)为我访问 S3 存储桶创建凭证。我不知道以下政策有什么问题。我已经尽可能地简化了我的政策,但仍然得到了意想不到的结果。
当我获得用户的令牌时,我附上了以下政策:
user_policy_string = r'{"Statement":[{"Effect":"Allow","Action": "s3:*","Resource":"arn:aws:s3:::*"}]}'
这可行,但显然有点过于宽松。在缩小与这些凭据关联的权限时,我尝试使用相同的策略,但指定存储桶:
user_policy_string = r'{"Statement":[{"Effect":"Allow","Action": "s3:*","Resource":"arn:aws:s3:::buck_binary_bucket_bay-earth-d5a/*"}]}'
在这里,当我尝试访问 S3 时出现 403 错误。根据 AWS 文档,我确信这是解决策略中特定存储桶的方法,所以我不知道是什么导致了这种限制。我是否错误地指代了存储桶?
在 S3 控制台中,策略为空(也尝试添加完全许可策略)。对于用于生成 STS 令牌的 AWS 账户,策略如下:
"Statement": [
{
"Effect": "Allow",
"Action": "sts:GetFederationToken",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:GetUser",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}