2011-11-30 28 views
48

क्या जेनकिंस में केवल कुछ नौकरियों को देखने के लिए उपयोगकर्ता को प्रतिबंधित करने का कोई तरीका है।जेनकिंस प्रति उपयोगकर्ता नौकरियों के दृश्य को प्रतिबंधित करें

जेनकिंस "परियोजना-आधारित मैट्रिक्स प्राधिकरण रणनीति" के माध्यम से प्रति परियोजना उपयोगकर्ता क्षमता के प्रतिबंध की अनुमति देता है। समस्या यह है कि कोई उपयोगकर्ता 'कुल मिलाकर' पढ़ने 'सेटिंग के बिना कुछ भी नहीं पहुंच सकता है। ऐसा लगता है कि वे सभी नौकरियों को देखने की अनुमति देते हैं।

क्या कोई अन्य प्लगइन है जो नौकरी प्रतिबंध की अनुमति देगी?

उत्तर

42

सोचते हैं कि ऐसा है, क्या आप खोज रहे हैं: स्क्रीनशॉट बिना Allow access to specific projects for Users

संक्षिप्त विवरण:
उपयोग जेनकींस "परियोजना आधारित मैट्रिक्स प्राधिकरण रणनीति" "जेनकींस प्रबंधित करें" => "विन्यस्त सिस्टम" के अंतर्गत। प्रत्येक प्रोजेक्ट के कॉन्फ़िगरेशन पेज पर, अब आपके पास "प्रोजेक्ट-आधारित सुरक्षा सक्षम करें" है। अब प्रत्येक उपयोगकर्ता को जोड़ें जिसे आप अधिकृत करना चाहते हैं।

+1

ऐसा लगता है कि ओपी के सुझाव के अनुसार आपको अभी भी कुल मिलाकर पढ़ने की सेटिंग खोलनी होगी। मैंने सब कुछ करने की कोशिश की है और प्रोजेक्ट-आधारित सुरक्षा सेटिंग्स को बिना किसी पढ़े हुए कुछ भी करने के लिए कुछ भी करने के लिए नहीं मिल सकता है। हो सकता है कि मैं एलडीएपी का उपयोग कर रहा हूं, लेकिन यह वैश्विक स्तर पर ठीक काम करता है। – quickshiftin

+1

आपको कुल मिलाकर पढ़ने की जांच करनी है, लेकिन फिर उस प्रोजेक्ट पर जो आप सुरक्षित कर रहे हैं, बस "वैश्विक अनुमतियों का वारिस न करें" जांचना सुनिश्चित करें। इस तरह, जिस उपयोगकर्ता को आप परियोजना देखना नहीं चाहते हैं उसे नहीं देख पाएगा। – metaforge

0

"जेनकिन्स प्रबंधित करें" पर जाने का प्रयास करें -> "उपयोगकर्ता प्रबंधित करें" विशिष्ट उपयोगकर्ता पर जाएं, उसकी कॉन्फ़िगरेशन "मेरा दृश्य अनुभाग" डिफ़ॉल्ट दृश्य संपादित करें।

+6

यह केवल उपयोगकर्ता से नौकरी को छुपाता है, यह इसकी पहुंच को रोकता नहीं है। – stwalkerster

7

आप प्रोजेक्ट-आधारित मैट्रिक्स ऑथ रणनीति का उपयोग कर सकते हैं और समग्र अनुमति पढ़ सकते हैं, लेकिन सिस्टम स्तर पर पढ़ाई नौकरी अक्षम करें। इसके बाद आपको प्रत्येक विशिष्ट प्रोजेक्ट के लिए रीड जॉब को सक्षम करना चाहिए जिसे आप वर्तमान उपयोगकर्ता के लिए दिखाना चाहते हैं। अधिक जानकारी के लिए कृपया this resolved issue देखें। वहां से कुछ जानकारी:

मैं नौकरी के स्तर पर पढ़ने की अनुमति लागू कर रहा हूं। जब यह किया जाता है, तो उपयोगकर्ता को किसी विशेष नौकरी के लिए रीड अनुमति की कमी नहीं होती है नहीं: उस नौकरी को किसी भी दृश्य में देखें, सीधे नौकरी पृष्ठ तक पहुंचने में सक्षम हो, नौकरी के लिए कोई संदर्भ देखें (उदाहरण के लिए अपस्ट्रीम या डाउनस्ट्रीम में निर्भरता)

