सुरक्षित क्रेडेंशियल प्रबंधन
अपने स्वचालित Terraform पाइपलाइन में क्लाउड प्रदाता के क्रेडेंशियल और संवेदनशील डेटा को सुरक्षित रूप से प्रबंधित करने की सर्वोत्तम विधियाँ लागू करें।
सुरक्षित क्रेडेंशियल प्रबंधन, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
CI/CD में सुरक्षित प्रमाण-पत्र
जब आप CI/CD पाइपलाइन में Terraform के साथ बुनियादी ढाँचे को स्वचालित करते हैं, तो आपकी पाइपलाइन को क्लाउड प्रदाता खातों तक पहुँच चाहिए। अनधिकृत पहुँच और डेटा उल्लंघनों को रोकने के लिए इन प्रमाण-पत्रों का सुरक्षित प्रबंधन अत्यंत आवश्यक है।
इसे ऐसे समझिए जैसे किसी रोबोट को अपने घर की चाबियाँ देना। आप सुनिश्चित करना चाहेंगे कि सही रोबोट के पास ही सही चाबियाँ हों और वे चाबियाँ सुरक्षित रहें।
गुप्त जानकारी को सीधे कोड में न लिखें
एक सामान्य गलती संवेदनशील जानकारी, जैसे API कुंजियाँ या पासवर्ड, को सीधे अपनी Terraform कॉन्फ़िगरेशन फ़ाइलों या CI/CD स्क्रिप्ट में डालना है। इसे हार्डकोडिंग कहा जाता है।
- सुरक्षा जोखिम: गुप्त जानकारी आपके स्रोत कोड के इतिहास (जैसे, Git) का हिस्सा बन जाती है।
- उजागर होना: रिपॉज़िटरी तक पहुँच रखने वाला कोई भी व्यक्ति इसे देख सकता है।
- रखरखाव: किसी गुप्त जानकारी को बदलने के लिए कोड में संशोधन और फिर से परिनियोजन करना पड़ता है।
पर्यावरण चर (मूल बातें)
स्थानीय विकास या सामान्य परिस्थितियों में, पर्यावरण चर हार्डकोडिंग के बिना प्रमाण-पत्र उपलब्ध कराने का सरल तरीका हैं। Terraform चलाने से पहले इन्हें अपने शेल में सेट करें।
हार्डकोडिंग से बेहतर होने पर भी, सावधानी से प्रबंधित न किए जाने पर गुप्त जानकारी लॉग या प्रक्रियाओं की सूचियों में दिखाई दे सकती है; इसलिए साझा CI/CD पाइपलाइनों के लिए यह आदर्श नहीं है।
export AWS_ACCESS_KEY_ID="AKIA..."
export AWS_SECRET_ACCESS_KEY="abcdef..."
terraform planCI/CD प्लेटफ़ॉर्म के गुप्त जानकारी प्रबंधक
आधुनिक CI/CD प्लेटफ़ॉर्म अंतर्निहित गुप्त जानकारी प्रबंधन सुविधाएँ प्रदान करते हैं। इनके माध्यम से आप संवेदनशील डेटा को अपने कोड रिपॉज़िटरी से अलग, सीधे प्लेटफ़ॉर्म के भीतर सुरक्षित रूप से संग्रहीत कर सकते हैं।
आपकी पाइपलाइन चलने पर, यह गुप्त जानकारी पर्यावरण चर या फ़ाइलों के रूप में बिल्ड परिवेश में डाली जाती है, लेकिन लॉग में कभी उजागर नहीं होती और न ही आपकी रिपॉज़िटरी में संग्रहीत होती है।
GitHub Actions गुप्त जानकारी का उदाहरण
GitHub Actions रिपॉज़िटरी की गुप्त जानकारी के लिए एक समर्पित अनुभाग प्रदान करता है। आप इसे Settings > Secrets and variables > Actions > New repository secret के माध्यम से जोड़ सकते हैं।
इसके बाद अपनी कार्यप्रवाह फ़ाइल में secrets संदर्भ का उपयोग करके इन गुप्त जानकारियों का संदर्भ दे सकते हैं। इन्हें लॉग में अपने-आप छिपा दिया जाता है।
name: Deploy Infra
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Terraform Init
run: terraform initपाइपलाइनों के लिए क्लाउड IAM भूमिकाएँ
CI/CD प्रमाणीकरण का सबसे सुरक्षित तरीका अपने क्लाउड प्रदाता द्वारा दी गई पहचान और पहुँच प्रबंधन (IAM) भूमिकाओं या सेवा खातों का उपयोग करना है।
लंबे समय तक मान्य पहुँच कुंजियों के बजाय, आपकी CI/CD पाइपलाइन विशिष्ट अनुमतियों वाली अस्थायी भूमिका ग्रहण करती है और अक्सर विश्वास संबंधों के लिए OpenID Connect (OIDC) का उपयोग करती है। इससे स्थिर प्रमाण-पत्रों को पूरी तरह संग्रहीत करने की आवश्यकता समाप्त हो जाती है।
AWS IAM भूमिका + OIDC उदाहरण
AWS के लिए, आप ऐसी IAM भूमिका कॉन्फ़िगर कर सकते हैं जिसे आपका GitHub Actions कार्यप्रवाह OIDC का उपयोग करके सीधे ग्रहण कर सके। इसका अर्थ है कि AWS पहुँच कुंजियाँ कहीं भी संग्रहीत नहीं की जातीं!
आप भूमिका के लिए विश्वास नीति परिभाषित करते हैं, जो GitHub के OIDC प्रदाता को विशिष्ट शर्तों (जैसे, रिपॉज़िटरी और शाखा) के आधार पर इसे ग्रहण करने की अनुमति देती है।
resource "aws_iam_role" "github_actions_role" {
name = "github-actions-oidc-role"
assume_role_policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Effect = "Allow"
Principal = {
Federated = "arn:aws:iam::123456789012:oidc-provider/token.actions.githubusercontent.com"
}
Action = "sts:AssumeRoleWithWebIdentity"
Condition = {
StringEquals = {
"token.actions.githubusercontent.com:aud" : "sts.amazonaws.com"
}
StringLike = {
"token.actions.githubusercontent.com:sub" : "repo:your-org/your-repo:*"
}
}
}
]
})
}Terraform के संवेदनशील आउटपुट
कभी-कभी Terraform आउटपुट में संवेदनशील डेटा, जैसे डेटाबेस पासवर्ड या निजी कुंजियाँ, हो सकती हैं। आपको ऐसे आउटपुट को sensitive के रूप में चिह्नित करना चाहिए।
जब किसी आउटपुट को संवेदनशील चिह्नित किया जाता है, तो Terraform CLI आउटपुट और प्रदर्शित होने वाली स्थिति फ़ाइल में उसके मान को छिपा देता है, जिससे आकस्मिक रूप से उजागर होने से बचाव होता है।
output "database_password" {
value = aws_db_instance.main.password
description = "The database root password."
sensitive = true
}सुरक्षित प्रमाण-पत्र जाँच
क्लाउड प्रदाताओं के साथ प्रमाणीकरण के लिए CI/CD पाइपलाइनों में सामान्यतः कौन-सी विधि सबसे सुरक्षित मानी जाती है और लंबे समय तक मान्य स्थिर प्रमाण-पत्रों को संग्रहीत करने की आवश्यकता समाप्त करती है?
पुनरावलोकन: सुरक्षित प्रमाण-पत्र
आपने अपनी Terraform CI/CD पाइपलाइनों में संवेदनशील डेटा के प्रबंधन की महत्वपूर्ण रणनीतियाँ सीख ली हैं:
- हार्डकोडिंग से बचें: गुप्त जानकारी को सीधे अपने कोड में कभी न डालें।
- CI/CD की गुप्त जानकारी का उपयोग करें: स्थिर प्रमाण-पत्रों के लिए प्लेटफ़ॉर्म-विशिष्ट गुप्त जानकारी प्रबंधकों का उपयोग करें।
- IAM भूमिकाएँ/OIDC अपनाएँ: अधिकतम सुरक्षा के लिए, कुंजियाँ संग्रहीत किए बिना अस्थायी अनुमतियाँ ग्रहण करने हेतु OIDC के साथ क्लाउड प्रदाता की IAM भूमिकाओं का उपयोग करें।
- संवेदनशील आउटपुट चिह्नित करें: Terraform आउटपुट से उजागर होने वाले संवेदनशील डेटा की सुरक्षा करें।
मज़बूत और सुरक्षित बुनियादी ढाँचा बनाए रखने के लिए ये प्रक्रियाएँ अत्यंत महत्वपूर्ण हैं।
एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 142
- पाठ
- 568
अक्सर पूछे जाने वाले प्रश्न
क्या “सुरक्षित क्रेडेंशियल प्रबंधन” पाठ निःशुल्क है?
हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “सुरक्षित क्रेडेंशियल प्रबंधन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“सुरक्षित क्रेडेंशियल प्रबंधन” में मैं क्या सीखूँगा?
अपने स्वचालित Terraform पाइपलाइन में क्लाउड प्रदाता के क्रेडेंशियल और संवेदनशील डेटा को सुरक्षित रूप से प्रबंधित करने की सर्वोत्तम विधियाँ लागू करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ DevOps बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर DevOps बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“सुरक्षित क्रेडेंशियल प्रबंधन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस DevOps बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर DevOps बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- CI/CD पाइपलाइन में Terraform
- `plan` और `apply` का स्वचालन
- सुरक्षित क्रेडेंशियल प्रबंधन
- GitOps और पुल अनुरोध स्वचालन