我有一个目前的S3和胶水基础设施如下。
部署在VPC S3存储桶中的S3端点具有仅允许来自端点的流量的存储桶策略。粘合有权访问所述存储桶的IAM角色。
当我运行一个AWS Glue Crawler作业时,我得到了一个错误“用户没有访问IAM存储桶的权限”,我试图提供S3用户ID访问S3存储桶。我在S3存储桶策略中添加了IAM角色和IAM ID。但错误仍在继续。
当我删除存储桶策略时,即使IAM用户ID对存储桶没有访问权限,爬虫作业也是成功的。
根据亚马逊网络服务文档,亚马逊网络服务胶水使用S3端点。如果是这样,为什么我会得到这个错误?
发布于 2021-01-22 05:39:05
最近,当我配置胶水爬虫的角色来访问由同一用户创建的先前创建的S3存储桶时,我也遇到了这个问题。我遇到的问题是,虽然我确实为存储桶arn:aws:s3:::<bucket>/*的内容设置了resource权限,但我没有为存储桶本身的arn:aws:s3:::<bucket>设置权限。
我在我的示例中使用了AWS CDK,但我认为在下面的代码中很容易理解我的意思:
new iam.PolicyStatement({
effect: iam.Effect.ALLOW,
resources: [
`arn:aws:s3:::${bucketName}`,
`arn:aws:s3:::${bucketName}/*`,
],
actions: ["s3:*"],
}),https://stackoverflow.com/questions/60850743
复制相似问题