कोडडिएप सेटअप में आम तौर पर दो परिदृश्य होते हैं ... वह भाग जो तैनाती बनाता है (आमतौर पर आपका सीआई सर्वर/बिल्ड एजेंट) और कोडडिमेंट एजेंट जो लक्ष्य उदाहरण पर चलता है और वास्तविक करता है तैनाती। पहली छमाही अनिवार्य रूप से कोड वितरण पर धक्का दे रही है और दूसरा आधा खींच रहा है ... इस तरह मैं इसे कल्पना करना पसंद करता हूं।
सीआई सर्वर/बिल्ड एजेंटों के लिए, उनके पास अनुमतियों के साथ आईएएम भूमिका होनी चाहिए ... इससे बिल्ड एजेंट को (1) एस 3 बाल्टी तक पहुंचने की अनुमति मिलती है जिसे आपने तैनाती के लिए नामित किया है और (2) CodeDeploy संशोधन बनाने के लिए सेवा, आदि
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets"
],
"Resource": "arn:aws:s3:::*"
}, {
"Effect": "Allow",
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::YourDeploymentBucket"
},
{
"Effect": "Allow",
"Action": [
"codedeploy:*"
],
"Resource": "*"
}
]
}
लक्ष्य EC2 उदाहरणों पर, वे ... इस CodeDeploy एजेंट सेवा (1) S3 बाल्टी के लिए पहुँच देता है संशोधन खींच सकते हैं और करने के लिए कुछ इस तरह की जरूरत है (2) सभी जेनेरिक कोड-तैनाती बाल्टी तक पहुंच ताकि एजेंट खुद को अपडेट कर सके। बेशक, उन उदाहरणों को अन्य सभी मानदंडों को पूरा करने की आवश्यकता है ... आम तौर पर, उन्हें आईएएम भूमिका की आवश्यकता होती है और कोड तैनाती एजेंट स्थापित करने की आवश्यकता होती है।
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": [
"arn:aws:s3:::YourDeploymentBucket/*",
"arn:aws:s3:::aws-codedeploy-us-east-1/*",
"arn:aws:s3:::aws-codedeploy-us-west-1/*",
"arn:aws:s3:::aws-codedeploy-us-west-2/*",
"arn:aws:s3:::aws-codedeploy-ap-northeast-1/*",
"arn:aws:s3:::aws-codedeploy-ap-northeast-2/*",
"arn:aws:s3:::aws-codedeploy-ap-south-1/*",
"arn:aws:s3:::aws-codedeploy-ap-southeast-1/*",
"arn:aws:s3:::aws-codedeploy-ap-southeast-2/*",
"arn:aws:s3:::aws-codedeploy-eu-central-1/*",
"arn:aws:s3:::aws-codedeploy-eu-west-1/*",
"arn:aws:s3:::aws-codedeploy-sa-east-1/*"
]
}
]
}
आप इन अनुमति असाइन आप पर निर्भर है ... अगर अपने निर्माण एजेंटों EC2 उदाहरण हैं, यह एक नीति उदाहरण (रों) के साथ जुड़े IAM भूमिका से जुड़ी रूप में इन आवंटित करने के लिए सबसे अच्छा होगा। लक्ष्य परिनियोजन मशीनों के लिए, आप वही करेंगे ... नीति बनाएं और उन उदाहरणों से जुड़े आईएएम भूमिकाओं को असाइन करें जिन्हें आप लक्षित करना चाहते हैं।