Azure Policy
नामकरण परंपराएँ, अनुमत संसाधन प्रकार और स्थान प्रतिबंध स्वचालित रूप से लागू करने के लिए Azure Policy परिभाषाएँ लिखें और असाइन करें, चाहे दायरा सब्सक्रिप्शन या संसाधन समूह का हो।
Azure Policy, CoddyKit पर Azure Fundamentals का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Azure Fundamentals सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Azure Fundamentals पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Azure Policy क्या है
Azure Policy एक governance सेवा है, जो आपको Azure संसाधनों के configuration को नियंत्रित या audit करने वाले नियम — जिन्हें policy परिभाषाएँ कहा जाता है — परिभाषित, नियुक्त और प्रबंधित करने देती है। RBAC के विपरीत, जो यह नियंत्रित करता है कि कौन कार्रवाइयाँ कर सकता है, Azure Policy यह नियंत्रित करती है कि परिणामी संसाधन configuration में क्या अनुमति है। इसका उपयोग naming conventions, स्वीकृत संसाधन प्रकार और आवश्यक Security configurations जैसे संगठनात्मक मानकों को लागू करने के लिए किया जाता है।
Policy परिभाषाएँ
एक policy परिभाषा JSON दस्तावेज़ होती है, जो किसी संसाधन पर जाँची जाने वाली शर्त और शर्त पूरी होने पर लागू किए जाने वाले प्रभाव को परिभाषित करती है। Azure सामान्य परिस्थितियों को कवर करने वाली सैकड़ों पहले से निर्मित policy परिभाषाएँ उपलब्ध कराता है। जब पहले से निर्मित नीतियाँ आपकी आवश्यकता के अनुरूप न हों, तब आप कस्टम policy परिभाषाएँ भी बना सकते हैं। Policy परिभाषाएँ पुनः उपयोग किए जा सकने वाले ऑब्जेक्ट हैं, जिन्हें प्रभावी होने से पहले किसी scope पर नियुक्त करना आवश्यक है।
// Example built-in policy: require a specific tag on all resources
// Policy definition logic (simplified):
{
'if': {
'field': 'tags[Environment]',
'exists': 'false'
},
'then': {
'effect': 'deny'
}
}Policy के प्रभाव
किसी policy परिभाषा में दिया गया प्रभाव यह निर्धारित करता है कि policy की शर्त सक्रिय होने पर क्या होगा। मुख्य प्रभावों में शामिल हैं: Deny — नीति का उल्लंघन करने वाले संसाधन के निर्माण या अद्यतन को रोकता है; Audit — कार्रवाई की अनुमति देता है, लेकिन compliance report में चेतावनी दर्ज करता है; Append — निर्माण से पहले संसाधन में आवश्यक फ़ील्ड (जैसे tags) जोड़ता है; Modify — मौजूदा या नए संसाधनों की किसी property को बदलता है; DeployIfNotExists — यदि कोई शर्त पूरी न हो, तो संबंधित संसाधन तैनात करता है (जैसे प्रत्येक VM में diagnostics extension तैनात करना)।
Policy नियुक्ति
एक policy नियुक्ति किसी policy परिभाषा को किसी विशिष्ट scope पर लागू करती है: management group, subscription या resource group। उस scope (और child scopes) के भीतर आने वाले सभी संसाधनों का मूल्यांकन नियुक्त की गई नीति के आधार पर किया जाता है। नियुक्तियों में parameters शामिल किए जा सकते हैं — उदाहरण के लिए, अनुमत Azure क्षेत्रों को सीमित करने वाली policy को इस प्रकार parameter के अनुसार बनाया जा सकता है कि अलग-अलग management groups में उसी परिभाषा को अलग-अलग क्षेत्रों की सूचियों के साथ नियुक्त किया जाए।
# Assign a built-in policy to restrict allowed locations
az policy assignment create \
--name 'allowed-locations' \
--policy 'e56962a6-4747-49cd-b67b-bf8b01975c4c' \
--scope /subscriptions/<sub-id> \
--params '{"listOfAllowedLocations": {"value": ["eastus", "westeurope"]}}'
# List all policy assignments in a subscription
az policy assignment list \
--scope /subscriptions/<sub-id> \
--output tableInitiative परिभाषाएँ (Policy Sets)
एक initiative परिभाषा (जिसे policy set भी कहा जाता है) कई संबंधित policy परिभाषाओं को एक ही नियुक्त किए जा सकने वाले पैकेज में समूहित करती है। 20 अलग-अलग नीतियाँ नियुक्त करने के बजाय आप एक initiative नियुक्त कर सकते हैं। Azure ISO 27001, NIST SP 800-53, Azure Security Benchmark और PCI DSS जैसे compliance frameworks के लिए पहले से निर्मित initiatives उपलब्ध कराता है। उदाहरण के लिए, CIS Microsoft Azure Foundations Benchmark initiative नियुक्त करने पर आपकी subscription का एक साथ 180 से अधिक Security controls के आधार पर मूल्यांकन किया जाता है।
# Assign the Azure Security Benchmark initiative
az policy assignment create \
--name 'azure-security-benchmark' \
--policy-set-definition '1f3afdf9-d0c9-4c3d-847f-89da613e70a8' \
--scope /subscriptions/<sub-id>Compliance रिपोर्टिंग
किसी policy को नियुक्त करने के बाद Azure scope में मौजूद सभी संसाधनों का मूल्यांकन करता है और compliance report तैयार करता है। Report में कुल compliance प्रतिशत (compliant संसाधन / कुल संसाधन), प्रत्येक संसाधन की compliance state और विफल हुई विशिष्ट policy शर्तें दिखाई जाती हैं। आप policy initiative, scope या संसाधन प्रकार के आधार पर फ़िल्टर कर सकते हैं। NonCompliant संसाधनों के साथ उनके द्वारा उल्लंघन किए गए सटीक policy नियम को सूचीबद्ध किया जाता है, जिससे समस्या का समाधान करने में मार्गदर्शन मिलता है।
# Get policy compliance summary
az policy state summarize \
--subscription <sub-id> \
--output json
# List all non-compliant resources
az policy state list \
--filter 'complianceState eq NonCompliant' \
--output tableसुधार कार्य
DeployIfNotExists या Modify प्रभाव वाली नीतियों के लिए Azure मौजूदा NonCompliant संसाधनों को compliant बनाने हेतु सुधार कार्य बना सकता है। उदाहरण के लिए, प्रत्येक VM में Log Analytics agent तैनात करने वाली DeployIfNotExists policy के लिए ऐसा सुधार कार्य शुरू किया जा सकता है, जो वर्तमान में agent से वंचित सभी मौजूदा VMs में agent स्थापित करे। नए संसाधनों में निर्माण के समय अपने-आप सुधार किया जाता है; मौजूदा संसाधनों के लिए स्पष्ट रूप से सुधार कार्य आवश्यक होता है।
# Create a remediation task for existing non-compliant resources
az policy remediation create \
--name 'remediate-vm-logs' \
--policy-assignment 'deploy-vm-log-analytics' \
--resource-group myRGPolicy छूट
कभी-कभी कुछ विशिष्ट संसाधनों को वैध रूप से किसी policy से बाहर रखना आवश्यक होता है — जैसे ऐसा Legacy संसाधन जिसे बदला नहीं जा सकता, या change request में दर्ज स्वीकृत अपवाद। Policy छूट आपको policy को वैश्विक रूप से हटाए बिना किसी विशिष्ट संसाधन या resource group को policy नियुक्ति से बाहर रखने देती है। छूट में वैकल्पिक ExpiryDate और अपवाद का कारण दर्ज करने के लिए एक श्रेणी (Waiver या Mitigated) होती है।
# Create a policy exemption for a specific resource group
az policy exemption create \
--name 'legacy-rg-exemption' \
--policy-assignment 'allowed-locations' \
--scope /subscriptions/<sub-id>/resourceGroups/legacyRG \
--exemption-category Waiver \
--expires-on '2027-01-01T00:00:00Z' \
--description 'Legacy workload pending migration'DeployIfNotExists: बड़े पैमाने पर configuration
DeployIfNotExists सबसे शक्तिशाली policy प्रभावों में से एक है। जब कोई संसाधन आवश्यक संबंधित संसाधन के बिना बनाया जाता है (जैसे diagnostics extension के बिना VM), तो policy अपने-आप ARM template deployment शुरू करके अनुपस्थित component जोड़ देती है। इससे Azure Policy एक स्वचालित configuration management tool बन जाती है — यह सुनिश्चित करते हुए कि प्रत्येक VM में हमेशा monitoring agents हों, प्रत्येक storage account में हमेशा advanced threat protection हो और प्रत्येक SQL Database में हमेशा auditing सक्षम हो।
Policy के सामान्य उपयोग
संगठन कई governance परिस्थितियों में Azure Policy का उपयोग करते हैं। Location restrictions — data sovereignty के लिए संसाधनों को केवल स्वीकृत Azure क्षेत्रों में ही अनुमति देना। अनुमत संसाधन प्रकार — महँगी या अस्वीकृत services की deployment रोकना। Tag enforcement — सभी संसाधनों पर CostCentre और Environment tags आवश्यक करना। SKU restrictions — Non-Production subscriptions में VM आकारों को लागत के अनुकूल tiers तक सीमित करना। Security baselines — कम-से-कम TLS 1.2 लागू करना, storage accounts पर public network access बंद करना और private endpoints आवश्यक करना।
Azure Policy बनाम RBAC
RBAC और Azure Policy की अलग-अलग भूमिकाओं को समझना महत्वपूर्ण है। RBAC यह नियंत्रित करता है कि कौन operations कर सकता है — यह Identity के आधार पर कार्रवाइयों की अनुमति देता या उन्हें अस्वीकार करता है। Azure Policy यह नियंत्रित करती है कि संसाधन configuration क्या होनी चाहिए — कार्रवाई करने वाला कोई भी व्यक्ति हो, यह properties का मूल्यांकन और उनका अनुपालन लागू करती है। अच्छी तरह governed Environment में दोनों आवश्यक हैं: RBAC सुनिश्चित करता है कि केवल अधिकृत लोग संसाधन deploy करें, और Azure Policy सुनिश्चित करती है कि वे संसाधन configuration standards के अनुरूप हों।
त्वरित जाँच
इस lesson में बताए गए Microsoft Azure Fundamentals (AZ-900) के concepts की अपनी समझ जाँचें।
Lesson का सारांश
इस lesson में आपने सीखा: Azure Policy किसी भी scope पर संसाधन configuration को नियंत्रित करने के लिए शर्तें और प्रभाव परिभाषित करती है, initiative परिभाषाएँ कई नीतियों को एक ही नियुक्त किए जा सकने वाले compliance पैकेज में समाहित करती हैं, और DeployIfNotExists बड़े पैमाने पर अनुपस्थित components के लिए स्वचालित configuration enforcement सक्षम करता है। आगे हम Azure संसाधनों की सुरक्षा के लिए resource tags और resource locks का अध्ययन करेंगे।
एआई शिक्षक के साथ Azure Fundamentals सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “Azure Policy” पाठ निःशुल्क है?
हाँ—“Azure Policy” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Azure Fundamentals पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Azure Fundamentals पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Azure Policy” में मैं क्या सीखूँगा?
नामकरण परंपराएँ, अनुमत संसाधन प्रकार और स्थान प्रतिबंध स्वचालित रूप से लागू करने के लिए Azure Policy परिभाषाएँ लिखें और असाइन करें, चाहे दायरा सब्सक्रिप्शन या संसाधन समूह का हो। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Azure Fundamentals का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Azure Fundamentals शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Azure Fundamentals शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“Azure Policy” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Azure Fundamentals पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Azure Fundamentals पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।