使用S3端点和bucket策略的AWS Glue



我有一个当前的S3和Glue infra,如下所示。

部署在VPC中的S3端点S3存储桶具有只允许来自端点的流量的存储桶策略。GLUE IAM角色,该角色可以访问所述bucket。

当我运行AWS Glue Crawler作业时,我收到一个错误"用户无权访问S3 bucket"我尝试提供IAM用户ID访问S3存储桶。我在S3存储桶策略中添加了IAM角色和IAM ID。但错误还在继续。

当我删除bucket策略时,即使IAM用户ID无法访问bucket,爬网程序作业也会成功。

根据AWS文档,AWS Glue使用S3端点。如果是,那么我为什么会出现这个错误?

我最近在配置Glue Crawler的角色以访问由同一用户创建的先前创建的S3存储桶时也遇到了这个问题。我遇到的问题是,虽然我确实为bucketarn:aws:s3:::<bucket>/*的内容设置了资源权限,但我并没有为bucket本身arn:aws:s3:::<bucket>设置权限。

我使用AWS CDK作为例子,但我认为在下面的代码中很容易理解我的意思:

new iam.PolicyStatement({
effect: iam.Effect.ALLOW,
resources: [
`arn:aws:s3:::${bucketName}`,
`arn:aws:s3:::${bucketName}/*`,
],
actions: ["s3:*"],
}),

最新更新