事象
- AWS AppFlow から S3 への書き込みで Access Denied と怒られる
原因
- AppFlow でフロー作成時に指定したS3バケットにバケットポリシーが設定されるが、フロー作成時に使っている IAM 権限不足でバケットポリシーの作成に失敗している
解決策
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "appflow.amazonaws.com"
},
"Action": [
"s3:AbortMultipartUpload",
"s3:GetBucketAcl",
"s3:GetObject",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:ListMultipartUploadParts",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::appflow-salesforce-landing", ★ バケットポリシーを設定するバケット
"arn:aws:s3:::appflow-salesforce-landing/*"
]
}
]
}
- 他の方法として、バケットポリシー作成権限のある IAM ユーザー/ロールでフローを作成してもよい