2016-12-09 13 views
7

क्या निर्माण प्रक्रिया द्वारा आईएएम इंस्टेंस भूमिकाओं का उपयोग करने का कोई तरीका है?एडब्ल्यूएस कोडबिल्ड वर्कर पर आईएएम भूमिकाओं का उपयोग

मेरे विशेष मामले में मुझे निर्माण के दौरान कुछ एस 3 संचालन करने की आवश्यकता है (कलाकृतियों को संग्रहित करने के लिए असंबंधित)।

अब तक मुझे मिला एकमात्र विकल्प है aws codebuild कॉन्फ़िगरेशन पृष्ठ पर पर्यावरण चर के लिए एक aws कुंजी और गुप्त जोड़ना है।

यह ec2 उदाहरण या निर्माण निष्पादित करने वाले कंटेनर को केवल आईएएम भूमिका संलग्न करने के लिए और अधिक सुरक्षित होगा। क्या वर्तमान में (2016-12) संभव है?

उत्तर

6

आपको अपनी बिल्ड प्रोजेक्ट के लिए बनाई गई सेवा भूमिका में कोई अतिरिक्त नीति अनुमतियां संलग्न करने में सक्षम होना चाहिए। कोडबिल्ड बिल्ड निर्माण के दौरान कार्य निष्पादित करने के लिए बिल्ड समय के दौरान उस नीति का उपयोग करता है।

उदाहरण के लिए, यदि आप निर्माण के दौरान एस 3 से एक वस्तु को नष्ट करना चाहता था, आप अपनी सेवा भूमिका नीति को निम्नलिखित बयान से जोड़ना होगा:

{ 
    "Effect": "Allow", 
    "Resource": [ 
     "*" 
    ], 
    "Action": [ 
     "s3:DeleteObject" 
    ] 
} 

नोट: आप इन प्रतिबंधित करने के लिए इच्छा हो सकती है विशिष्ट संसाधनों की अनुमतियां, ऊपर दिया गया उदाहरण आपके खाते में किसी भी चीज़ पर DeleteObject की अनुमति देता है।

यदि आपने अपनी परियोजना को सेट करने के लिए कोडबिल्ड कंसोल पर पहले रन विज़ार्ड का उपयोग किया है, तो आपके पास पहले से ही एस 3 के लिए आपकी सेवा भूमिका में नीतियां होनी चाहिए: GetObject और s3: GetObjectVersion। कंसोल के माध्यम से निर्माण करते समय सेवा भूमिका का नाम डिफ़ॉल्ट रूप से 'codebuild- [project name] -service-role' है।

+0

मैंने सोचा कि सेवा भूमिकाओं ने केवल सेवा को प्रभावित किया है, न कि निर्माण कंटेनर। मैं इसे फिर से ss कमांड लाइन को buildspec.yml में जोड़ने का प्रयास करूंगा। शायद मेरा एस 3 क्लाइंट कंटेनर पहचान प्रदाता का उपयोग करने में सक्षम नहीं था। –

+0

मैं काम करने वाली भूमिकाओं को नहीं देख रहा था क्योंकि मैवेन लाइब्रेरी मैं एस 3 तक पहुंचने के लिए उपयोग कर रहा था, कंटेनर प्रमाण-पत्रों के साथ काम नहीं करता था। सब ठीक है –

+0

@DanielSperry को यह सुनिश्चित नहीं था कि आपका सटीक समाधान क्या था, लेकिन मुझे एक ही समस्या हो सकती है और मैंने यहां एक वर्कअराउंड समाधान पोस्ट किया है http://stackoverflow.com/questions/42794486/use-appuous-ecs-credentials-on- codebuild-maven-job/42799591 # 42799591 – Neil

संबंधित मुद्दे