首页 > 解决方案 > 下载文件的 AWS Ruby 开发工具包权限

问题描述

我正在使用 Ruby AWS SDK v3。我可以.content_length在 的实例上使用该方法Object,但不能使用download_file

我正在使用其访问密钥的 IAM 用户具有以下策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "my_SID",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::mybucket/*"
        }
    ]
}

我是否需要添加额外的权限才能成功下载?当我拥有完整的 S3 访问权限时它成功了,但我想进一步限制它。

我还尝试在存储桶本身上设置对称策略,以将此 IAM 用户作为委托人s3:GetObject授予权限。

标签: rubyamazon-s3aws-sdk

解决方案


牛米。我意识到发生了什么——当帐户只有 GetObject 权限时,获取不存在的键会返回 403,而不是 404。

我曾假设无论帐户的访问权限如何,它总是会收到 404,但我认为这将是一个相对于策略限制的安全漏洞。


推荐阅读