मेरे पास एक AWS इलास्टिक बीनस्टॉक रेल्स ऐप है जिसे मैं S3 बाल्टी से कुछ फाइलें खींचने के लिए कॉन्फिग स्क्रिप्ट के माध्यम से कॉन्फ़िगर कर रहा हूं। जब मैं आवेदन शुरू करता हूं, तो मुझे लॉग में निम्नलिखित त्रुटि प्राप्त होती रहती है ( सुरक्षा के लिए बाल्टी का नाम बदल दिया गया है ):
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>
विन्यास फाइल:
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
इलास्टिक बीनस्टॉक पर्यावरण aws-elasticbeanstalk-ec2-role
IAM भूमिका के साथ सेटअप है क्योंकि यह उदाहरण भूमिका है। इस भूमिका में निम्न नीति है:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": "arn:aws:s3:::my.bucket/*"
}
]
}
और S3 बाल्टी में निम्न नीति है:
{
"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/*"
}
]
}
मुझे अपने S3 बाल्टी में अपने EC2 उदाहरणों को एक्सेस देने के लिए क्या बदलने की आवश्यकता है?