我想设置对 S3 存储桶的跨账户访问,以便 AWS Glue 在另一个账户中进行爬网。我们的环境中有两个帐户(A 和 B):
我已经验证我可以通过 AccountB 凭证使用 AWS CLI 列出 AccountA 的 S3 存储桶的内容,即aws s3 ls AccountA-S3-Bucket
在 AccountB 中,我使用以下内联策略设置了一个角色(允许 Glue 代表您调用 AWS 服务)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "arn:aws:s3:::AccountA-S3-Bucket/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
为了更好地衡量,该角色还附加了 AmazonS3FullAccess、AWSGlueServiceRole 和 CloudWatchLogsFullAccess 托管策略。我设置了一个 Glue 爬虫,将该角色附加为服务角色。
当我在爬网程序停止后查看 CloudWatch 日志时,出现以下错误:
[3c81da32-b1eb-49f8-8e51-123fa94f789b] ERROR : Not all read …Run Code Online (Sandbox Code Playgroud)