ablog

不器用で落着きのない技術者のメモ

Glue でクロールすると "Service: Amazon S3; Status Code: 403 Error Code AccessDenied" と怒られる

事象

  • AWS Glue Crawler でクロールすると "Error Access Denied (Service: Amazon S3; Status Code: 403; Error Code AccessDenied; Request ID: ..." と怒られる。
  • IAMポリシー、KMS キーポリシー、S3 バケットポリシーでは必要な権限は付与されている。
[881e9848-37ed-431a-b55d-6cdbc1e11fd8] ERROR : Error Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 86C79E196743EA2A; S3 Extended Request ID: QZPdP3jwIjqaAERbnsfOQVvxbZC5TdFQc0wQ4n9OVu+/Vld7qXOVdIc4gf1YAP9BbM9yvRDAtco=) retrieving file at s3://landing-bucket/raw/master.tsv. Tables created did not infer schemas from this file.

原因

  • 他のAWSアカウントからS3にアップロードされた後、bucket-owner-full-control が付与されていなかったため。

f:id:yohei-a:20200628204913p:plain

解決策

  • ACLbucket-owner-full-control を付与する。
$ aws s3api put-object-acl --bucket landing-bucket --key raw/master.tsv --acl bucket-owner-full-control

f:id:yohei-a:20200628204939p:plain