इसके अलावा, मैं आपको आगे जाने और Role Strategy Plugin की जांच करने की सलाह देता हूं। यह उपयोगकर्ता/भूमिका प्रबंधन को सरल बना सकता है, आप कुछ नौकरियों तक पहुंच प्रदान करने के लिए ऊपर वर्णित वर्ण का उपयोग कर सकते हैं।

0

आप "विस्तारित पढ़ने अनुमति" प्लग-इन इंस्टॉल कर सकते हैं। फिर या तो "वैश्विक सेटिंग्स" या व्यक्तिगत नौकरी कॉन्फ़िगरेशन में, आप उपयोगकर्ता को "विस्तारित पढ़ें" अनुमति दे सकते हैं।

2

मैं कई प्लगइन के संयोजन का उपयोग करता हूं - भूमिकाओं और अनुमति के बुनियादी असाइनमेंट के लिए मैं भूमिका रणनीति प्लगइन का उपयोग करता हूं।

जब मुझे पैरामीटर के आधार पर कुछ भूमिका विभाजित करने की आवश्यकता होती है (उदाहरण के लिए जॉब-धावक नौकरी चलाने में सक्षम है, लेकिन उपयोगकर्ता केवल उपयोगकर्ता यूयूयू को मशीन एमएमएम पर तैनाती के लिए तैनाती नौकरी चलाने की अनुमति है), मैं पायथन का उपयोग करता हूं प्लगइन और sythexit (-1) के साथ पहले बिल्ड चरण और अंत के रूप में एक पायथन स्क्रिप्ट को परिभाषित करें जब नौकरी पैरामीटर के दिए गए संयोजन के साथ चलने के लिए मना किया जाता है।

उपयोगकर्ता वर्र्स प्लगइन बिल्ड करें उपयोगकर्ता को पर्यावरण चर के रूप में नौकरी निष्पादित करने वाले उपयोगकर्ता के बारे में जानकारी प्रदान करता है।

ई।छ:

import os 
import sys 

print os.environ["BUILD_USER"], "deploying to", os.environ["target_host"] 

# only some users are allowed to deploy to servers "MMM" 
mmm_users = ["UUU"] 

if os.environ["target_host"] != "MMM" or os.environ["BUILD_USER"] in mmm_users: 
    print "access granted" 
else: 
    print "access denied" 
    sys.exit(-1) 
7

केवल एक प्लगइन मेरी मदद: भूमिका आधारित रणनीति:

wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin

लेकिन आधिकारिक दस्तावेज (wiki.jenkins-ci.org/display/JENKINS/Role+Strategy + प्लगइन) खराब है।

यह एक बढ़िया प्रलेखन का वास्तविक उदाहरण है:

kblearningacademy.com/configure-role-strategy-plugin-in-jenkins

मैं काम कर बंद हो जाता है के मामले में पीडीएफ यह पेज परिवर्तित:

kblearningacademy_com_jenkins_Role+Strategy+Plugin

मुझे आशा है कि यह किसी को मदद मिलती है।

+0

यह प्रलेखन में कुंजी है - 'चरण 9। प्रत्येक परियोजना के आधार पर परियोजना भूमिकाएं जोड़ें।' –

0

जैसा कि ऊपर बताया गया है वादिम "जेनकिन्स प्रबंधित करें" => "सिस्टम कॉन्फ़िगर करें" के तहत जेनकिन्स "परियोजना-आधारित मैट्रिक्स प्राधिकरण रणनीति" का उपयोग करें। वहां अपने व्यवस्थापक उपयोगकर्ता को जोड़ने और सभी अनुमति देने के लिए मत भूलना। अब वहां प्रतिबंधित उपयोगकर्ता जोड़ें और समग्र पढ़ने की पहुंच दें। फिर प्रत्येक प्रोजेक्ट के कॉन्फ़िगरेशन पेज पर जाएं, अब आपके पास "प्रोजेक्ट-आधारित सुरक्षा सक्षम करें" विकल्प है। अब प्रत्येक उपयोगकर्ता को जोड़ें जिसे आप अधिकृत करना चाहते हैं।

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