为什么此S3政策不允许我下载文件?

时间:2016-10-24 17:45:47

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

这是我的政策:

{
    "Version": "2012-10-17",
    "Id": "Policy1477084949492",
    "Statement": [
        {
            "Sid": "Stmt1477084932198",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::__redacted__"
        },
        {
            "Sid": "Stmt1477084947291",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::__redacted__/*"
        }
    ]
}

我可以通过aws s3 ls查看存储桶中的文件,但无法下载。

我的理解是这些权限应该提供对任何AWS标识的完全访问权限。

问题 - 这里有什么理由不是这样吗?

1 个答案:

答案 0 :(得分:1)

当我在帐户中测试时,您的政策适用于我。

在IAM中,拒绝覆盖允许,我怀疑你在某处有一个冲突的政策。检查所有用户策略以及用户所属的组是否存在冲突策略。

你没有明确表示你这样做,只是为了涵盖所有基础。如果您正在运行s3 get on一个与其关联的IAM角色的实例,请检查以确保IAM角色权限是合适的。

根据您的实际情况,这可以解释您的情况。如果您正在使用具有IAM角色的EC2实例,则默认情况下它将使用该IAM角色而不是您的IAM用户权限。如果您运行aws configure并使用IAM用户发布密钥和密钥显式配置它,那么它将使用IAM用户策略。

最佳实践说,如果您正在EC2实例上执行工作,请尽可能在您的用例允许的情况下执行;您不应该在主机上使用密钥和机密,而是使用EC2 IAM角色。

补充阅读:

IAM政策评估逻辑 http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html