
सुरक्षा नीतियों को सेट और लागू करने के लिए GitHub ऐप
[!IMPORTANT] OpenSSF-होस्टेड Allstar GitHub ऐप को सेवानिवृत्त कर दिया गया है। Allstar, जो OpenSSF Scorecard उपप्रोजेक्ट है, स्वयं बनाए रखा जा रहा है — अब आपको इसे स्वयं चलाना होगा, या तो GitHub Action के रूप में या सेवा डेमन के रूप में।
अधिक विवरण के लिए ossf/allstar#881 देखें।
यदि आपका संगठन होस्टेड ऐप पर निर्भर था, तो देखें होस्टेड ऐप से माइग्रेट करना।
Allstar एक GitHub ऐप है जो GitHub संगठनों या रिपॉजिटरी की सुरक्षा सर्वोत्तम प्रथाओं के पालन के लिए निरंतर निगरानी करता है। यदि Allstar किसी सुरक्षा नीति उल्लंघन का पता लगाता है, तो यह रिपॉजिटरी या संगठन के स्वामी को सचेत करने के लिए एक समस्या (issue) बनाता है। कुछ सुरक्षा नीतियों के लिए, Allstar उस प्रोजेक्ट सेटिंग को स्वचालित रूप से बदल भी सकता है जिसके कारण उल्लंघन हुआ था, उसे अपेक्षित स्थिति में वापस ला सकता है।
Allstar का लक्ष्य आपको उन फ़ाइलों और सेटिंग्स पर सूक्ष्म नियंत्रण देना है जो आपके प्रोजेक्ट की सुरक्षा को प्रभावित करती हैं। आप चुन सकते हैं कि संगठन और रिपॉजिटरी दोनों स्तरों पर किन सुरक्षा नीतियों की निगरानी करनी है, और नीति उल्लंघनों को कैसे संभालना है। आप नई नीतियाँ विकसित या योगदान भी कर सकते हैं।
Allstar को OpenSSF Scorecard प्रोजेक्ट के भाग के रूप में विकसित किया गया है।
यदि आपको Allstar द्वारा बनाई गई अवांछित समस्याएँ मिल रही हैं, तो बाहर निकलने के लिए इन निर्देशों का पालन करें।
Allstar अत्यधिक कॉन्फ़िगर करने योग्य है। नियंत्रण के तीन मुख्य स्तर हैं:
ये कॉन्फ़िगरेशन संगठन की .allstar रिपॉजिटरी में किए जाते हैं।
रिपॉजिटरी स्तर: ऐसे संगठन में रिपॉजिटरी अनुरक्षक जो Allstar का उपयोग करता है, अपनी रिपॉजिटरी को संगठन-स्तरीय प्रवर्तनों में ऑप्ट-इन या ऑप्ट-आउट करना चुन सकते हैं। ध्यान दें: ये रिपॉजिटरी-स्तरीय नियंत्रण केवल तभी कार्यात्मक होते हैं जब संगठन-स्तरीय सेटिंग्स में "रिपॉजिटरी ओवरराइड" की अनुमति हो। ये कॉन्फ़िगरेशन रिपॉजिटरी की .allstar निर्देशिका में किए जाते हैं।
नीति स्तर: प्रशासक या अनुरक्षक चुन सकते हैं कि विशिष्ट रिपॉजिटरी पर कौन सी नीतियाँ सक्षम हैं और नीति उल्लंघन होने पर Allstar कौन सी क्रियाएँ करता है। ये कॉन्फ़िगरेशन संगठन की .allstar रिपॉजिटरी (प्रशासक) या रिपॉजिटरी की .allstar निर्देशिका (अनुरक्षक) में एक नीति yaml फ़ाइल में किए जाते हैं।
संगठन स्तर पर Allstar स्थापित करने से पहले, आपको यह तय करना चाहिए कि आप लगभग कितनी रिपॉजिटरी पर Allstar चलाना चाहते हैं। यह आपको ऑप्ट-इन और ऑप्ट-आउट रणनीतियों के बीच चयन करने में मदद करेगा।
ऑप्ट-इन रणनीति आपको उन रिपॉजिटरी को मैन्युअल रूप से जोड़ने की अनुमति देती है जिन पर आप Allstar चलाना चाहते हैं। यदि आप कोई रिपॉजिटरी निर्दिष्ट नहीं करते हैं, तो स्थापित होने के बावजूद Allstar नहीं चलेगा। ऑप्ट-इन रणनीति चुनें यदि आप अपनी कुल रिपॉजिटरी में से केवल कुछ पर नीतियाँ लागू करना चाहते हैं, या अधिक पर सक्षम करने से पहले एकल रिपॉजिटरी पर Allstar आज़माना चाहते हैं। v4.3 रिलीज़ के बाद से, समान नाम वाली कई रिपॉजिटरी आसानी से जोड़ने के लिए ग्लोब्स समर्थित हैं।
ऑप्ट-आउट रणनीति (अनुशंसित) सभी रिपॉजिटरी पर Allstar सक्षम करती है और आपको Allstar प्रवर्तनों से बाहर निकलने के लिए रिपॉजिटरी को मैन्युअल रूप से चुनने की अनुमति देती है। आप सभी सार्वजनिक रिपॉजिटरी या सभी निजी रिपॉजिटरी को ऑप्ट-आउट करना भी चुन सकते हैं। यह विकल्प चुनें यदि आप किसी संगठन की सभी रिपॉजिटरी पर Allstar चलाना चाहते हैं, या केवल कुछ रिपॉजिटरी या विशिष्ट प्रकार (जैसे, सार्वजनिक बनाम निजी) की रिपॉजिटरी को ऑप्ट-आउट करना चाहते हैं। v4.3 रिलीज़ के बाद से, समान नाम वाली कई रिपॉजिटरी आसानी से जोड़ने के लिए ग्लोब्स समर्थित हैं।
| ऑप्ट-आउट (अनुशंसित) optOutStrategy = true |
ऑप्ट-इन optOutStrategy = false |
|
|---|---|---|
| डिफ़ॉल्ट व्यवहार | सभी रिपॉजिटरी सक्षम हैं | कोई रिपॉजिटरी सक्षम नहीं है |
| रिपॉजिटरी को मैन्युअल रूप से जोड़ना | रिपॉजिटरी को मैन्युअल रूप से जोड़ने से उन रिपॉजिटरी पर Allstar अक्षम हो जाता है | रिपॉजिटरी को मैन्युअल रूप से जोड़ने से उन रिपॉजिटरी पर Allstar सक्षम हो जाता है |
| अतिरिक्त कॉन्फ़िगरेशन | optOutRepos: सूचीबद्ध रिपॉजिटरी पर Allstar अक्षम हो जाएगा optOutPrivateRepos: यदि true है, तो सभी निजी रिपॉजिटरी पर Allstar अक्षम हो जाएगा optOutPublicRepos: यदि true है, तो सभी सार्वजनिक रिपॉजिटरी पर Allstar अक्षम हो जाएगा (optInRepos: यह सेटिंग अनदेखी की जाएगी) |
optInRepos: सूचीबद्ध रिपॉजिटरी पर Allstar सक्षम हो जाएगा (optOutRepos: यह सेटिंग अनदेखी की जाएगी) |
| रिपॉजिटरी ओवरराइड | यदि true है: रिपॉजिटरी अपनी स्वयं की रिपॉजिटरी फ़ाइल में सेटिंग्स का उपयोग करके अपने संगठन के Allstar प्रवर्तनों से ऑप्ट-आउट कर सकती हैं। उस रिपॉजिटरी पर लागू होने वाली संगठन-स्तरीय ऑप्ट-इन सेटिंग्स को अनदेखा किया जाता है। यदि false है: रिपॉजिटरी संगठन स्तर पर कॉन्फ़िगर किए गए Allstar प्रवर्तनों से ऑप्ट-आउट नहीं कर सकती हैं। |
यदि true है: रिपॉजिटरी अपने संगठन के Allstar प्रवर्तनों में ऑप्ट-इन कर सकती हैं, भले ही वे संगठन स्तर पर रिपॉजिटरी के लिए कॉन्फ़िगर न हों। उस रिपॉजिटरी पर लागू होने वाली संगठन-स्तरीय ऑप्ट-आउट सेटिंग्स को अनदेखा किया जाता है। यदि false है: रिपॉजिटरी Allstar प्रवर्तनों में ऑप्ट-इन नहीं कर सकती हैं यदि वे संगठन स्तर पर कॉन्फ़िगर नहीं हैं। |
Allstar आपके संगठन पर GitHub ऐप के रूप में कार्य करता है: आप ऐप बनाते हैं, और आप उस प्रक्रिया को चलाते हैं जो इसके रूप में प्रमाणित होती है। इसलिए सेटअप दो चरण हैं जो हर तैनाती के लिए सामान्य हैं — ऐप बनाएँ और नियंत्रण रिपॉजिटरी बनाएँ — और फिर इसे चलाने के तरीके का विकल्प: