हमने सेवा कनेक्शन (सर्विस प्रिंसिपल ऑथेंटिकेशन) के माध्यम से Azure DevOps और Azure Key Vault के बीच एक कनेक्शन स्थापित किया है। हालांकि इसके काम करने के लिए हमें Azure Key Vault -> Networking को अनुमति दें के रूप में चिह्नित करने की आवश्यकता है: All networks। यह देखते हुए कि हम यहां रहस्य संग्रहीत करते हैं, हम Allow trusted Microsoft services to bypass this firewall? के बजाय Yes पर सेट होने के बजाय Private endpoint and selected networks विकल्प का उपयोग करना चाहेंगे।

इस कदर:

enter image description here

हालाँकि इसके परिणामस्वरूप Azure DevOps -> पाइपलाइन -> लाइब्रेरी में त्रुटि होती है:

निर्दिष्ट Azure सेवा कनेक्शन के लिए चयनित कुंजी तिजोरी पर "प्राप्त करें, सूची बनाएं" गुप्त प्रबंधन अनुमतियां होनी चाहिए। Azure पाइपलाइन को इन अनुमतियों को सेट करने या Azure पोर्टल में गुप्त अनुमतियों को प्रबंधित करने के लिए सक्षम करने के लिए "अधिकृत करें" पर क्लिक करें।

enter image description here

अगर हम Azure Key Vault के लिए अनुमति दें: All networks से एक्सेस की अनुमति सेट करते हैं, तो यह पहले बताए गए अनुसार काम करता है लेकिन यदि संभव हो तो हम इससे बचना चाहेंगे।

enter image description here

पाइपलाइन में एक Azure कुंजी वॉल्ट कार्य सेट करना

enter image description here

या एक चर समूह की स्थापना और फिर Private endpoint and selected networks पर वापस जाने से परिनियोजन पर समान त्रुटि होती है।

enter image description here

MyKey: "ग्राहक का पता अधिकृत नहीं है और कॉलर विश्वसनीय नहीं है सेवा.\r\nग्राहक का पता: 111.222.333.44\r\nकॉलर: appid=;oid=00000000-0000-0000-0000-000000000000;iss=https:// sts.windows.net//\r\nवॉल्ट: माई-वॉल्ट; स्थान = नॉर्थयूरोप। निर्दिष्ट Azure सेवा कनेक्शन प्राप्त करने की आवश्यकता है, चयनित पर गुप्त प्रबंधन अनुमतियां सूचीबद्ध करें कुंजी तिजोरी। इन अनुमतियों को सेट करने के लिए, डाउनलोड करें ProvisionKeyVaultPermissions.ps1 स्क्रिप्ट बिल्ड/रिलीज़ लॉग से और इसे निष्पादित करें, या उन्हें Azure पोर्टल से सेट करें।"

enter image description here

ग्राहक का पता दुर्भाग्य से हर बार अपेक्षित रूप से नया होता है लेकिन oid और iss मान समान होते हैं। दस्तावेज़ीकरण के अनुसार केवल IPv4 address or CIDR को फ़ायरवॉल में जोड़ा जा सकता है। क्या Azure एजेंटों को विश्वसनीय Microsoft सेवाओं के रूप में चिह्नित करने का कोई तरीका है या यह एक बुरा अभ्यास है? हालांकि यह All networks से कहीं ज्यादा सुरक्षित लगता है।

6
Ogglas 24 अप्रैल 2020, 18:15

2 जवाब

सबसे बढ़िया उत्तर

यह अभी भी एक खुला मुद्दा है - समस्या

संभवतः कुछ समाधान URL में उल्लिखित हैं

  • अपनी पाइपलाइन में एक कार्य जोड़ें और अपने एजेंट के आईपी को श्वेतसूची में जोड़ें और फिर एक बार जब आपके पास कीवॉल्ट से मान हों तो वें श्वेतसूची को हटा दें।

  • व्हाइटलिस्ट Azure DevOps IP सूची साप्ताहिक हो सकती है लेकिन फिर से अविश्वसनीय लगती है

  • @Grand ने जो सुझाव दिया वह भी वास्तव में समाधानों में से एक है।

1
R Jain 25 अप्रैल 2020, 13:02

(लेखक की टिप्पणी के बाद अपडेट)

क्या आप Microsoft द्वारा होस्ट किए गए एजेंटों का उपयोग कर रहे हैं? वे गतिशील हो रहे हैं, हो सकता है कि आप इसके बजाय Azure में vm पर एजेंट होस्ट कर सकें। आप मशीन के आईपी को जानेंगे और केवी सेटिंग्स में इसकी अनुमति देंगे।

सेल्फ़-होस्टेड एजेंट देखें माइक्रोसॉफ्ट डॉक्स में।

1
Grand 25 अप्रैल 2020, 11:41