gpt4 book ai didi

amazon-s3 - 让 AWS Glue 写入另一个 AWS 账户中的 S3 存储桶

转载 作者:行者123 更新时间:2023-12-03 20:30:51 24 4
gpt4 key购买 nike

我需要使用 AWS Glue (Account:PROD) 来写入另一个账户 (Account:DEV) 上的 S3 Bucket

根据 http://docs.aws.amazon.com/glue/latest/dg/access-control-overview.html

基于资源的政策

其他服务,例如 Amazon S3,也支持基于资源的权限策略。例如,您可以将策略附加到 S3 存储桶以管理
该存储桶的访问权限。 AWS Glue 不支持基于资源的策略。

...这意味着我不能做 arn:aws:s3::DEV-Account:S3-Bucket/*
我尝试创建一个 Trusted entity在带有 PROD 的 DEV 帐户上,并附加了一个策略集以访问 DEV 帐户上的 s3 存储桶。

我该怎么做?

最佳答案

我们遇到了同样的问题,我们通过将这些添加到我们的 DEV 存储桶策略中来找到解决方案:

{
"Sid": "SID",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::[PROD-ACCOUNT-ID]:role/[PROD-GLUE-ROLE]"
},
"Action": [
"s3:Get*",
"s3:Put*",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:ListBucketVersions",
"s3:ListMultipartUploadParts"
],
"Resource": [
"arn:aws:s3:::[DEV-BUCKET]",
"arn:aws:s3:::[DEV-BUCKET]/*"
]
}

这适用于 PROD Glue 角色 ([PROD-GLUE-ROLE]) 帐户策略:
{
"Action": [
"s3:Get*",
"s3:List*"
"s3:Put*"
],
"Resource": [
"arn:aws:s3:::[DEV-BUCKET]*"
],
"Effect": "Allow"
}

之后,您应该能够使用 PROD 帐户中的 PROD 角色从 DEV 存储桶读取数据和向 DEV 存储桶写入数据:
data_frame = glue_context.create_dynamic_frame_from_options(
connection_type='s3',
connection_options={
'paths':'s3://[DEV-BUCKET]/...'
},
format='json'
)

希望这可以帮助

关于amazon-s3 - 让 AWS Glue 写入另一个 AWS 账户中的 S3 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47783525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com