mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-26 20:54:14 -08:00
Translated ['src/pentesting-cloud/azure-security/az-post-exploitation/az
This commit is contained in:
@@ -18,6 +18,45 @@ az logic workflow identity remove/assign \
|
||||
--system-assigned true \
|
||||
--user-assigned "/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity_name>"
|
||||
```
|
||||
इसके अलावा, केवल `Microsoft.Logic/workflows/write` के साथ, आप कुछ कॉन्फ़िगरेशन जैसे अनुमति प्राप्त इनबाउंड IP पते या रन इतिहास बनाए रखने के दिनों को बदल सकते हैं:
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--uri "https://management.azure.com/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Logic/workflows/<workflow_name>?api-version=2019-05-01" \
|
||||
--headers "Content-Type=application/json" \
|
||||
--body '{
|
||||
"location": "<location>",
|
||||
"properties": {
|
||||
"state": "Enabled",
|
||||
"definition": {
|
||||
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
|
||||
"contentVersion": "1.0.0.0",
|
||||
"parameters": {},
|
||||
"triggers": {
|
||||
"<trigger_name>": {
|
||||
"type": "Request",
|
||||
"kind": "Http"
|
||||
}
|
||||
},
|
||||
"actions": {},
|
||||
"outputs": {}
|
||||
},
|
||||
"runtimeConfiguration": {
|
||||
"lifetime": {
|
||||
"unit": "day",
|
||||
"count": <count>
|
||||
}
|
||||
},
|
||||
"accessControl": {
|
||||
"triggers": {
|
||||
"allowedCallerIpAddresses": []
|
||||
},
|
||||
"actions": {
|
||||
"allowedCallerIpAddresses": []
|
||||
}
|
||||
}
|
||||
}
|
||||
}'
|
||||
```
|
||||
### `Microsoft.Web/sites/read`, `Microsoft.Web/sites/write`
|
||||
इन अनुमतियों के साथ, आप App Service Plan पर होस्ट किए गए Logic Apps को बना या अपडेट कर सकते हैं। इसमें HTTPS प्रवर्तन को सक्षम या अक्षम करने जैसी सेटिंग्स को संशोधित करना शामिल है।
|
||||
```bash
|
||||
@@ -43,7 +82,7 @@ az logicapp config appsettings set \
|
||||
--settings "<key>=<value>"
|
||||
```
|
||||
### `Microsoft.Logic/integrationAccounts/write`
|
||||
इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खातों को बना, अपडेट या हटा सकते हैं। इसमें इंटीग्रेशन खाता-स्तरीय कॉन्फ़िगरेशन जैसे मानचित्र, स्कीमा, भागीदार, समझौते और अधिक का प्रबंधन करना शामिल है।
|
||||
इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खातों को बना, अपडेट या हटा सकते हैं। इसमें इंटीग्रेशन खाता-स्तरीय कॉन्फ़िगरेशन जैसे मानचित्र, स्कीमा, भागीदार, समझौते, और अधिक का प्रबंधन करना शामिल है।
|
||||
```bash
|
||||
az logic integration-account create \
|
||||
--resource-group <resource_group_name> \
|
||||
@@ -77,7 +116,7 @@ az logic integration-account map create \
|
||||
--map-content map-content.xslt
|
||||
```
|
||||
### `Microsoft.Resources/subscriptions/resourcegroups/read` && `Microsoft.Logic/integrationAccounts/partners/write`
|
||||
इस अनुमति के साथ, आप Azure Logic Apps एकीकरण खाते में भागीदारों को बना या संशोधित कर सकते हैं। भागीदार उन संस्थाओं या प्रणालियों का प्रतिनिधित्व करते हैं जो व्यवसाय-से-व्यवसाय (B2B) कार्यप्रवाहों में भाग लेते हैं।
|
||||
इस अनुमति के साथ, आप Azure Logic Apps इंटीग्रेशन खाते में भागीदारों को बना या संशोधित कर सकते हैं। भागीदार उन संस्थाओं या प्रणालियों का प्रतिनिधित्व करते हैं जो व्यवसाय-से-व्यवसाय (B2B) कार्यप्रवाहों में भाग लेते हैं।
|
||||
```bash
|
||||
az logic integration-account partner create \
|
||||
--resource-group <resource_group_name> \
|
||||
@@ -111,6 +150,16 @@ az logic integration-account session create \
|
||||
}
|
||||
}
|
||||
}'
|
||||
```
|
||||
### `Microsoft.Logic/workflows/regenerateAccessKey/action`
|
||||
|
||||
इस अनुमति वाले उपयोगकर्ता Logic App एक्सेस कुंजी को फिर से उत्पन्न करने में सक्षम होते हैं, और यदि इसका दुरुपयोग किया जाता है, तो यह सेवा में व्यवधान का कारण बन सकता है।
|
||||
```bash
|
||||
az rest --method POST \
|
||||
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Logic/workflows/<workflow-name>/regenerateAccessKey?api-version=<api-version>" \
|
||||
--body '{"keyType": "<key-type>"}' \
|
||||
--headers "Content-Type=application/json"
|
||||
|
||||
```
|
||||
### "*/delete"
|
||||
इन अनुमतियों के साथ आप Azure Logic Apps से संबंधित संसाधनों को हटा सकते हैं
|
||||
|
||||
@@ -32,8 +32,67 @@ az rest \
|
||||
--body '{}' \
|
||||
--headers "Content-Type=application/json"
|
||||
```
|
||||
इसके अलावा, केवल `Microsoft.Logic/workflows/write` के साथ आप Authorization Policy को बदल सकते हैं, उदाहरण के लिए, किसी अन्य टेनेंट को वर्कफ़्लो को ट्रिगर करने की क्षमता दे सकते हैं:
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--uri "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/workflows/<workflow-name>?api-version=2016-10-01" \
|
||||
--body '{
|
||||
"location": "<region>",
|
||||
"properties": {
|
||||
"definition": {
|
||||
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
|
||||
"contentVersion": "1.0.0.0",
|
||||
"parameters": {
|
||||
"$connections": {
|
||||
"defaultValue": {},
|
||||
"type": "Object"
|
||||
}
|
||||
},
|
||||
"triggers": {
|
||||
"<trigger-name>": {
|
||||
"type": "Request",
|
||||
"kind": "Http"
|
||||
}
|
||||
},
|
||||
"actions": {},
|
||||
"outputs": {}
|
||||
},
|
||||
"accessControl": {
|
||||
"triggers": {
|
||||
"openAuthenticationPolicies": {
|
||||
"policies": {
|
||||
"<policy-name>": {
|
||||
"type": "AAD",
|
||||
"claims": [
|
||||
{
|
||||
"name": "iss",
|
||||
"value": "<issuer-url>"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}'
|
||||
|
||||
```
|
||||
### `Microsoft.Logic/workflows/triggers/listCallbackUrl/action`
|
||||
आप ट्रिगर का कॉलबैक URL प्राप्त कर सकते हैं और इसे चला सकते हैं।
|
||||
```bash
|
||||
az rest --method POST \
|
||||
--uri "https://management.azure.com/subscriptions/<subscription_id>/resourceGroups/<resource_group>/providers/Microsoft.Logic/workflows/<workflow_name>/triggers/<trigger_name>/listCallbackUrl?api-version=2019-05-01"
|
||||
```
|
||||
यह एक कॉलबैक URL लौटाएगा जैसे `https://prod-28.centralus.logic.azure.com:443/workflows/....`। अब हम इसे चलाने के लिए:
|
||||
```bash
|
||||
curl --request POST \
|
||||
--url "https://prod-28.centralus.logic.azure.com:443/workflows/<workflow_id>/triggers/<trigger_name>/paths/invoke?api-version=2019-05-01&sp=%2Ftriggers%2F<trigger_name>%2Frun&sv=1.0&sig=<signature>" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data '{"exampleKey": "exampleValue"}'
|
||||
```
|
||||
### (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/basicPublishingCredentialsPolicies/read`, `Microsoft.Web/sites/write`, `Microsoft.Web/sites/config/list/action`) && (`Microsoft.Web/sites/start/action`)
|
||||
इन अनुमतियों के साथ, आप ZIP फ़ाइल तैनाती का उपयोग करके Logic App कार्यप्रवाह तैनात कर सकते हैं। ये अनुमतियाँ ऐप विवरण पढ़ने, प्रकाशन क्रेडेंशियल्स तक पहुँचने, परिवर्तनों को लिखने और ऐप कॉन्फ़िगरेशन की सूची बनाने जैसी क्रियाओं को सक्षम बनाती हैं। प्रारंभ अनुमतियों के साथ, आप इच्छित सामग्री के साथ एक नया Logic App अपडेट और तैनात कर सकते हैं।
|
||||
इन अनुमतियों के साथ, आप ZIP फ़ाइल तैनाती का उपयोग करके Logic App वर्कफ़्लो तैनात कर सकते हैं। ये अनुमतियाँ ऐप विवरण पढ़ने, प्रकाशन क्रेडेंशियल्स तक पहुँचने, परिवर्तनों को लिखने और ऐप कॉन्फ़िगरेशन की सूची बनाने जैसी क्रियाओं को सक्षम बनाती हैं। प्रारंभ अनुमतियों के साथ, आप इच्छित सामग्री के साथ एक नया Logic App अपडेट और तैनात कर सकते हैं।
|
||||
```bash
|
||||
az logicapp deployment source config-zip \
|
||||
--name <logic_app_name> \
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
|
||||
## Azure CosmosDB
|
||||
|
||||
**Azure Cosmos DB** एक पूरी तरह से **प्रबंधित NoSQL, रिलेशनल, और वेक्टर डेटाबेस** है जो एकल-अंक मिलीसेकंड प्रतिक्रिया समय, स्वचालित स्केलेबिलिटी, और SLA-समर्थित उपलब्धता के साथ एंटरप्राइज-ग्रेड सुरक्षा प्रदान करता है। यह टर्नकी मल्टी-रीजन डेटा वितरण, ओपन-सोर्स APIs, लोकप्रिय भाषाओं के लिए SDKs, और AI डेटाबेस सुविधाओं जैसे एकीकृत वेक्टर समर्थन और निर्बाध Azure AI एकीकरण के माध्यम से तेज ऐप विकास को सक्षम बनाता है।
|
||||
**Azure Cosmos DB** एक पूरी तरह से **प्रबंधित NoSQL, रिलेशनल, और वेक्टर डेटाबेस** है जो एकल-अंक मिलीसेकंड प्रतिक्रिया समय, स्वचालित स्केलेबिलिटी, और उद्यम-ग्रेड सुरक्षा के साथ SLA-समर्थित उपलब्धता प्रदान करता है। यह टर्नकी मल्टी-क्षेत्र डेटा वितरण, ओपन-सोर्स APIs, लोकप्रिय भाषाओं के लिए SDKs, और एकीकृत वेक्टर समर्थन और निर्बाध Azure AI एकीकरण जैसी AI डेटाबेस सुविधाओं के माध्यम से तेज ऐप विकास को सक्षम बनाता है।
|
||||
|
||||
Azure Cosmos DB कई डेटाबेस APIs प्रदान करता है जो दस्तावेज़ों, रिलेशनल, की-वैल्यू, ग्राफ, और कॉलम-फैमिली डेटा मॉडल का उपयोग करके वास्तविक दुनिया के डेटा को मॉडल करने के लिए हैं, ये APIs NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin और Table हैं।
|
||||
Azure Cosmos DB वास्तविक दुनिया के डेटा को दस्तावेज़ों, रिलेशनल, की-मान, ग्राफ, और कॉलम-परिवार डेटा मॉडल का उपयोग करके मॉडल करने के लिए कई डेटाबेस APIs प्रदान करता है, ये APIs NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin और Table हैं।
|
||||
|
||||
CosmosDB का एक प्रमुख पहलू Azure Cosmos Account है। **Azure Cosmos Account** डेटाबेस के लिए प्रवेश बिंदु के रूप में कार्य करता है। खाता वैश्विक वितरण, स्थिरता स्तर, और उपयोग किए जाने वाले विशिष्ट API जैसे प्रमुख सेटिंग्स को निर्धारित करता है, जैसे NoSQL। खाते के माध्यम से, आप वैश्विक पुनरुत्पादन को कॉन्फ़िगर कर सकते हैं ताकि डेटा कई क्षेत्रों में कम-लेटेंसी पहुंच के लिए उपलब्ध हो। इसके अतिरिक्त, आप एक स्थिरता स्तर चुन सकते हैं जो प्रदर्शन और डेटा सटीकता के बीच संतुलन बनाता है, जिसमें Strong से लेकर Eventual consistency तक के विकल्प होते हैं।
|
||||
CosmosDB का एक प्रमुख पहलू Azure Cosmos Account है। **Azure Cosmos Account** डेटाबेस के लिए प्रवेश बिंदु के रूप में कार्य करता है। खाता वैश्विक वितरण, स्थिरता स्तर, और उपयोग किए जाने वाले विशिष्ट API जैसे प्रमुख सेटिंग्स को निर्धारित करता है, जैसे NoSQL। खाते के माध्यम से, आप वैश्विक पुनरुत्पादन को कॉन्फ़िगर कर सकते हैं ताकि डेटा कई क्षेत्रों में कम-लेटेंसी पहुंच के लिए उपलब्ध हो। इसके अतिरिक्त, आप प्रदर्शन और डेटा सटीकता के बीच संतुलन बनाने के लिए एक स्थिरता स्तर चुन सकते हैं, जिसमें मजबूत से अंततः स्थिरता तक के विकल्प होते हैं।
|
||||
|
||||
Azure Cosmos DB **उपयोगकर्ता-निर्धारित पहचान** और **सिस्टम-निर्धारित प्रबंधित पहचान** का समर्थन करता है जो स्वचालित रूप से बनाए जाते हैं और संसाधन के जीवनचक्र से जुड़े होते हैं, जिससे अन्य सेवाओं से कनेक्ट करते समय सुरक्षित, टोकन-आधारित प्रमाणीकरण की अनुमति मिलती है—जब तक कि उन सेवाओं के पास उपयुक्त भूमिका असाइनमेंट न हो। हालाँकि, Cosmos DB में Azure Blob Storage जैसी बाहरी डेटा स्रोतों को सीधे क्वेरी करने के लिए कोई अंतर्निहित तंत्र नहीं है। SQL Server की बाहरी तालिका सुविधाओं के विपरीत, Cosmos DB को इसके कंटेनरों में डेटा को Azure Data Factory, Data Migration Tool, या कस्टम स्क्रिप्ट जैसे बाहरी उपकरणों का उपयोग करके इन्गेस्ट करने की आवश्यकता होती है, इससे पहले कि इसे इसके मूल क्वेरी क्षमताओं के साथ क्वेरी किया जा सके।
|
||||
Azure Cosmos DB **उपयोगकर्ता-निर्धारित पहचान** और **सिस्टम-निर्धारित प्रबंधित पहचान** का समर्थन करता है जो स्वचालित रूप से बनाए जाते हैं और संसाधन के जीवनचक्र से जुड़े होते हैं। हालाँकि, Cosmos DB में Azure Blob Storage जैसी बाहरी डेटा स्रोतों को सीधे क्वेरी करने के लिए कोई अंतर्निहित तंत्र नहीं है। SQL Server की बाहरी तालिका सुविधाओं के विपरीत, Cosmos DB को इसके कंटेनरों में डेटा को बाहरी उपकरणों जैसे Azure Data Factory, Data Migration Tool, या कस्टम स्क्रिप्ट का उपयोग करके इकट्ठा करने की आवश्यकता होती है, इससे पहले कि इसे इसकी मूल क्वेरी क्षमताओं के साथ क्वेरी किया जा सके।
|
||||
|
||||
### NoSQL
|
||||
Azure Cosmos DB NoSQL API एक दस्तावेज़-आधारित API है जो JSON को अपने डेटा प्रारूप के रूप में उपयोग करता है। यह JSON वस्तुओं को क्वेरी करने के लिए SQL-जैसी क्वेरी सिंटैक्स प्रदान करता है, जिससे यह संरचित और अर्ध-संरचित डेटा के साथ काम करने के लिए उपयुक्त बनाता है। सेवा का एंडपॉइंट है:
|
||||
@@ -18,16 +18,16 @@ Azure Cosmos DB NoSQL API एक दस्तावेज़-आधारित
|
||||
https://<Account-Name>.documents.azure.com:443/
|
||||
```
|
||||
#### Databases
|
||||
एक खाते के भीतर, आप एक या अधिक डेटाबेस बना सकते हैं, जो कंटेनरों के तार्किक समूह के रूप में कार्य करते हैं। एक डेटाबेस संसाधन प्रबंधन और उपयोगकर्ता अनुमतियों के लिए एक सीमा के रूप में कार्य करता है। डेटाबेस या तो अपने कंटेनरों के बीच प्रावधानित थ्रूपुट साझा कर सकते हैं या व्यक्तिगत कंटेनरों को समर्पित थ्रूपुट आवंटित कर सकते हैं।
|
||||
एक खाते के भीतर, आप एक या अधिक डेटाबेस बना सकते हैं, जो कंटेनरों के तार्किक समूह के रूप में कार्य करते हैं। एक डेटाबेस संसाधन प्रबंधन और उपयोगकर्ता अनुमतियों के लिए एक सीमा के रूप में कार्य करता है। डेटाबेस कई कंटेनरों को साझा प्रदर्शन क्षमता के पूल का उपयोग करने की अनुमति दे सकते हैं या प्रत्येक कंटेनर को अपनी खुद की समर्पित शक्ति दे सकते हैं।
|
||||
|
||||
#### Containers
|
||||
डेटा भंडारण की मुख्य इकाई कंटेनर है, जो JSON दस्तावेज़ों को रखता है और कुशल क्वेरी के लिए स्वचालित रूप से अनुक्रमित होता है। कंटेनर लचीले ढंग से स्केलेबल होते हैं और विभाजनों में वितरित होते हैं, जो उपयोगकर्ता-परिभाषित विभाजन कुंजी द्वारा निर्धारित होते हैं। विभाजन कुंजी अनुकूल प्रदर्शन और समान डेटा वितरण सुनिश्चित करने के लिए महत्वपूर्ण है। उदाहरण के लिए, एक कंटेनर ग्राहक डेटा को स्टोर कर सकता है, जिसमें "customerId" विभाजन कुंजी के रूप में हो सकता है।
|
||||
डेटा भंडारण की मुख्य इकाई कंटेनर है, जो JSON दस्तावेज़ों को रखता है और कुशल क्वेरी के लिए स्वचालित रूप से अनुक्रमित होता है। कंटेनर लचीले ढंग से स्केलेबल होते हैं और विभाजनों में वितरित होते हैं, जो उपयोगकर्ता द्वारा परिभाषित विभाजन कुंजी द्वारा निर्धारित होते हैं। विभाजन कुंजी अनुकूल प्रदर्शन और समान डेटा वितरण सुनिश्चित करने के लिए महत्वपूर्ण है। उदाहरण के लिए, एक कंटेनर ग्राहक डेटा को स्टोर कर सकता है, जिसमें "customerId" विभाजन कुंजी के रूप में हो सकता है।
|
||||
|
||||
#### Key Features
|
||||
**Global Distribution**: क्रॉस-क्षेत्र प्रतिकृति के लिए Geo-Redundancy सक्षम या अक्षम करें और बेहतर उपलब्धता के लिए Multi-region Writes।
|
||||
**Networking & Security**: कनेक्टिविटी के लिए सार्वजनिक (सभी/चुनिंदा नेटवर्क) या निजी एंडपॉइंट के बीच। TLS 1.2 एन्क्रिप्शन के साथ सुरक्षित कनेक्शन। संसाधनों तक नियंत्रित पहुंच के लिए CORS (Cross-Origin Resource Sharing) का समर्थन करता है।
|
||||
**Backup & Recovery**: समय-समय पर, निरंतर (7 दिन), या निरंतर (30 दिन) बैकअप नीतियों से कॉन्फ़िगर करने योग्य अंतराल और संरक्षण के साथ।
|
||||
**Data Encryption**: एन्क्रिप्शन के लिए डिफ़ॉल्ट सेवा-प्रबंधित कुंजी या ग्राहक-प्रबंधित कुंजी (CMK) (CMK चयन अपरिवर्तनीय है)।
|
||||
- **Global Distribution**: क्रॉस-क्षेत्र प्रतिकृति के लिए Geo-Redundancy को सक्षम या अक्षम करें और बेहतर उपलब्धता के लिए Multi-region Writes।
|
||||
- **Networking & Security**: सार्वजनिक (सभी/चुनिंदा नेटवर्क) या निजी एंडपॉइंट्स के बीच कनेक्टिविटी। TLS 1.2 एन्क्रिप्शन के साथ सुरक्षित कनेक्शन। संसाधनों तक नियंत्रित पहुंच के लिए CORS (Cross-Origin Resource Sharing) का समर्थन करता है। Microsoft Defender for Cloud को सक्षम किया जा सकता है। कनेक्शन बनाने के लिए आप कुंजियों का उपयोग कर सकते हैं।
|
||||
- **Backup & Recovery**: समय-समय पर, निरंतर (7 दिन), या निरंतर (30 दिन) बैकअप नीतियों से कॉन्फ़िगर करने योग्य अंतराल और संरक्षण के साथ।
|
||||
- **Data Encryption**: एन्क्रिप्शन के लिए डिफ़ॉल्ट सेवा-प्रबंधित कुंजियाँ या ग्राहक-प्रबंधित कुंजियाँ (CMK) (CMK चयन अपरिवर्तनीय है)।
|
||||
|
||||
#### Enumeration
|
||||
|
||||
@@ -67,6 +67,19 @@ az cosmosdb sql trigger list --account-name <AccountName> --container-name <Cont
|
||||
## List the NoSQL user defined functions under an Azure Cosmos DB NoSQL container
|
||||
az cosmosdb sql user-defined-function list --account-name <AccountName> --container-name <ContainerName> --database-name <DatabaseName> --resource-group <ResourceGroupName>
|
||||
|
||||
|
||||
## MongoDB (vCore)
|
||||
# Install az cli extension
|
||||
az extension add --name cosmosdb-preview
|
||||
# List all MongoDB databases in a specified Azure Cosmos DB account
|
||||
az cosmosdb mongocluster list
|
||||
az cosmosdb mongocluster show --cluster-name <name> --resource-group <ResourceGroupName>
|
||||
# Get firewall rules
|
||||
az cosmosdb mongocluster firewall rule list --cluster-name <name> --resource-group <ResourceGroupName>
|
||||
# Connect to in
|
||||
brew install mongosh
|
||||
mongosh "mongodb://<username>:<password>@<account-name>.mongo.cosmos.azure.com:10255/?ssl=true&replicaSet=globaldb&retryWrites=false" --username <username> --password <password>
|
||||
|
||||
```
|
||||
{{#endtab }}
|
||||
|
||||
@@ -118,7 +131,7 @@ Get-AzCosmosDBSqlUserDefinedFunction -ResourceGroupName "<ResourceGroupName>" -A
|
||||
|
||||
#### कनेक्शन
|
||||
|
||||
azure-cosmosDB (pip install azure-cosmos) लाइब्रेरी को कनेक्ट करने के लिए आवश्यक है। इसके अतिरिक्त, एंडपॉइंट और कुंजी कनेक्शन बनाने के लिए महत्वपूर्ण घटक हैं।
|
||||
इसके 2 प्रमुख प्रकार हैं, पढ़ने-लिखने (पूर्ण) और केवल पढ़ने। ये सभी डेटाबेस, संग्रह और Cosmos DB खाते के अंदर डेटा तक निर्दिष्ट पहुंच प्रदान करते हैं। कनेक्ट करने के लिए azure-cosmosDB (pip install azure-cosmos) पुस्तकालय की आवश्यकता है। इसके अतिरिक्त, एंडपॉइंट और कुंजी कनेक्शन बनाने के लिए महत्वपूर्ण घटक हैं।
|
||||
```python
|
||||
from azure.cosmos import CosmosClient, PartitionKey
|
||||
|
||||
@@ -194,15 +207,16 @@ MongoDB में, आप एक या एक से अधिक डेटा
|
||||
MongoDB में डेटा संग्रहण की मुख्य इकाई संग्रह है, जो दस्तावेज़ों को रखती है और कुशल क्वेरीिंग और लचीले स्कीमा डिज़ाइन के लिए डिज़ाइन की गई है। संग्रह लचीले ढंग से स्केलेबल होते हैं और वितरित सेटअप में कई नोड्स के बीच उच्च-थ्रूपुट संचालन का समर्थन कर सकते हैं।
|
||||
|
||||
#### Key Features of Request unit (RU) type
|
||||
**Global Distribution**: क्रॉस-क्षेत्र प्रतिकृति के लिए Geo-Redundancy को सक्षम या अक्षम करें और बेहतर उपलब्धता के लिए Multi-region Writes।
|
||||
**Networking & Security**: कनेक्टिविटी के लिए सार्वजनिक (सभी/चुनिंदा नेटवर्क) या निजी एंडपॉइंट्स के बीच। TLS 1.2 एन्क्रिप्शन के साथ सुरक्षित कनेक्शन। संसाधनों तक नियंत्रित पहुंच के लिए CORS (Cross-Origin Resource Sharing) का समर्थन करता है।
|
||||
**Backup & Recovery**: अंतराल और संरक्षण के साथ कॉन्फ़िगर करने योग्य नीतियों के साथ पीरियडिक, निरंतर (7 दिन, मुफ्त), या निरंतर (30 दिन, भुगतान) बैकअप से।
|
||||
**Global Distribution**: क्रॉस-क्षेत्र प्रतिकृति के लिए Geo-Redundancy को सक्षम या अक्षम करें और बेहतर उपलब्धता के लिए Multi-region Writes।
|
||||
**Networking & Security**: कनेक्टिविटी के लिए सार्वजनिक (सभी/चुनिंदा नेटवर्क) या निजी एंडपॉइंट्स के बीच। TLS 1.2 एन्क्रिप्शन के साथ सुरक्षित कनेक्शन। संसाधनों तक नियंत्रित पहुंच के लिए CORS (Cross-Origin Resource Sharing) का समर्थन करता है। कनेक्शन बनाने के लिए आप कुंजी का उपयोग कर सकते हैं।
|
||||
**Backup & Recovery**: समय-समय पर, निरंतर (7 दिन, मुफ्त), या निरंतर (30 दिन, भुगतान) बैकअप नीतियों से कॉन्फ़िगर करने योग्य अंतराल और संरक्षण के साथ।
|
||||
**Data Encryption**: एन्क्रिप्शन के लिए डिफ़ॉल्ट सेवा-प्रबंधित कुंजी या ग्राहक-प्रबंधित कुंजी (CMK) (CMK चयन अपरिवर्तनीय है)।
|
||||
|
||||
#### Key Features of vCore cluster type
|
||||
**Global Distribution**: उच्च उपलब्धता और फेलओवर समर्थन के लिए दूसरे Azure क्षेत्र में एक पढ़ने की प्रति सक्षम करें। प्रति शार्ड प्रति नाम, क्षेत्र और भंडारण को कॉन्फ़िगर करें।
|
||||
**Networking & Security**: असाइन किए गए सार्वजनिक आईपी के साथ सार्वजनिक पहुंच का समर्थन करता है और निजी पहुंच। फ़ायरवॉल नियमों का उपयोग करके कनेक्शनों को प्रतिबंधित करें—डिफ़ॉल्ट रूप से, कोई सार्वजनिक आईपी की अनुमति नहीं है।
|
||||
**Encrypted Connections**: सुरक्षित डेटा ट्रांसमिशन के लिए TLS एन्क्रिप्शन को लागू करता है।
|
||||
**Global Distribution**: उच्च उपलब्धता और फेलओवर समर्थन के लिए दूसरे Azure क्षेत्र में एक पढ़ने की प्रति सक्षम करें। प्रति शार्ड प्रति नाम, क्षेत्र और भंडारण कॉन्फ़िगर करें।
|
||||
**Networking & Security**: असाइन किए गए सार्वजनिक आईपी के साथ सार्वजनिक पहुंच का समर्थन करता है और निजी पहुंच। फ़ायरवॉल नियमों का उपयोग करके कनेक्शनों को प्रतिबंधित करें—डिफ़ॉल्ट रूप से, कोई सार्वजनिक आईपी की अनुमति नहीं है।
|
||||
**Encrypted Connections**: सुरक्षित डेटा ट्रांसमिशन के लिए TLS एन्क्रिप्शन को लागू करता है।
|
||||
|
||||
|
||||
#### Enumeration
|
||||
|
||||
@@ -229,10 +243,23 @@ az cosmosdb mongodb database list --account-name <AccountName> --resource-group
|
||||
# List all collections in a specific MongoDB database within an Azure Cosmos DB account
|
||||
az cosmosdb mongodb collection list --account-name <AccountName> --database-name <DatabaseName> --resource-group <ResourceGroupName>
|
||||
|
||||
#RBAC FUNCTIONALITIES MUST BE ENABLED TO USE THIS
|
||||
# List all role definitions for MongoDB within an Azure Cosmos DB account
|
||||
az cosmosdb mongodb role definition list --account-name <AccountName> --resource-group <ResourceGroupName>
|
||||
# List all user definitions for MongoDB within an Azure Cosmos DB account
|
||||
az cosmosdb mongodb user definition list --account-name <AccountName> --resource-group <ResourceGroupName>
|
||||
|
||||
## MongoDB (vCore)
|
||||
# Install az cli extension
|
||||
az extension add --name cosmosdb-preview
|
||||
# List all MongoDB databases in a specified Azure Cosmos DB account
|
||||
az cosmosdb mongocluster list
|
||||
az cosmosdb mongocluster show --cluster-name <name> --resource-group <ResourceGroupName>
|
||||
# Get firewall rules
|
||||
az cosmosdb mongocluster firewall rule list --cluster-name <name> --resource-group <ResourceGroupName>
|
||||
# Connect to in
|
||||
brew install mongosh
|
||||
mongosh "mongodb://<username>:<password>@<account-name>.mongo.cosmos.azure.com:10255/?ssl=true&replicaSet=globaldb&retryWrites=false" --username <username> --password <password>
|
||||
```
|
||||
{{#endtab }}
|
||||
|
||||
@@ -273,14 +300,15 @@ Get-AzCosmosDBMongoDBRoleDefinition -AccountName <account-name> -ResourceGroupNa
|
||||
|
||||
#### कनेक्शन
|
||||
|
||||
यहाँ पासवर्ड आप उन्हें कुंजियों के साथ या प्रिवेस्क अनुभाग में वर्णित विधि के साथ पा सकते हैं।
|
||||
RU MongoDB प्रकार में CosmoDB के 2 कुंजी प्रकार हैं, पढ़ने-लिखने (पूर्ण) और केवल पढ़ने। वे Cosmos DB खाते के सभी डेटाबेस, संग्रह और डेटा तक निर्दिष्ट पहुंच प्रदान करते हैं। पासवर्ड के लिए आप कुंजी का उपयोग कर सकते हैं या प्रिवेस्क अनुभाग में वर्णित विधि का उपयोग कर सकते हैं।
|
||||
```python
|
||||
from pymongo import MongoClient
|
||||
|
||||
# Updated connection string with retryWrites=false
|
||||
connection_string = "mongodb://<account-name>.mongo.cosmos.azure.com:10255/?ssl=true&replicaSet=globaldb&retryWrites=false"
|
||||
|
||||
# Create the client
|
||||
# Create the client. The password and username is a custom one if the type is "vCore cluster".
|
||||
# In case that is a Request unit (RU) the username is the account name and the password is the key of the cosomosDB account.
|
||||
client = MongoClient(connection_string, username="<username>", password="<password>")
|
||||
|
||||
# Access the database
|
||||
@@ -306,30 +334,34 @@ document = {
|
||||
result = collection.insert_one(document)
|
||||
print(f"Inserted document with ID: {result.inserted_id}")
|
||||
```
|
||||
## References
|
||||
या mongo के भीतर एक उपयोगकर्ता का उपयोग करके:
|
||||
```bash
|
||||
mongosh "mongodb://<myUser>:<mySecurePassword>@<account_name>.mongo.cosmos.azure.com:10255/<mymongodatabase>?ssl=true&replicaSet=globaldb&retrywrites=false"
|
||||
```
|
||||
## संदर्भ
|
||||
|
||||
- [https://learn.microsoft.com/en-us/azure/cosmos-db/choose-api](https://learn.microsoft.com/en-us/azure/cosmos-db/choose-api)
|
||||
- [https://learn.microsoft.com/en-us/azure/cosmos-db/](https://learn.microsoft.com/en-us/azure/cosmos-db/)
|
||||
- [https://learn.microsoft.com/en-us/azure/cosmos-db/introduction](https://learn.microsoft.com/en-us/azure/cosmos-db/introduction)
|
||||
- [https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/security/how-to-grant-data-plane-role-based-access?tabs=built-in-definition%2Ccsharp&pivots=azure-interface-cli](https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/security/how-to-grant-data-plane-role-based-access?tabs=built-in-definition%2Ccsharp&pivots=azure-interface-cli)
|
||||
|
||||
## Privilege Escalation
|
||||
## विशेषाधिकार वृद्धि
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-cosmosDB-privesc.md
|
||||
{{#endref}}
|
||||
|
||||
## Post Exploitation
|
||||
## पोस्ट एक्सप्लोइटेशन
|
||||
|
||||
{{#ref}}
|
||||
../az-post-exploitation/az-sql-post-exploitation.md
|
||||
{{#endref}}
|
||||
|
||||
## ToDo
|
||||
## करने के लिए
|
||||
|
||||
* यहाँ बाकी DB, टेबल, कैसेंड्रा, ग्रेमलिन...
|
||||
* पोस्ट एक्सप्लोइटेशन "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read" और भूमिका परिभाषाओं पर ध्यान दें क्योंकि यहाँ प्रिवेस्क हो सकता है
|
||||
* रिस्टोर पर ध्यान दें
|
||||
* पोस्ट एक्सप्लोइटेशन "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read" और भूमिका परिभाषाओं पर एक नज़र डालें क्योंकि यहाँ विशेषाधिकार वृद्धि हो सकती है
|
||||
* पुनर्स्थापनों पर एक नज़र डालें
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -6,17 +6,14 @@
|
||||
|
||||
Azure Logic Apps एक क्लाउड-आधारित सेवा है जो Microsoft Azure द्वारा प्रदान की जाती है जो डेवलपर्स को **विभिन्न सेवाओं**, डेटा स्रोतों और अनुप्रयोगों को एकीकृत करने वाले वर्कफ़्लो बनाने और चलाने में सक्षम बनाती है। ये वर्कफ़्लो **व्यापार प्रक्रियाओं को स्वचालित** करने, कार्यों का समन्वय करने और विभिन्न प्लेटफार्मों के बीच डेटा एकीकरण करने के लिए डिज़ाइन किए गए हैं।
|
||||
|
||||
Logic Apps एक दृश्य डिज़ाइनर प्रदान करता है जो **पूर्व-निर्मित कनेक्टर्स की विस्तृत श्रृंखला** के साथ वर्कफ़्लो बनाने की अनुमति देता है, जिससे Office 365, Dynamics CRM, Salesforce और कई अन्य सेवाओं के साथ कनेक्ट करना और बातचीत करना आसान हो जाता है। आप अपनी विशिष्ट आवश्यकताओं के लिए कस्टम कनेक्टर्स भी बना सकते हैं।
|
||||
Logic Apps एक दृश्य डिज़ाइनर प्रदान करता है जिससे **पूर्व-निर्मित कनेक्टर्स की विस्तृत श्रृंखला** के साथ वर्कफ़्लो बनाना आसान हो जाता है, जिससे Office 365, Dynamics CRM, Salesforce, और कई अन्य सेवाओं के साथ कनेक्ट और इंटरैक्ट करना संभव होता है। आप अपनी विशिष्ट आवश्यकताओं के लिए कस्टम कनेक्टर्स भी बना सकते हैं।
|
||||
|
||||
जब आप एक Logic App बनाते हैं, तो आपको या तो एक बाहरी स्टोरेज खाता बनाना होगा या लिंक करना होगा जो वर्कफ़्लो स्थिति, रन इतिहास और कलाकृतियों को संग्रहीत करता है। इस स्टोरेज को निगरानी के लिए डायग्नोस्टिक सेटिंग्स के साथ कॉन्फ़िगर किया जा सकता है और इसे नेटवर्क एक्सेस प्रतिबंधों के साथ सुरक्षित किया जा सकता है या इनबाउंड और आउटबाउंड ट्रैफ़िक को नियंत्रित करने के लिए एक वर्चुअल नेटवर्क में एकीकृत किया जा सकता है।
|
||||
|
||||
### Managed Identities
|
||||
Logic Apps के पास **सिस्टम-निर्धारित प्रबंधित पहचान** होती है जो इसके जीवनचक्र से जुड़ी होती है। जब सक्षम किया जाता है, तो इसे एक अद्वितीय ऑब्जेक्ट (प्रिंसिपल) आईडी मिलती है जिसका उपयोग Azure RBAC के साथ अन्य Azure सेवाओं तक सुरक्षित रूप से पहुँच प्रदान करने के लिए किया जा सकता है। यह कोड में क्रेडेंशियल्स को स्टोर करने की आवश्यकता को समाप्त करता है क्योंकि पहचान Microsoft Entra ID के माध्यम से प्रमाणित होती है। इसके अतिरिक्त, आप **उपयोगकर्ता-निर्धारित प्रबंधित पहचान** का भी उपयोग कर सकते हैं, जिन्हें कई संसाधनों के बीच साझा किया जा सकता है। ये पहचान वर्कफ़्लो और Logic Apps को बाहरी सिस्टम के साथ सुरक्षित रूप से बातचीत करने की अनुमति देती हैं, यह सुनिश्चित करते हुए कि आवश्यक पहुँच नियंत्रण और अनुमतियाँ Azure के सुरक्षा ढांचे के माध्यम से केंद्रीय रूप से प्रबंधित की जाती हैं।
|
||||
जब आप एक Logic App बनाते हैं, तो आपको या तो एक बाहरी स्टोरेज खाता बनाना होगा या लिंक करना होगा जो वर्कफ़्लो स्थिति, रन इतिहास, और कलाकृतियों को संग्रहीत करता है। इस स्टोरेज को निगरानी के लिए डायग्नोस्टिक सेटिंग्स के साथ कॉन्फ़िगर किया जा सकता है और इसे नेटवर्क एक्सेस प्रतिबंधों के साथ सुरक्षित किया जा सकता है या इनबाउंड और आउटबाउंड ट्रैफ़िक को नियंत्रित करने के लिए एक वर्चुअल नेटवर्क में एकीकृत किया जा सकता है।
|
||||
|
||||
### Examples
|
||||
|
||||
- **डेटा पाइपलाइनों का स्वचालन**: Logic Apps **डेटा स्थानांतरण और रूपांतरण प्रक्रियाओं** को Azure Data Factory के साथ मिलकर स्वचालित कर सकता है। यह विभिन्न डेटा स्टोर्स, जैसे Azure SQL Database और Azure Blob Storage के बीच डेटा को स्थानांतरित और रूपांतरित करने के लिए स्केलेबल और विश्वसनीय डेटा पाइपलाइनों को बनाने के लिए उपयोगी है, जो विश्लेषण और व्यावसायिक बुद्धिमत्ता संचालन में मदद करता है।
|
||||
- **Azure Functions के साथ एकीकरण**: Logic Apps Azure Functions के साथ मिलकर **जटिल, इवेंट-चालित अनुप्रयोगों को विकसित करने** के लिए काम कर सकता है जो आवश्यकतानुसार स्केल करते हैं और अन्य Azure सेवाओं के साथ सहजता से एकीकृत होते हैं। एक उदाहरण उपयोग मामला यह है कि एक Logic App का उपयोग कुछ घटनाओं के जवाब में Azure Function को ट्रिगर करने के लिए किया जाता है, जैसे Azure Storage खाते में परिवर्तन, जो गतिशील डेटा प्रसंस्करण की अनुमति देता है।
|
||||
- **Automating Data Pipelines**: Logic Apps **डेटा ट्रांसफर और रूपांतरण प्रक्रियाओं** को Azure Data Factory के साथ मिलकर स्वचालित कर सकते हैं। यह विभिन्न डेटा स्टोर्स, जैसे Azure SQL Database और Azure Blob Storage के बीच डेटा को स्थानांतरित और रूपांतरित करने के लिए स्केलेबल और विश्वसनीय डेटा पाइपलाइनों को बनाने में सहायक है, जो एनालिटिक्स और व्यवसाय बुद्धिमत्ता संचालन में मदद करता है।
|
||||
- **Integrating with Azure Functions**: Logic Apps Azure Functions के साथ मिलकर **जटिल, इवेंट-चालित अनुप्रयोगों को विकसित करने** में सक्षम हैं जो आवश्यकतानुसार स्केल करते हैं और अन्य Azure सेवाओं के साथ सहजता से एकीकृत होते हैं। एक उदाहरण उपयोग मामला यह है कि एक Logic App का उपयोग कुछ घटनाओं के जवाब में Azure Function को ट्रिगर करने के लिए किया जाता है, जैसे Azure Storage खाते में परिवर्तन, जो गतिशील डेटा प्रोसेसिंग की अनुमति देता है।
|
||||
|
||||
### Visualize a LogicAPP
|
||||
|
||||
@@ -28,7 +25,7 @@ Logic Apps के पास **सिस्टम-निर्धारित प
|
||||
|
||||
### SSRF Protection
|
||||
|
||||
यहां तक कि अगर आप **Logic App को SSRF के लिए संवेदनशील** पाते हैं, तो आप मेटाडेटा से क्रेडेंशियल्स तक पहुँच नहीं पाएंगे क्योंकि Logic Apps ऐसा करने की अनुमति नहीं देता है।
|
||||
यहां तक कि यदि आप **Logic App को SSRF के लिए संवेदनशील** पाते हैं, तो आप मेटाडेटा से क्रेडेंशियल्स तक पहुंच नहीं पाएंगे क्योंकि Logic Apps इसकी अनुमति नहीं देता है।
|
||||
|
||||
उदाहरण के लिए, ऐसा कुछ टोकन नहीं लौटाएगा:
|
||||
```bash
|
||||
@@ -40,15 +37,66 @@ curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e9741
|
||||
There are several hosting options:
|
||||
|
||||
* **Consumption**
|
||||
- **Multi-tenant**: साझा कंप्यूट संसाधनों को प्रदान करता है, सार्वजनिक क्लाउड में कार्य करता है, और प्रति ऑपरेशन मूल्य निर्धारण मॉडल का पालन करता है। यह हल्के और लागत-कुशल कार्यभार के लिए आदर्श है।
|
||||
- **Multi-tenant**: साझा कंप्यूट संसाधनों को प्रदान करता है, सार्वजनिक क्लाउड में कार्य करता है, और प्रति ऑपरेशन मूल्य निर्धारण मॉडल का पालन करता है। यह हल्के और लागत-कुशल कार्यभार के लिए आदर्श है। यह "Single Workflow" को तैनात करता है।
|
||||
* **Standard**
|
||||
- **Workflow Service Plan**: नेटवर्किंग के लिए VNET एकीकरण के साथ समर्पित कंप्यूट संसाधन और प्रति वर्कफ़्लो सेवा योजना उदाहरण के लिए चार्ज करता है। यह अधिक मांग वाले कार्यभार के लिए उपयुक्त है जो अधिक नियंत्रण की आवश्यकता होती है।
|
||||
- **App Service Environment V3** समर्पित कंप्यूट संसाधन पूर्ण अलगाव और स्केलेबिलिटी के साथ। यह नेटवर्किंग के लिए VNET के साथ भी एकीकृत होता है और वातावरण के भीतर App Service उदाहरणों के आधार पर मूल्य निर्धारण मॉडल का उपयोग करता है। यह उच्च अलगाव की आवश्यकता वाले उद्यम-स्तरीय अनुप्रयोगों के लिए आदर्श है।
|
||||
- **Hybrid** स्थानीय प्रसंस्करण और मल्टी-क्लाउड समर्थन के लिए डिज़ाइन किया गया है। यह स्थानीय नेटवर्क एक्सेस के साथ ग्राहक-प्रबंधित कंप्यूट संसाधनों की अनुमति देता है और Kubernetes Event-Driven Autoscaling (KEDA) का उपयोग करता है।
|
||||
- **Workflow Service Plan**: नेटवर्किंग के लिए VNET एकीकरण के साथ समर्पित कंप्यूट संसाधन और प्रति वर्कफ़्लो सेवा योजना उदाहरण के लिए शुल्क। यह अधिक मांग वाले कार्यभार के लिए उपयुक्त है जो अधिक नियंत्रण की आवश्यकता होती है।
|
||||
- **App Service Environment V3** समर्पित कंप्यूट संसाधन पूर्ण अलगाव और स्केलेबिलिटी के साथ। यह नेटवर्किंग के लिए VNET के साथ भी एकीकृत होता है और वातावरण के भीतर App Service उदाहरणों के आधार पर मूल्य निर्धारण मॉडल का उपयोग करता है।
|
||||
- **Hybrid** स्थानीय प्रसंस्करण और मल्टी-क्लाउड समर्थन के लिए डिज़ाइन किया गया। यह स्थानीय नेटवर्क एक्सेस के साथ ग्राहक-प्रबंधित कंप्यूट संसाधनों की अनुमति देता है और Kubernetes Event-Driven Autoscaling (KEDA) का उपयोग करता है। यह एक Container App Connected Environment पर निर्भर करता है।
|
||||
|
||||
### Workflows
|
||||
### Key Features
|
||||
- **Storage**: Logic Apps को वर्कफ़्लो स्थिति, रन इतिहास… को स्टोर करने के लिए एक बाहरी Azure Storage खाता की आवश्यकता होती है और इसे Logic App के समान संसाधन समूह में होना चाहिए।
|
||||
- **Networking & Security**: Logic Apps को सार्वजनिक या निजी पहुंच के साथ कॉन्फ़िगर किया जा सकता है। डिफ़ॉल्ट रूप से, ऐप इंटरनेट के लिए खुला है लेकिन इसे अलग कनेक्टिविटी के लिए Azure वर्चुअल नेटवर्क के साथ एकीकृत किया जा सकता है।
|
||||
- **Application Insights**: प्रदर्शन, विसंगतियों का पता लगाने और विश्लेषण प्रदान करने के लिए Azure Monitor Application Insights के माध्यम से एप्लिकेशन प्रदर्शन प्रबंधन (APM) सक्षम किया जा सकता है।
|
||||
- **Access Control**: Logic apps सिस्टम प्रबंधित पहचान और उपयोगकर्ता प्रबंधित पहचान का समर्थन करते हैं।
|
||||
|
||||
Workflows in Azure Logic Apps are the core automated processes that orchestrate actions across various services. A workflow starts with a trigger—an event or schedule—and then executes a series of actions, such as calling APIs, processing data, or interacting with other Azure services. Workflows can be defined visually using a designer or via code (JSON definitions) and are managed through commands like az logic workflow create, az logic workflow show, and az logic workflow update. They also support identity management (via the identity subgroup) to securely manage permissions and integrations with external resources.
|
||||
### "Single" Workflows
|
||||
|
||||
A **workflow** एक संरचित स्वचालित कदमों या कार्यों की अनुक्रम है जो एक विशिष्ट प्रक्रिया या उद्देश्य को निष्पादित करती है। यह परिभाषित करता है कि विभिन्न क्रियाएँ, स्थितियाँ, और निर्णय कैसे बातचीत करते हैं ताकि एक इच्छित परिणाम प्राप्त किया जा सके, संचालन को सुव्यवस्थित करते हुए और मैनुअल प्रयास को कम करते हुए। वर्कफ़्लो कई सिस्टमों को एकीकृत कर सकते हैं, घटनाओं और नियमों को ट्रिगर कर सकते हैं, प्रक्रियाओं में स्थिरता और दक्षता सुनिश्चित कर सकते हैं।
|
||||
|
||||
Azure Logic apps **Logic App** की आवश्यकता के बिना **एकल वर्कफ़्लो बनाने** की कार्यक्षमता प्रदान करता है।
|
||||
|
||||
प्रत्येक वर्कफ़्लो के विभिन्न **triggers** होते हैं। ये ट्रिगर्स वे कदम हैं जिनका पालन वर्कफ़्लो करता है। प्रत्येक ट्रिगर के अपने पैरामीटर होते हैं जो ट्रिगर के प्रकार के आधार पर भिन्न हो सकते हैं:
|
||||
- कनेक्शन नाम
|
||||
- **Authentication Type** जो हो सकता है, Access Key, Microsoft Entra ID, Integrated Service principal authentication और Logic Apps Managed Identity।
|
||||
|
||||
Triggers के पास विभिन्न सेटिंग्स भी होती हैं:
|
||||
- Schema Validation: सुनिश्चित करता है कि आने वाले डेटा एक पूर्व निर्धारित संरचना का पालन करता है।
|
||||
- Concurrency Control: समानांतर रन की संख्या को सीमित करता है।
|
||||
- Trigger Conditions: वे स्थितियाँ जो ट्रिगर के सक्रिय होने से पहले पूरी होनी चाहिए।
|
||||
- Networking: डेटा ट्रांसफर के लिए चंक आकार कॉन्फ़िगर करता है और प्रतिक्रियाओं में वर्कफ़्लो हेडर को दबाने की अनुमति देता है।
|
||||
- **Security**: संवेदनशील डेटा को लॉग और आउटपुट में छिपाने के लिए **Secure Inputs/Outputs** सक्षम करता है।
|
||||
|
||||
**Settings & API Connections:**
|
||||
|
||||
एक वर्कफ़्लो में विभिन्न सेटिंग्स होती हैं जैसे:
|
||||
- Allowed inbound IP addresses: यह सेटिंग आपको यह सीमित करने देती है कि कौन आपके Logic App को ट्रिगर या प्रारंभ कर सकता है। विकल्प हैं Any IP, केवल अन्य Logic Apps और विशिष्ट IP रेंज।
|
||||
- Integration account: यहाँ, आप अपने Logic App को एक Integration Account से लिंक कर सकते हैं।
|
||||
- High throughput: यह सेटिंग आपके Logic App को तेजी से अधिक अनुरोधों को संभालने में सक्षम बनाती है।
|
||||
- Run history retention: आपके Logic App के निष्पादन का इतिहास कितने समय तक रखा जाता है।
|
||||
|
||||
आप देख सकते हैं कि वर्कफ़्लो के पास विभिन्न API कनेक्शन हैं। इन कनेक्शनों के भीतर उनके पास विभिन्न गुण होते हैं और API कनेक्शन को संपादित करने की संभावना होती है जहाँ Authentication type को बदला जा सकता है।
|
||||
|
||||
**History & Versions:**
|
||||
यह विभिन्न निष्पादनों का **history** देखने का विकल्प प्रदान करता है, यह सेटिंग्स, आउटपुट, पैरामीटर और कोड दिखाता है।
|
||||
|
||||
यह वर्कफ़्लो के विभिन्न **versions** तक पहुँचने का विकल्प भी प्रदान करता है, जहाँ आप कोड की जांच कर सकते हैं और वर्तमान वर्कफ़्लो को इसके पुराने संस्करण के साथ बदल सकते हैं।
|
||||
|
||||
**Authorization:**
|
||||
Azure Logic Apps **authorization policies** का समर्थन करता है Entra ID के साथ अनुरोध-आधारित ट्रिगर्स को सुरक्षित करने के लिए एक मान्य एक्सेस टोकन की आवश्यकता होती है। इस टोकन में विशिष्ट दावे शामिल होने चाहिए:
|
||||
- Issuer (iss) पहचान प्रदाता की पहचान की पुष्टि करने के लिए
|
||||
- Audience (aud) यह सुनिश्चित करने के लिए कि टोकन Logic App के लिए अभिप्रेत है
|
||||
- Subject (sub) कॉलर की पहचान करने के लिए
|
||||
- JWT ID (JSON Web Token identifier)
|
||||
- Custom Claim
|
||||
|
||||
जब एक अनुरोध प्राप्त होता है, Logic Apps इन दावों के खिलाफ टोकन को मान्य करता है और केवल तभी निष्पादन की अनुमति देता है यदि वे कॉन्फ़िगर की गई नीति से मेल खाते हैं। इसका उपयोग किसी अन्य टेनेट को वर्कफ़्लो को ट्रिगर करने की अनुमति देने या अन्य स्रोतों से ट्रिगर को अस्वीकार करने के लिए किया जा सकता है, उदाहरण के लिए केवल ट्रिगर की अनुमति देना यदि यह https://login.microsoftonline.com/ से आता है।
|
||||
|
||||
**Access Keys:**
|
||||
जब आप पहली बार अनुरोध-आधारित ट्रिगर को सहेजते हैं, Logic Apps स्वचालित रूप से एक अद्वितीय एंडपॉइंट बनाता है जिसमें एक SAS हस्ताक्षर (Access Key से बनाया गया) होता है जो वर्कफ़्लो को कॉल करने की अनुमति देता है। यह SAS हस्ताक्षर ट्रिगर के URL में एम्बेडेड होता है। इस कुंजी को फिर से उत्पन्न किया जा सकता है और यह नया SAS हस्ताक्षर देगी, लेकिन कुंजी को सूचीबद्ध नहीं किया जा सकता है।
|
||||
|
||||
Access Key के साथ इसे सक्रिय करने के लिए URL:
|
||||
|
||||
https://<region>.logic.azure.com:443/workflows/<workflow-id>/triggers/<trigger-name>/paths/invoke?api-version=<api-version>&sp=%2Ftriggers%2F<trigger-name>%2Frun&sv=<version>&sig=<signature>
|
||||
|
||||
### Enumeration
|
||||
|
||||
@@ -102,11 +150,6 @@ az rest \
|
||||
--uri "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionName}?api-version=2016-06-01" \
|
||||
--headers "Content-Type=application/json"
|
||||
|
||||
az rest \
|
||||
--method GET \
|
||||
--uri "https://examplelogicapp1994.scm.azurewebsites.net/api/functions/admin/download?includeCsproj=true&includeAppSettings=true" \
|
||||
--headers "Content-Type=application/json"
|
||||
|
||||
# List all Logic Apps in the specified resource group
|
||||
az logicapp list --resource-group <ResourceGroupName>
|
||||
|
||||
@@ -115,6 +158,20 @@ az logicapp show --name <LogicAppName> --resource-group <ResourceGroupName>
|
||||
|
||||
# List all application settings for a specific Logic App
|
||||
az logicapp config appsettings list --name <LogicAppName> --resource-group <ResourceGroupName>
|
||||
|
||||
# Get a Parameters from an Azure App Service using Azure REST API
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/sites/{app-service-name}/hostruntime/admin/vfs/parameters.json?api-version=2018-11-01&relativepath=1"
|
||||
|
||||
# Get webhook-triggered workflows from an Azure Logic App using Azure REST API
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/sites/{logic-app-name}/hostruntime/runtime/webhooks/workflow/api/management/workflows?api-version=2018-11-01"
|
||||
|
||||
# Get workflows from an Azure Logic App using Azure REST API
|
||||
az rest --method GET --url "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/sites/{logic-app-name}/workflows?api-version=2018-11-01"
|
||||
|
||||
# Get details of a specific workflow including its connections and parameters in Azure Logic Apps using Azure REST API
|
||||
az rest --method GET --uri "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/sites/{logic-app-name}/workflows/{workflow-name}?api-version=2018-11-01&\$expand=connections.json,parameters.json"
|
||||
|
||||
|
||||
```
|
||||
{{#endtab }}
|
||||
|
||||
@@ -151,11 +208,11 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
|
||||
|
||||
* Schemas: अपने एकीकरण खाते में संदेशों को मान्य और संसाधित करने के लिए XML स्कीमा प्रबंधित करें।
|
||||
* Maps: अपने एकीकरण कार्यप्रवाह के भीतर डेटा प्रारूपों को परिवर्तित करने के लिए XSLT-आधारित रूपांतरण कॉन्फ़िगर करें।
|
||||
* Assemblies: लॉजिक और डेटा प्रोसेसिंग को सरल बनाने के लिए एकीकरण खाता असेंबली प्रबंधित करें।
|
||||
* Assemblies: लॉजिक और डेटा प्रसंस्करण को सरल बनाने के लिए एकीकरण खाता असेंबली प्रबंधित करें।
|
||||
* Certificates: संदेशों को एन्क्रिप्ट और साइन करने के लिए प्रमाणपत्रों को संभालें, सुरक्षित संचार सुनिश्चित करें।
|
||||
* Partners: B2B लेनदेन के लिए व्यापार भागीदार की जानकारी प्रबंधित करें, निर्बाध एकीकरण सक्षम करें।
|
||||
* Agreements: व्यापार भागीदारों के साथ डेटा का आदान-प्रदान करने के लिए नियम और सेटिंग्स कॉन्फ़िगर करें (जैसे, EDI, AS2)।
|
||||
* Batch Configurations: संदेशों को कुशलतापूर्वक समूहित और संसाधित करने के लिए बैच प्रोसेसिंग कॉन्फ़िगरेशन प्रबंधित करें।
|
||||
* Batch Configurations: संदेशों को कुशलतापूर्वक समूहित और संसाधित करने के लिए बैच प्रसंस्करण कॉन्फ़िगरेशन प्रबंधित करें।
|
||||
* RosettaNet PIP: B2B संचार को मानकीकरण के लिए RosettaNet Partner Interface Processes (PIPs) कॉन्फ़िगर करें।
|
||||
|
||||
#### Enumeration
|
||||
|
||||
Reference in New Issue
Block a user