事象
- 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 が付与されていなかったため。
解決策
$ aws s3api put-object-acl --bucket landing-bucket --key raw/master.tsv --acl bucket-owner-full-control