पाठ 18 / 21

CI में सीक्रेट प्रबंधन

क्रेडेंशियल कोड में कभी नहीं रहने चाहिए — वे CI सिस्टम की वॉल्ट में रहते हैं।

क्रेडेंशियल कभी हार्डकोड न करें

रिपॉज़िटरी में कमिट किया गया पासवर्ड या API की पुश होते ही समझौता हो जाता है — यह हमेशा के लिए git इतिहास में रहता है, भले ही आप उसे बाद में हटा दें। रिपॉज़िटरी एक्सेस वाला कोई भी (या पब्लिक रिपॉज़िटरी पर, कोई भी) उसे पढ़ सकता है।

एन्क्रिप्टेड सीक्रेट स्टोर

CI सिस्टम एक एन्क्रिप्टेड सीक्रेट स्टोर देते हैं (GitHub Actions Secrets, GitLab CI Variables) या आप कोई वॉल्ट जोड़ते हैं (HashiCorp Vault, AWS Secrets Manager)। सीक्रेट केवल रन टाइम पर एनवायरनमेंट वेरिएबल के रूप में इंजेक्ट होते हैं, और लॉग से छिपे रहते हैं।

सीमित करें और घुमाएँ

हर सीक्रेट को उतना ही सीमित दायरा दें जितना उसे चाहिए (एक वातावरण, एक जॉब, केवल-पढ़ने योग्य) और क्रेडेंशियल को समय-समय पर घुमाएँ ताकि कोई पुरानी लीक हुई चाबी बेअसर हो जाए।