如何允许AWS Access从批处理作业到另一个帐户的S3

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

我在帐户A和帐户B有一个批处理作业。当我的工作请求s3:GetBucketLocation时,它返回Access Denied

我已经在我的批处理作业(帐号A)上设置了这样的权限:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-in-account-B",
                "arn:aws:s3:::bucket-in-account-B/*"
            ]
        }
    ]
}

和存储区权限(帐户B):

{
    "Version": "2012-10-17",
    "Statement": [
        ...,
        {
            "Sid": "123",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{numbers}}:role/{{name}}"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-in-account-B",
                "arn:aws:s3:::bucket-in-account-B/*"
            ]
        }
    ]
}

这些权限不起作用。

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

存储桶B的策略应该包括来自帐户A的用户访问它的权限,例如

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::AccountQ:user/AccountAUserName"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::AccountBBucketName/*"
            ]
        }
    ]
}

0
投票

您是否尝试在批处理作业开始运行后从批处理作业内访问存储桶,或者您是否尝试连接存储桶文件登陆事件以触发批处理作业?

我假设它是前者。在这种情况下,存储桶策略应该足以授予跨帐户访问权限。它可能是你正在放入存储桶策略的实际问题。

它可能不是“arn:aws:iam :: {{numbers}}:role / {{name}}”......你可能必须将assume-role放在那里或者放置实例配置文件arn。这取决于。你是如何建立这份工作的。工作在哪里得到证书。来自附加到底层实例的IAM角色(通过实例配置文件)或ecs任务角色(基本上是批处理容器的角色)

在你的工作中,你可以做类似的事情

$ aws sts get-caller-identity

尝试授予对该命令打印的arn的存取桶访问权限减去会话名称(arn的最后一位)

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