संवेदनशील डेटा के लिए सीक्रेट्स
सीक्रेट्स का उपयोग करके पासवर्ड और API कुंजियों जैसी संवेदनशील जानकारी को सुरक्षित रूप से संग्रहीत व प्रबंधित कीजिए।
संवेदनशील डेटा के लिए सीक्रेट्स, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
संवेदनशील जानकारी की सुरक्षा
ऐप्लिकेशन बनाते समय, आपको अक्सर डेटाबेस पासवर्ड, API कुंजियों या निजी प्रमाणपत्रों जैसी संवेदनशील जानकारी से निपटना पड़ता है।
इन्हें सीधे अपने ऐप्लिकेशन कोड या कॉन्फ़िगरेशन फ़ाइलों में संग्रहीत करना सुरक्षा के लिए बहुत बड़ा जोखिम है! इससे डेटा लीक हो सकता है और आपका सिस्टम उजागर हो सकता है।
Kubernetes सीक्रेट का परिचय
Kubernetes सीक्रेट ऐसे ऑब्जेक्ट हैं जिन्हें आपके क्लस्टर में संवेदनशील डेटा को सुरक्षित रूप से संग्रहीत करने के लिए बनाया गया है।
इनकी मदद से आप संवेदनशील जानकारी को अपने पॉड की परिभाषाओं और ऐप्लिकेशन कोड से अलग रख सकते हैं, जिससे आपका परिनियोजन अधिक सुरक्षित और प्रबंधित करना आसान हो जाता है।
- अलग: संवेदनशील डेटा को कंटेनर इमेज और पॉड YAML से बाहर रखें।
- सुलभ: पॉड इन्हें पर्यावरण चर या माउंट की गई फ़ाइलों के रूप में उपयोग कर सकते हैं।
सीक्रेट और ConfigMaps की तुलना
आपको पिछले पाठ से ConfigMaps याद होंगे, जिनका उपयोग गैर-संवेदनशील कॉन्फ़िगरेशन डेटा के लिए किया जाता है।
सीक्रेट उनसे मिलते-जुलते हैं, लेकिन विशेष रूप से संवेदनशील डेटा के लिए होते हैं। दोनों कुंजी-मान युग्म संग्रहीत करते हैं, लेकिन सीक्रेट डेटा की संवेदनशील प्रकृति को संभालते हैं।
- ConfigMaps: सामान्य, गैर-संवेदनशील कॉन्फ़िगरेशन के लिए, जैसे लॉग स्तर और API एंडपॉइंट।
- सीक्रेट: संवेदनशील डेटा के लिए, जैसे पासवर्ड, टोकन और निजी कुंजियाँ।
याद रखें, सीक्रेट डिफ़ॉल्ट रूप से base64 में एन्कोड किए जाते हैं, एन्क्रिप्ट नहीं!
लिटरल से सीक्रेट बनाना
सीक्रेट बनाने का सबसे सरल तरीका kubectl create secret generic का उपयोग करके लिटरल मान से बनाना है।
यह साधारण पासवर्ड जैसे संवेदनशील डेटा के एक छोटे, एकल अंश के लिए उपयोगी है।
kubectl create secret generic my-db-secret \
--from-literal=username=admin \
--from-literal=password=SuperSecretP@ssw0rd!फ़ाइलों से सीक्रेट बनाना
बड़े या कई पंक्तियों वाले संवेदनशील डेटा, जैसे निजी कुंजी या पूरी कॉन्फ़िगरेशन फ़ाइल, के लिए फ़ाइलों से सीक्रेट बनाना बेहतर होता है।
पहले फ़ाइलें स्थानीय रूप से बनाएँ, फिर उनका संदर्भ दें। Kubernetes फ़ाइल की सामग्री पढ़कर उसे संग्रहीत कर देगा।
# Create local files first
echo "my-api-key-12345" > api-key.txt
echo "my-token-abcde" > auth-token.txt
# Create the Secret
kubectl create secret generic app-credentials \
--from-file=api-key.txt \
--from-file=auth-token.txtसीक्रेट का उपयोग पर्यावरण चर के रूप में
पॉड सीक्रेट डेटा को सीधे अपने पर्यावरण चरों में डालकर उपयोग कर सकते हैं। यह सरल कुंजी-मान युग्मों के लिए सामान्य तरीका है।
आप सीक्रेट की अलग-अलग कुंजियों का संदर्भ दे सकते हैं, या envFrom का उपयोग करके सभी कुंजियों का संदर्भ दे सकते हैं।
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod-env
spec:
containers:
- name: my-app
image: nginx:latest
env:
- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: my-db-secret
key: username
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: my-db-secret
key: passwordसीक्रेट का उपयोग माउंट की गई फ़ाइलों के रूप में
संवेदनशील फ़ाइलों, जैसे प्रमाणपत्रों और निजी कुंजियों के लिए, या जब कोई ऐप्लिकेशन किसी विशेष फ़ाइल पथ से कॉन्फ़िगरेशन की अपेक्षा करता है, तब आप पॉड के भीतर सीक्रेट को फ़ाइलों के रूप में माउंट कर सकते हैं।
सीक्रेट की प्रत्येक कुंजी माउंट की गई डायरेक्टरी में एक फ़ाइल बन जाती है और उसका मान उस फ़ाइल की सामग्री होता है।
apiVersion: v1
kind: Pod
metadata:
name: my-app-pod-vol
spec:
containers:
- name: my-app
image: nginx:latest
volumeMounts:
- name: app-secret-volume
mountPath: "/etc/secrets"
readOnly: true
volumes:
- name: app-secret-volume
secret:
secretName: app-credentialsअपने सीक्रेट की सुरक्षा
सीक्रेट डेटा को सामान्य निरीक्षण से बचाते हैं, लेकिन वे हर समस्या का अचूक समाधान नहीं हैं। इन बातों को याद रखें:
- Base64 एन्कोडिंग: सीक्रेट base64 में एन्कोड किए जाते हैं, एन्क्रिप्ट नहीं। सीक्रेट तक पहुँच रखने वाला कोई भी व्यक्ति उसे डिकोड कर सकता है।
- RBAC: यह सीमित करने के लिए Role-Based Access Control (RBAC) का उपयोग करें कि कौन सीक्रेट पढ़, बना या संशोधित कर सकता है।
- संग्रहीत डेटा का एन्क्रिप्शन: वास्तविक सुरक्षा के लिए अपने etcd (Kubernetes के बैकिंग स्टोर) डेटा के लिए संग्रहीत डेटा का एन्क्रिप्शन सक्षम करें। क्लाउड प्रदाता अक्सर यह सुविधा देते हैं।
सीक्रेट अपडेट करना
अगर आपका संवेदनशील डेटा बदलता है, तो आपको सीक्रेट अपडेट करना होगा। नए मानों के साथ kubectl create secret को दोबारा चलाने पर यह अपडेट हो जाएगा, या अपडेट किए गए YAML के साथ kubectl apply -f का उपयोग करें।
हालाँकि, सीक्रेट का उपयोग कर रहे पॉड अपने-आप इन बदलावों को नहीं अपना पाएँगे। बदलाव लागू करने के लिए आम तौर पर सीक्रेट का उपयोग करने वाले पॉड को फिर से शुरू करना या दोबारा परिनियोजित करना पड़ता है।
त्वरित जाँच: सीक्रेट
मान लीजिए कि आपके पास एक निजी API कुंजी है, जिसका उपयोग आपके ऐप्लिकेशन को करना है। इस कुंजी को संग्रहीत करने और Kubernetes पॉड को उपलब्ध कराने का सबसे सुरक्षित और उपयुक्त तरीका कौन-सा है?
पुनरावलोकन: संवेदनशील डेटा के लिए सीक्रेट
बहुत अच्छा! आपने Kubernetes में संवेदनशील डेटा को संभालना सीख लिया है!
- सीक्रेट पासवर्ड और API कुंजियों जैसी संवेदनशील जानकारी संग्रहीत करते हैं।
- वे base64 में एन्कोड किए जाते हैं और पर्यावरण चर या माउंट की गई फ़ाइलों के रूप में उपयोग किए जा सकते हैं।
- अधिकतम सुरक्षा के लिए हमेशा RBAC लागू करें और संग्रहीत डेटा के एन्क्रिप्शन पर विचार करें।
- याद रखें, सीक्रेट के अपडेट अपनाने के लिए पॉड को फिर से शुरू करना पड़ता है।
एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 142
- पाठ
- 568
अक्सर पूछे जाने वाले प्रश्न
क्या “संवेदनशील डेटा के लिए सीक्रेट्स” पाठ निःशुल्क है?
हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “संवेदनशील डेटा के लिए सीक्रेट्स” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“संवेदनशील डेटा के लिए सीक्रेट्स” में मैं क्या सीखूँगा?
सीक्रेट्स का उपयोग करके पासवर्ड और API कुंजियों जैसी संवेदनशील जानकारी को सुरक्षित रूप से संग्रहीत व प्रबंधित कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“संवेदनशील डेटा के लिए सीक्रेट्स” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- कॉन्फ़िगरेशन के लिए ConfigMaps
- संवेदनशील डेटा के लिए सीक्रेट्स
- स्थायी वॉल्यूम और दावे
- StorageClasses और गतिशील प्रावधान