Próbuję pobrać plik w moim skrypcie cloudformation. Jeśli udostępnię plik publicznie, to działa dobrze. Jeśli plik jest prywatny, to skrypt cfn kończy się niepowodzeniem, ale z błędem 404 w/var/log /. Próba pobrania pliku za pomocą wget skutkuje odpowiednim błędem 403.Jak uzyskać dostęp do chronionych plików S3 w skrypcie CFN?
Jak mogę odzyskać prywatne pliki z S3?
Moja klauzula plik wygląda następująco:
"files" : {
"/etc/httpd/conf/httpd.conf" : {
"source" : "https://s3.amazonaws.com/myConfigBucket/httpd.conf"
}
},
dodałem klauzulę uwierzytelniania oraz odpowiedni parametr:
"Parameters" : {
"BucketRole" : {
"Description" : "S3 role for access to bucket",
"Type" : "String",
"Default" : "S3Access",
"ConstraintDescription" : "Must be a valid IAM Role"
}
}
"AWS::CloudFormation::Authentication": {
"default" : {
"type": "s3",
"buckets": [ "myConfigBucket" ],
"roleName": { "Ref" : "BucketRole" }
}
},
Moja IAM Rola wygląda:
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "*"
}
]
}