У меня есть стек CloudFormation, созданный из бессерверного файла YAML.
Один из ресурсов таков:
"S3BucketWebRoot": {
"Type": "AWS::S3::Bucket",
"Properties": {
"BucketName": "samhain.today",
"AccessControl": "PublicRead",
"WebsiteConfiguration": {
"IndexDocument": "index.html",
"ErrorDocument": "404.html"
}
}
}
У меня нет проблем с развертыванием файлов стека (включая создание самого ведра S3), но когда стек начинает собираться, я получаю:
14:38:46 UTC-0500 CREATE_FAILED AWS::S3::Bucket S3BucketWebRoot API: s3:CreateBucket Access Denied
Проблема в том, что Пользователь, связанный с бессерверной службой, в рамках своей политики:
{
"Effect": "Allow",
"Action": [
"s3:CreateBucket",
"s3:PutObject",
"s3:GetObject",
"s3:ListBucket",
"s3:DeleteObject",
"s3:DeleteBucket",
"s3:ListBucketVersions"
],
"Resource": [
"arn:aws:s3::*:*"
]
}
Как мне вообще отладить это? Либо мой Resource
неверен, либо используется какой-то другой пользователь, но это не имеет смысла, потому что они привязаны к идентификатору ключа доступа.