AWS S3 Sync - 结算报表GetObject(拒绝访问)

问题描述 投票:0回答:1

我有一个合并的结算帐户,我尝试使用S3 Sync下载结算报告。当我尝试这样做时,它会在同步目录时抛出“拒绝访问”错误。

所以我运行的bash命令是:

aws s3 sync s3://my-aws-bills /home/user/Billing

以上命令使用123456789:user / IAMUser登录,该用户/ IAMUser是跨账户IAM用户。 S3 Bucket的政策是:

        {
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789:user/IAMUser"
        },
        "Action": [
            "s3:GetBucketAcl",
            "s3:GetBucketPolicy",
            "s3:ListBucket"
        ],
        "Resource": "arn:aws:s3:::my-aws-bills"
    },
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789:user/IAMUser"
        },
        "Action": [
            "s3:GetObject",
            "s3:DeleteObject"
        ],
        "Resource": "arn:aws:s3:::my-aws-bills/*"
    }

当我运行bash命令时,它连接正常,我看到列出的文件,但每个文件错误:

download failed: s3://my-aws-bills/123456789-aws-billing-csv-2018-03.csv to ../../home/user/Billing/123456789-aws-billing-csv-2018-03.csv An error occurred (AccessDenied) when calling the GetObject operation: Access Denied

如果我将文件从我的桌面上传到该存储桶(以帐户所有者身份登录),那么S3同步可以正常用于该文件,但不适用于AWS Billing放置的文件。 我还注意到,通过root用户,我无权查看AWS在其中放置的csv文件的权限。

我认为我遇到了权限问题,但我认为我已经应用的权限足以下载这些文件了?

amazon-web-services amazon-s3
1个回答
0
投票

所以我相信(虽然不能证明)这里的问题是我试图使用不同账户中的用户。我最终在与帐单帐户相同的帐户中创建了另一个IAM用户,并且可以使用与上述相同的权限访问(我刚刚更改了IAMUser)。有意义的是,您无法以编程方式访问其他人的帐单数据,但我还没有在任何地方看到它。

© www.soinside.com 2019 - 2024. All rights reserved.