Ben bir S3 kova bazı dosyaları çekmek için yapılandırma komut dosyası aracılığıyla yapılandırıyorum AWS Elastik Beanstalk Rails uygulaması var. Uygulamayı başlattığımda, günlüklerde aşağıdaki hatayı almaya devam ediyorum (grup adı güvenlik için değiştirildi ):
Failed to retrieve https://s3.amazonaws.com/my.bucket/bootstrap.sh: HTTP Error 403 : <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message>
Yapılandırma dosyası:
packages:
yum:
git: []
files:
/opt/elasticbeanstalk/hooks/appdeploy/pre/01a_bootstrap.sh:
mode: "00755"
owner: root
group: root
source: https://s3.amazonaws.com/my.bucket/bootstrap.sh
Elastik Beanstalk ortamı, aws-elasticbeanstalk-ec2-role
örnek rolü olarak IAM rolü ile kurulur. Bu rol aşağıdaki politikaya sahiptir:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "arn:aws:s3:::my.bucket/*"
}
]
}
Ve S3 kovası aşağıdaki politikaya sahiptir:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "Stmt1371012493903",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<account #>:role/aws-elasticbeanstalk-ec2-role"
},
"Action": [
"s3:List*",
"s3:Get*"
],
"Resource": "arn:aws:s3:::my.bucket/*"
}
]
}
EC2 bulut sunucularımın S3 grubuma erişebilmesi için neyi değiştirmem gerekir?