Azure कुंजी वॉल्ट के साथ रहस्य और प्रमाणपत्र प्रबंधित करना
08/14/2024
इस तकनीकी और शैक्षिक लेख का उद्देश्य सुरक्षा विश्लेषकों, आईटी प्रशासकों और सिस्टम इंजीनियरों को रहस्यों (जैसे पासवर्ड, एपीआई कुंजी, कनेक्शन स्ट्रिंग) और प्रमाणपत्र (एसएसएल/टीएलएस) को सुरक्षित रूप से प्रबंधित करने के लिए Azure कुंजी वॉल्ट का उपयोग करने में मार्गदर्शन करना है। एज़्योर की वॉल्ट एक क्लाउड सेवा है जो इन महत्वपूर्ण वस्तुओं को संग्रहीत करने और उन तक पहुंचने के लिए एक केंद्रीकृत और सुरक्षित समाधान प्रदान करती है, जिससे उन्हें सीधे कोड या कॉन्फ़िगरेशन फ़ाइलों में एम्बेड करने की आवश्यकता समाप्त हो जाती है, जो एक खराब सुरक्षा अभ्यास है [1]।
परिचय
आधुनिक अनुप्रयोगों के विकास और संचालन में, रहस्यों और प्रमाणपत्रों का प्रबंधन करना एक निरंतर चुनौती है। डेटाबेस क्रेडेंशियल, तृतीय-पक्ष सेवा एपीआई कुंजी, एन्क्रिप्शन कुंजी और एसएसएल/टीएलएस प्रमाणपत्र संवेदनशील संपत्तियां हैं, जिनके साथ छेड़छाड़ होने पर गंभीर डेटा उल्लंघन हो सकता है। उन्हें असुरक्षित रूप से संग्रहीत करना, जैसे कि सादे पाठ फ़ाइलों, पर्यावरण चर, या सीधे स्रोत कोड में, एक महत्वपूर्ण जोखिम पैदा करता है। Azure Key Vault को इन परिसंपत्तियों की सुरक्षा, पहुंच को सख्ती से नियंत्रित करने और जीवनचक्र प्रबंधन को सरल बनाने के लिए एक सुरक्षित हार्डवेयर-आधारित रिपॉजिटरी (HSM) प्रदान करके इन समस्याओं को हल करने के लिए डिज़ाइन किया गया था [2]।
यह कैसे करें मार्गदर्शिका एक Azure कुंजी वॉल्ट बनाने, रहस्यों और प्रमाणपत्रों को जोड़ने और पुनर्प्राप्त करने, एक्सेस नीतियों को कॉन्फ़िगर करने और Azure ऐप सेवा जैसी अन्य Azure सेवाओं के साथ एकीकृत करने को कवर करेगी। चरण-दर-चरण निर्देश, उदाहरण Azure CLI कमांड और सत्यापन विधियाँ प्रदान की जाएंगी ताकि पाठक रहस्यों और प्रमाणपत्रों के सुरक्षित प्रबंधन को लागू कर सकें, अपने अनुप्रयोगों और क्लाउड बुनियादी ढांचे की सुरक्षा स्थिति को मजबूत कर सकें।
Azure कुंजी वॉल्ट महत्वपूर्ण क्यों है?
- सुरक्षित भंडारण: FIPS 140-2 लेवल 2 मान्य हार्डवेयर सुरक्षा मॉड्यूल (HSMs) का उपयोग करके रहस्यों और एन्क्रिप्शन कुंजियों की सुरक्षा करता है।
- केंद्रीकृत एक्सेस कंट्रोल: आपको एज़्योर रोल-आधारित एक्सेस कंट्रोल (आरबीएसी) या कुंजी वॉल्ट एक्सेस नीतियों का उपयोग करके विस्तृत स्तर पर रहस्यों और प्रमाणपत्रों तक पहुंच अनुमतियों को प्रबंधित करने की अनुमति देता है।
- जीवनचक्र प्रबंधन: गुप्त और प्रमाणपत्र रोटेशन, स्वचालित समाप्ति और घटना अधिसूचना की सुविधा प्रदान करता है।
- जोखिम में कमी: कोड या कॉन्फ़िगरेशन फ़ाइलों में क्रेडेंशियल संग्रहीत करने की आवश्यकता को समाप्त करता है, जिससे रिसाव का जोखिम कम हो जाता है।
- निगरानी और ऑडिटिंग: की वॉल्ट में किए गए सभी कार्यों को रिकॉर्ड करता है, अनुपालन और सुरक्षा जांच के लिए ऑडिट ट्रेल्स प्रदान करता है।
- सरलीकृत एकीकरण: आसानी से अन्य Azure सेवाओं, जैसे Azure ऐप सेवा, Azure फ़ंक्शंस, Azure वर्चुअल मशीन और Azure DevOps के साथ एकीकृत होता है।
पूर्वावश्यकताएँ
Azure कुंजी वॉल्ट का उपयोग करने के लिए, आपको निम्नलिखित वस्तुओं की आवश्यकता होगी:
- सक्रिय Azure सदस्यता: संसाधन बनाने और प्रबंधित करने के लिए एक Azure सदस्यता।
- प्रशासनिक पहुंच: Azure सदस्यता में
मालिकयायोगदानकर्ताभूमिका वाला एक खाता, या कुंजी वॉल्ट बनाने और प्रबंधित करने की अनुमति के साथ एक कस्टम भूमिका। - Azure CLI या Azure PowerShell: Azure के साथ इंटरैक्ट करने के लिए कमांड-लाइन टूल इंस्टॉल और कॉन्फ़िगर किया गया।
- वैकल्पिक: विज़ुअल स्टूडियो कोड: विकास और एकीकरण परीक्षण के लिए।
चरण दर चरण: Azure कुंजी वॉल्ट के साथ रहस्य और प्रमाणपत्र प्रबंधित करना
आइए एक कुंजी वॉल्ट बनाएं, एक रहस्य और प्रमाणपत्र जोड़ें, और पहुंच कॉन्फ़िगर करें।
1. एक Azure कुंजी वॉल्ट बनाना
आइए Azure CLI का उपयोग करके एक कुंजी वॉल्ट बनाएं। आप Azure पोर्टल का भी उपयोग कर सकते हैं.
- अपना टर्मिनल या पॉवरशेल खोलें और Azure में लॉग इन करें:
बैश एज़ लॉगिन -
एक संसाधन समूह बनाएं (यदि आपके पास पहले से कोई नहीं है):
बैश एज़ ग्रुप क्रिएट --नाम आरजी-कीवॉल्ट-आर्टिगोस --लोकेशन ईस्टस -
Azure कुंजी वॉल्ट बनाएं। अपने कुंजी वॉल्ट के लिए विश्व स्तर पर अद्वितीय नाम चुनें।
बैश az keyvault create --name kv-artigos-seguranca-01 --resource-group RG-KeyVault-Artigos --location Eastus --enabled-for-template-deployment true--enabled-for-template-deployment true: कुंजी वॉल्ट को टेम्पलेट परिनियोजन के लिए उपयोग करने की अनुमति देता है, जो स्वचालन के लिए उपयोगी है।
2. कुंजी तिजोरी में एक रहस्य जोड़ना
आइए एक डेटाबेस पासवर्ड को एक रहस्य के रूप में जोड़ेंद.
-
उदाहरण मान के साथ
डेटाबेसपासवर्डनामक एक रहस्य जोड़ें:बैश एज़ कीवॉल्ट सीक्रेट सेट --वॉल्ट-नाम kv-artigos-seguranca-01 --नाम डेटाबेसपासवर्ड --मान "S3cur3P@ssw0rd!" -
यह सत्यापित करने के लिए रहस्य पुनः प्राप्त करें कि यह सही ढंग से संग्रहीत किया गया था:
बैश एज़ कीवॉल्ट सीक्रेट शो --वॉल्ट-नाम kv-artigos-seguranca-01 --नाम डेटाबेसपासवर्ड --क्वेरी वैल्यू -o tsv
3. कुंजी वॉल्ट में एक प्रमाणपत्र जोड़ना
आइए प्रदर्शन उद्देश्यों के लिए एक स्व-हस्ताक्षरित प्रमाणपत्र जोड़ें। उत्पादन में, आप किसी विश्वसनीय सीए के प्रमाणपत्र का उपयोग करेंगे।
-
की वॉल्ट में स्व-हस्ताक्षरित प्रमाणपत्र बनाएं:
बैश az keyvault प्रमाणपत्र बनाएं --vault-name kv-artigos-seguranca-01 --name MyWebAppCert --policy "$(az keyvault प्रमाणपत्र प्राप्त-डिफ़ॉल्ट-पॉलिसी)" -
प्रमाणपत्र विवरण जांचें:
बैश एज़ कीवॉल्ट प्रमाणपत्र शो --वॉल्ट-नाम kv-artigos-seguranca-01 --नाम MyWebAppCert
4. एक्सेस नीतियों को कॉन्फ़िगर करना
एप्लिकेशन या उपयोगकर्ताओं को रहस्यों और प्रमाणपत्रों तक पहुंचने की अनुमति देने के लिए, आपको एक्सेस नीतियों को कॉन्फ़िगर करने की आवश्यकता है। आइए Azure रोल-आधारित एक्सेस कंट्रोल (RBAC) का उपयोग करें।
- उस एप्लिकेशन या उपयोगकर्ता की 'ऑब्जेक्ट आईडी' प्राप्त करें जिसे पहुंच की आवश्यकता होगी। किसी एप्लिकेशन (सर्विस प्रिंसिपल) के लिए, आप इसे Azure AD के साथ पंजीकृत करने के बाद प्राप्त कर सकते हैं। किसी उपयोगकर्ता के लिए,
az ad user show --id <user-principal-name> --query id -o tsvका उपयोग करें। - अपने कुंजी वॉल्ट को एक भूमिका निर्दिष्ट करें। उदाहरण के लिए, किसी एप्लिकेशन को रहस्य पढ़ने की अनुमति देने के लिए:
बैश # उदाहरण: एक सेवा प्रिंसिपल को 'कुंजी वॉल्ट रहस्य उपयोगकर्ता' की भूमिका सौंपें एज़ भूमिका असाइनमेंट बनाएं --भूमिका "कुंजी वॉल्ट रहस्य उपयोगकर्ता" --असाइनी-ऑब्जेक्ट-आईडी <ऑब्जेक्ट एप्लिकेशन/उपयोगकर्ता आईडी> --स्कोप /सदस्यता/<आपकी सदस्यता आईडी>/संसाधन समूह/आरजी-कीवॉल्ट-आर्टिगोस/प्रदाता/माइक्रोसॉफ्ट.कीवॉल्ट/वॉल्ट्स/केवी-आर्टिगोस-सेगुरानका-01- टिप: प्रमाणपत्रों के लिए, आप
की वॉल्ट प्रमाणपत्र उपयोगकर्ताफ़ंक्शन का उपयोग कर सकते हैं।
- टिप: प्रमाणपत्रों के लिए, आप
5. Azure ऐप सेवा के साथ एकीकरण (उदाहरण)
आइए प्रदर्शित करें कि कैसे कोई एप्लिकेशन कुंजी वॉल्ट से एक रहस्य का उपभोग कर सकता है।
- एक Azure ऐप सेवा बनाएं (यदि आपके पास पहले से कोई नहीं है):
बैश एज़ ऐपसर्विस योजना बनाएं --नाम ऐपसर्विसप्लान-आर्टिगोस --संसाधन-समूह RG-KeyVault-Artigos --sku B1 --is-linux az वेबएप बनाएं --संसाधन-समूह RG-KeyVault-Artigos --योजना AppServicePlan-Artigos --नाम वेबएप-आर्टिगोस-सेगुरान्का-01 -
ऐप सेवा के लिए प्रबंधित पहचान सक्षम करें। यह ऐप सेवा को स्पष्ट क्रेडेंशियल के बिना Azure कुंजी वॉल्ट को प्रमाणित करने की अनुमति देता है।
बैश एज़ वेबएप पहचान असाइन करें --संसाधन-समूह आरजी-कीवॉल्ट-आर्टिगोस --नाम वेबएप-आर्टिगोस-सेगुरानका-01 -
ऐप सेवा को कुंजी वॉल्ट में रहस्य तक पहुंचने के लिए प्रबंधित पहचान की अनुमति दें। पिछले चरण में प्राप्त
principalIdका उपयोग करें।बैश एज़ कीवॉल्ट सेट-पॉलिसी --नाम केवी-आर्टिगोस-सेगुरानका-01 --ऑब्जेक्ट-आईडी <प्रिंसिपलमैनेज्ड आइडेंटिटीआईडी> --गुप्त-अनुमतियाँ सूची प्राप्त करें- टिप: आरबीएसी का उपयोग करने के लिए, प्रबंधित पहचान के
प्रिंसिपलआईडीकोकी वॉल्ट सीक्रेट्स यूजरभूमिका निर्दिष्ट करें।
- टिप: आरबीएसी का उपयोग करने के लिए, प्रबंधित पहचान के
-
ऐप सेवा में एक गुप्त संदर्भ कॉन्फ़िगर करें। यह एप्लिकेशन को पर्यावरण चर के रूप में रहस्य तक पहुंचने की अनुमति देता है।
बैश az वेबएप कॉन्फ़िगरेशन ऐपसेटिंग्स सेट --resource-group RG-KeyVault-Artigos --name webapp-artigos-seguranca-01 --settings DatabasePassword='@Microsoft.KeyVault(SecretUri=https://kv-artigos-seguranca-01.vault.azure.net/secrets/DatabasePassword/)' -
अब, आपका एप्लिकेशन (उदाहरण के लिए ASP.NET Core, Node.js) 'डेटाबेसपासवर्ड' रहस्य को एक सामान्य पर्यावरण चर के रूप में पढ़ सकता है, और Azure ऐप सेवा इसे सुरक्षित तरीके से कुंजी वॉल्ट से पुनर्प्राप्त करने का ध्यान रखेगी।
सत्यापन और परीक्षण
रहस्य और प्रमाणपत्र प्रबंधन को मान्य करने में यह सत्यापित करना शामिल है कि पहुंच केवल अधिकृत संस्थाओं को ही दी गई है और रहस्यों को सही ढंग से पुनर्प्राप्त किया जा सकता है।
1. Azure CLI के माध्यम से रहस्यों तक पहुंच का परीक्षण
-
ऐसे खाते से रहस्य तक पहुँचने का प्रयास करें जिसके पास अनुमतियाँ नहीं हैं:
बैश az लॉगिन # बिना अनुमति वाले खाते से लॉग इन करें एज़ कीवॉल्ट सीक्रेट शो --वॉल्ट-नाम kv-artigos-seguranca-01 --नाम डेटाबेसपासवर्ड --क्वेरी वैल्यू -o tsv- अपेक्षित परिणाम: कमांड
प्राधिकरण विफलत्रुटि के साथ विफल हो जाना चाहिए।
- अपेक्षित परिणाम: कमांड
-
उस खाते से रहस्य तक पहुँचने का प्रयास करें जिसके पास अनुमतियाँ हैं (उदाहरण के लिए वह खाता जिसने कुंजी V बनाई हैयदि आप एप्लिकेशन के भीतर से परीक्षण कर रहे हैं तो ऑल्ट या ऐप सेवा प्रबंधित पहचान)।
बैश az लॉगिन # अनुमतियों वाले खाते से लॉग इन करें एज़ कीवॉल्ट सीक्रेट शो --वॉल्ट-नाम kv-artigos-seguranca-01 --नाम डेटाबेसपासवर्ड --क्वेरी वैल्यू -o tsv- अपेक्षित परिणाम: कमांड को गुप्त मान वापस करना होगा।
2. प्रमाणपत्र पहुंच का परीक्षण
- सत्यापित करें कि प्रमाणपत्र को किसी अधिकृत संस्था द्वारा सूचीबद्ध और पुनर्प्राप्त किया जा सकता है।
बैश एज़ कीवॉल्ट प्रमाणपत्र सूची --वॉल्ट-नाम केवी-आर्टिगोस-सेगुरान्का-01 एज़ कीवॉल्ट प्रमाणपत्र शो --वॉल्ट-नाम kv-artigos-seguranca-01 --नाम MyWebAppCert- अपेक्षित परिणाम: कमांड को प्रमाणपत्र विवरण लौटाना चाहिए।
3. कुंजी वॉल्ट ऑडिट लॉग की जाँच करना
की वॉल्ट में सभी ऑपरेशन लॉग किए गए हैं और उनका ऑडिट किया जा सकता है।
- Azure पोर्टल में, अपने कुंजी वॉल्ट (
kv-articles-seguranca-01) पर जाएँ। - बाएँ नेविगेशन फलक में, गतिविधि लॉग चुनें।
- आपको रहस्यों, प्रमाणपत्रों के निर्माण और पहुंच प्रयासों सहित किए गए सभी कार्यों का एक लॉग दिखाई देगा।
सुरक्षा युक्तियाँ और सर्वोत्तम प्रथाएँ
- न्यूनतम विशेषाधिकार का सिद्धांत: रहस्यों और प्रमाणपत्रों को केवल आवश्यक अनुमतियाँ (प्राप्त करें, सूचीबद्ध करें, सेट करें, हटाएं) प्रदान करें। अत्यधिक अनुमतियाँ देने से बचें.
- रहस्यों का नियमित रोटेशन: समझौते के जोखिम को कम करने के लिए रहस्यों और प्रमाणपत्रों को नियमित रूप से घुमाने की प्रक्रिया लागू करें।
- प्रबंधित पहचान: जब भी संभव हो कुंजी वॉल्ट को प्रमाणित करने के लिए Azure संसाधनों (प्रबंधित पहचान) के लिए प्रबंधित पहचान का उपयोग करें, जिससे आपके कोड में क्रेडेंशियल प्रबंधित करने की आवश्यकता समाप्त हो जाती है।
- ग्रेन्युलर एक्सेस नीतियां: यह नियंत्रित करने के लिए कि कौन क्या एक्सेस कर सकता है, कुंजी वॉल्ट या एज़्योर आरबीएसी एक्सेस नीतियों का उपयोग करें। बेहतर नियंत्रण के लिए आरबीएसी को प्राथमिकता दें।
- निगरानी और अलर्ट: कुंजी वॉल्ट में संदिग्ध गतिविधि के लिए अलर्ट कॉन्फ़िगर करें, जैसे असफल पहुंच प्रयास या गुप्त विलोपन।
- सॉफ्ट डिलीट और पर्ज प्रोटेक्शन: रहस्यों और प्रमाणपत्रों की आकस्मिक या दुर्भावनापूर्ण हानि को रोकने के लिए की वॉल्ट में सॉफ्ट डिलीट और पर्ज प्रोटेक्शन सक्षम करें।
- नियमित बैकअप: हालाँकि की वॉल्ट अत्यधिक उपलब्ध है, अपने रहस्यों और प्रमाणपत्रों का बैकअप लेने पर विचार करें, विशेष रूप से आपदा पुनर्प्राप्ति परिदृश्यों के लिए।
- समाप्त हो रहे रहस्य: रोटेशन को बाध्य करने और पुराने क्रेडेंशियल्स का उपयोग करने से बचने के लिए रहस्यों और प्रमाणपत्रों की समाप्ति तिथियां निर्धारित करें।
सामान्य समस्या निवारण
- प्राधिकरण त्रुटि (403 निषिद्ध): पहुंच का प्रयास करने वाली इकाई के लिए कुंजी वॉल्ट पहुंच नीतियों या आरबीएसी भूमिका असाइनमेंट की जांच करें। सुनिश्चित करें कि सही
ऑब्जेक्ट आईडीयाप्रिंसिपलआईडीका उपयोग किया गया है। - गुप्त/प्रमाणपत्र नहीं मिला: गुप्त/प्रमाणपत्र नाम और कुंजी वॉल्ट नाम की जाँच करें। सुनिश्चित करें कि रहस्य/प्रमाणपत्र मौजूद है और उसे हटाया या समाप्त नहीं किया गया है।
- प्रबंधित पहचान से जुड़ी समस्याएं: सत्यापित करें कि Azure संसाधन के लिए प्रबंधित पहचान सक्षम की गई है और कुंजी वॉल्ट में सही अनुमतियां दी गई हैं।
- गुप्त पुनर्प्राप्ति में विलंब: कुछ मामलों में, रहस्य पुनर्प्राप्ति में थोड़ी विलंबता हो सकती है। सुनिश्चित करें कि आपका एप्लिकेशन इसे एसिंक्रोनस रूप से संभाल रहा है।
- कनेक्टिविटी त्रुटियां: अपने एप्लिकेशन या वर्चुअल मशीन की नेटवर्क सेटिंग्स जांचें। सुनिश्चित करें कि कोई फ़ायरवॉल या नेटवर्क सुरक्षा समूह की वॉल्ट तक पहुंच को अवरुद्ध नहीं कर रहे हैं।
निष्कर्ष
Azure Key Vault क्लाउड में अपनी सबसे संवेदनशील डिजिटल संपत्तियों की सुरक्षा चाहने वाले किसी भी संगठन के लिए एक महत्वपूर्ण सेवा है। एक सुरक्षित, अत्यधिक उपलब्ध भंडार में रहस्यों और प्रमाणपत्रों के प्रबंधन को केंद्रीकृत करके, यह अनुपालन को सरल बनाता है, डेटा उल्लंघनों के जोखिम को कम करता है, और आपकी समग्र सुरक्षा स्थिति में सुधार करता है। एज़्योर की वॉल्ट का प्रभावी कार्यान्वयन, सुरक्षा और स्वचालन सर्वोत्तम प्रथाओं के साथ मिलकर, डेवलपर्स और ऑपरेटरों को नवाचार पर ध्यान केंद्रित करने की अनुमति देता है, यह जानते हुए कि उनकी साख और चाबियाँ सुरक्षित हैं। इस व्यावहारिक मार्गदर्शिका के साथ, सुरक्षा पेशेवर Azure में अपने अनुप्रयोगों और डेटा की अखंडता और गोपनीयता सुनिश्चित करते हुए, रहस्यों और प्रमाणपत्रों को सुरक्षित और कुशलता से प्रबंधित करने के लिए Azure कुंजी वॉल्ट का उपयोग करने में सक्षम होंगे।
संदर्भ:
[1]माइक्रोसॉफ्ट लर्न। एज़्योर की वॉल्ट क्या है?। यहां उपलब्ध है: https://learn.microsoft.com/pt-br/azure/key-vault/general/overview [2] माइक्रोसॉफ्ट लर्न। एज़्योर की वॉल्ट में रहस्यों को प्रबंधित करने के लिए सर्वोत्तम अभ्यास। यहां उपलब्ध है: https://learn.microsoft.com/pt-br/azure/key-vault/secrets/secrets-best-practices [3] माइक्रोसॉफ्ट लर्न। एज़्योर कुंजी वॉल्ट प्रमाणपत्रों के बारे में। यहां उपलब्ध है: https://learn.microsoft.com/pt-br/azure/key-vault/certificates/about-certificates