mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-05 11:26:11 -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>"
|
||||
```
|
||||
Ayrıca sadece `Microsoft.Logic/workflows/write` ile İzin verilen gelen IP adresleri veya Çalıştırma geçmişi saklama günleri gibi bazı yapılandırmaları değiştirebilirsiniz:
|
||||
```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`
|
||||
Bu izinlerle, bir App Service Plan üzerinde barındırılan Logic Apps'i oluşturabilir veya güncelleyebilirsiniz. Bu, HTTPS zorlamasını etkinleştirme veya devre dışı bırakma gibi ayarları değiştirmeyi içerir.
|
||||
```bash
|
||||
@@ -27,7 +66,7 @@ az logicapp update \
|
||||
--set httpsOnly=false
|
||||
```
|
||||
### `Microsoft.Web/sites/stop/action`, `Microsoft.Web/sites/start/action` || `Microsoft.Web/sites/restart/action`
|
||||
Bu izinle, bir web uygulamasını, bir App Service Plan üzerinde barındırılan Logic Apps dahil olmak üzere, başlatabilir/durdurabilir/yeniden başlatabilirsiniz. Bu eylem, daha önce durdurulmuş bir uygulamanın çevrimiçi hale getirilmesini ve işlevselliğini yeniden kazanmasını sağlar. Bu, iş akışlarını kesintiye uğratabilir, istenmeyen işlemleri tetikleyebilir veya Logic Apps'i beklenmedik bir şekilde başlatarak, durdurarak veya yeniden başlatarak kesinti yaratabilir.
|
||||
Bu izinle, bir web uygulamasını, App Service Plan üzerinde barındırılan Logic Apps dahil olmak üzere, başlatabilir/durdurabilir/yeniden başlatabilirsiniz. Bu eylem, daha önce durdurulmuş bir uygulamanın çevrimiçi hale getirilmesini ve işlevselliğine devam etmesini sağlar. Bu, iş akışlarını kesintiye uğratabilir, istenmeyen işlemleri tetikleyebilir veya Logic Apps'i beklenmedik bir şekilde başlatarak, durdurarak veya yeniden başlatarak kesinti yaratabilir.
|
||||
```bash
|
||||
az webapp start/stop/restart \
|
||||
--name <logic_app_name> \
|
||||
@@ -35,7 +74,7 @@ az webapp start/stop/restart \
|
||||
```
|
||||
### `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/read` && `Microsoft.Web/sites/config/write`
|
||||
|
||||
Bu izinle, bir App Service Plan üzerinde barındırılan Logic Apps dahil olmak üzere web uygulamaları için ayarları yapılandırabilir veya değiştirebilirsiniz. Bu, uygulama ayarları, bağlantı dizeleri, kimlik doğrulama yapılandırmaları ve daha fazlasında değişiklik yapılmasına olanak tanır.
|
||||
Bu izinle, App Service Plan üzerinde barındırılan Logic Apps dahil olmak üzere web uygulamaları için ayarları yapılandırabilir veya değiştirebilirsiniz. Bu, uygulama ayarları, bağlantı dizeleri, kimlik doğrulama yapılandırmaları ve daha fazlasında değişiklik yapmanıza olanak tanır.
|
||||
```bash
|
||||
az logicapp config appsettings set \
|
||||
--name <logic_app_name> \
|
||||
@@ -111,9 +150,19 @@ az logic integration-account session create \
|
||||
}
|
||||
}
|
||||
}'
|
||||
```
|
||||
### `Microsoft.Logic/workflows/regenerateAccessKey/action`
|
||||
|
||||
Bu izne sahip kullanıcılar, Logic App erişim anahtarlarını yeniden oluşturabilir ve kötüye kullanılması durumunda hizmet kesintilerine yol açabilir.
|
||||
```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"
|
||||
Bu izinlerle Azure Logic Apps ile ilgili kaynakları silebilirsiniz.
|
||||
Bu izinlerle Azure Logic Apps ile ilgili kaynakları silebilirsiniz
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -32,8 +32,67 @@ az rest \
|
||||
--body '{}' \
|
||||
--headers "Content-Type=application/json"
|
||||
```
|
||||
Ayrıca sadece `Microsoft.Logic/workflows/write` ile Yetkilendirme Politikasını değiştirebilir, örneğin başka bir kiracıya iş akışını tetikleme yetkisi verebilirsiniz:
|
||||
```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`
|
||||
Tetikleyicinin geri çağırma URL'sini alabilir ve çalıştırabilirsiniz.
|
||||
```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"
|
||||
```
|
||||
Bu, `https://prod-28.centralus.logic.azure.com:443/workflows/....` gibi bir geri çağırma URL'si döndürecektir. Şimdi bunu çalıştırabiliriz:
|
||||
```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`)
|
||||
Bu izinlerle, ZIP dosyası dağıtımları kullanarak Logic App iş akışları dağıtabilirsiniz. Bu izinler, uygulama ayrıntılarını okuma, yayınlama kimlik bilgilerine erişme, değişiklik yapma ve uygulama yapılandırmalarını listeleme gibi eylemleri etkinleştirir. Başlatma izinleriyle birlikte, istenen içerikle yeni bir Logic App'ı güncelleyebilir ve dağıtabilirsiniz.
|
||||
Bu izinlerle, ZIP dosyası dağıtımları kullanarak Logic App iş akışlarını dağıtabilirsiniz. Bu izinler, uygulama ayrıntılarını okuma, yayınlama kimlik bilgilerine erişme, değişiklikleri yazma ve uygulama yapılandırmalarını listeleme gibi eylemleri etkinleştirir. Başlatma izinleriyle birlikte, istenen içerikle yeni bir Logic App'ı güncelleyebilir ve dağıtabilirsiniz.
|
||||
```bash
|
||||
az logicapp deployment source config-zip \
|
||||
--name <logic_app_name> \
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
Azure Cosmos DB, belgeler, ilişkisel, anahtar-değer, grafik ve sütun ailesi veri modellerini kullanarak gerçek dünya verilerini modellemek için birden fazla veritabanı API'si sağlar; bu API'ler NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin ve Table'dır.
|
||||
|
||||
CosmosDB'nin önemli bir yönü Azure Cosmos Hesabı'dır. **Azure Cosmos Hesabı**, veritabanlarına giriş noktası olarak işlev görür. Hesap, küresel dağıtım, tutarlılık seviyeleri ve kullanılacak belirli API gibi ana ayarları belirler; örneğin NoSQL. Hesap aracılığıyla, verilerin düşük gecikme süresi ile birden fazla bölgede erişilebilir olmasını sağlamak için küresel çoğaltmayı yapılandırabilirsiniz. Ayrıca, performans ve veri doğruluğu arasında denge sağlayan bir tutarlılık seviyesi seçebilirsiniz; bu seçenekler Güçlü'den Nihai tutarlılığa kadar değişir.
|
||||
CosmosDB'nin önemli bir yönü Azure Cosmos Hesabı'dır. **Azure Cosmos Hesabı**, veritabanlarına giriş noktası olarak işlev görür. Hesap, küresel dağıtım, tutarlılık seviyeleri ve kullanılacak belirli API gibi ana ayarları belirler; örneğin NoSQL. Hesap aracılığıyla, verilerin düşük gecikme süresi ile birden fazla bölgede erişilebilir olmasını sağlamak için küresel çoğaltmayı yapılandırabilirsiniz. Ayrıca, performans ve veri doğruluğu arasında denge sağlayan bir tutarlılık seviyesi seçebilirsiniz; seçenekler Güçlü'den Nihai tutarlılığa kadar değişir.
|
||||
|
||||
Azure Cosmos DB, diğer hizmetlere bağlanırken güvenli, token tabanlı kimlik doğrulama sağlamak için otomatik olarak oluşturulan ve kaynağın yaşam döngüsüne bağlı olan **kullanıcı atamalı kimlikler** ve **sistem atamalı yönetilen kimlikler** destekler—şartıyla bu hizmetlerin uygun rol atamalarına sahip olması gerekir. Ancak, Cosmos DB'nin Azure Blob Storage gibi harici veri kaynaklarını doğrudan sorgulamak için yerleşik bir mekanizması yoktur. SQL Server'ın harici tablo özelliklerinin aksine, Cosmos DB'nin yerel sorgulama yetenekleriyle sorgulanabilmesi için verilerin, Azure Data Factory, Veri Göç Aracı veya özel betikler gibi harici araçlar kullanılarak konteynerlerine alınması gerekir.
|
||||
Azure Cosmos DB, otomatik olarak oluşturulan ve kaynağın yaşam döngüsüne bağlı olan **kullanıcı atanan kimlikler** ve **sistem atanan yönetilen kimlikler** destekler. Ancak, Cosmos DB'nin Azure Blob Storage gibi harici veri kaynaklarını doğrudan sorgulamak için yerleşik bir mekanizması yoktur. SQL Server'ın harici tablo özelliklerinin aksine, Cosmos DB'nin yerel sorgulama yetenekleri ile sorgulanmadan önce verilerin Azure Data Factory, Veri Göç Aracı veya özel betikler gibi harici araçlar kullanılarak konteynerlerine alınması gerekir.
|
||||
|
||||
### NoSQL
|
||||
Azure Cosmos DB NoSQL API'si, veri formatı olarak JSON kullanan belge tabanlı bir API'dir. JSON nesnelerini sorgulamak için SQL benzeri bir sorgu sözdizimi sağlar, bu da yapılandırılmış ve yarı yapılandırılmış verilerle çalışmak için uygun hale getirir. Servisin uç noktası:
|
||||
@@ -18,16 +18,16 @@ Azure Cosmos DB NoSQL API'si, veri formatı olarak JSON kullanan belge tabanlı
|
||||
https://<Account-Name>.documents.azure.com:443/
|
||||
```
|
||||
#### Veritabanları
|
||||
Bir hesap içinde, konteynerlerin mantıksal grupları olarak hizmet eden bir veya daha fazla veritabanı oluşturabilirsiniz. Bir veritabanı, kaynak yönetimi ve kullanıcı izinleri için bir sınır görevi görür. Veritabanları, konteynerleri arasında tahsis edilmiş verimliliği paylaşabilir veya bireysel konteynerlere özel verimlilik tahsis edebilir.
|
||||
Bir hesap içinde, konteynerlerin mantıksal grupları olarak hizmet eden bir veya daha fazla veritabanı oluşturabilirsiniz. Bir veritabanı, kaynak yönetimi ve kullanıcı izinleri için bir sınır görevi görür. Veritabanları, birden fazla konteynerin paylaşılan bir performans kapasitesini kullanmasına izin verebilir veya her konteynerin kendi özel gücüne sahip olmasını sağlayabilir.
|
||||
|
||||
#### Konteynerler
|
||||
Veri depolamanın temel birimi konteynerdir; JSON belgelerini tutar ve verimli sorgulama için otomatik olarak dizinlenir. Konteynerler elastik olarak ölçeklenebilir ve kullanıcı tanımlı bir bölüm anahtarı tarafından belirlenen bölümlere dağıtılır. Bölüm anahtarı, optimal performans ve eşit veri dağılımını sağlamak için kritik öneme sahiptir. Örneğin, bir konteyner müşteri verilerini depolayabilir ve "customerId" bölüm anahtarı olarak kullanılabilir.
|
||||
Veri depolamanın temel birimi konteynerdir; JSON belgelerini tutar ve verimli sorgulama için otomatik olarak indekslenir. Konteynerler elastik olarak ölçeklenebilir ve kullanıcı tanımlı bir bölüm anahtarı tarafından belirlenen bölümlere dağıtılır. Bölüm anahtarı, optimal performans ve dengeli veri dağılımını sağlamak için kritik öneme sahiptir. Örneğin, bir konteyner müşteri verilerini depolayabilir ve "customerId" bölüm anahtarı olarak kullanılabilir.
|
||||
|
||||
#### Ana Özellikler
|
||||
**Küresel Dağıtım**: Bölge çapında çoğaltma için Coğrafi Yedekliliği etkinleştirin veya devre dışı bırakın ve iyileştirilmiş kullanılabilirlik için Çoklu Bölge Yazmaları.
|
||||
**Ağ ve Güvenlik**: bağlantı için genel (tüm/seçili ağlar) veya özel uç noktalar arasında. TLS 1.2 şifrelemesi ile güvenli bağlantılar. Kaynaklara kontrollü erişim için CORS (Cross-Origin Resource Sharing) destekler.
|
||||
**Yedekleme ve Kurtarma**: Yapılandırılabilir aralıklar ve saklama süreleri ile Periyodik, Sürekli (7 gün) veya Sürekli (30 gün) yedekleme politikaları.
|
||||
**Veri Şifreleme**: Şifreleme için varsayılan hizmet yönetimli anahtarlar veya müşteri yönetimli anahtarlar (CMK) (CMK seçimi geri alınamaz).
|
||||
- **Küresel Dağıtım**: Bölge çapında çoğaltma için Coğrafi Yedekliliği etkinleştirin veya devre dışı bırakın ve iyileştirilmiş kullanılabilirlik için Çoklu Bölge Yazmaları.
|
||||
- **Ağ ve Güvenlik**: bağlantı için genel (tüm/seçili ağlar) veya özel uç noktalar arasında. TLS 1.2 şifrelemesi ile güvenli bağlantılar. Kaynaklara kontrollü erişim için CORS (Cross-Origin Resource Sharing) destekler. Microsoft Defender for Cloud etkinleştirilebilir. Bağlantıyı sağlamak için anahtarları kullanabilirsiniz.
|
||||
- **Yedekleme ve Kurtarma**: Yapılandırılabilir aralıklar ve saklama süreleri ile Periyodik, Sürekli (7 gün) veya Sürekli (30 gün) yedekleme politikaları.
|
||||
- **Veri Şifreleme**: Şifreleme için varsayılan hizmet yönetimli anahtarlar veya müşteri yönetimli anahtarlar (CMK) (CMK seçimi geri alınamaz).
|
||||
|
||||
#### Sayım
|
||||
|
||||
@@ -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
|
||||
|
||||
#### Bağlantı
|
||||
|
||||
azure-cosmosDB'ye bağlanmak için (pip install azure-cosmos) kütüphanesi gereklidir. Ayrıca, bağlantıyı sağlamak için uç nokta ve anahtar kritik bileşenlerdir.
|
||||
İki anahtar türü vardır, Okuma-yazma (tam) ve Sadece okuma. Bu, belirtilen erişimi tüm veritabanlarına, koleksiyonlara ve Cosmos DB hesabındaki verilere verir. Azure-cosmosDB'ye bağlanmak için (pip install azure-cosmos) kütüphanesi gereklidir. Ayrıca, bağlantıyı sağlamak için uç nokta ve anahtar kritik bileşenlerdir.
|
||||
```python
|
||||
from azure.cosmos import CosmosClient, PartitionKey
|
||||
|
||||
@@ -195,8 +208,8 @@ MongoDB'deki veri depolamanın temel birimi koleksiyondur; belgeleri tutar ve ve
|
||||
|
||||
#### İstek birimi (RU) türünün Ana Özellikleri
|
||||
**Küresel Dağıtım**: Bölge çapında çoğaltma için Coğrafi Yedekliliği etkinleştirin veya devre dışı bırakın ve iyileştirilmiş kullanılabilirlik için Çoklu Bölge Yazmaları etkinleştirin.
|
||||
**Ağ ve Güvenlik**: Bağlantı için genel (tüm/seçili ağlar) veya özel uç noktalar arasında. TLS 1.2 şifrelemesi ile güvenli bağlantılar. Kaynaklara kontrollü erişim için CORS (Cross-Origin Resource Sharing) destekler.
|
||||
**Yedekleme ve Kurtarma**: Yapılandırılabilir aralıklar ve saklama süreleri ile Periyodik, Sürekli (7 gün, ücretsiz) veya Sürekli (30 gün, ücretli) yedekleme politikalarından.
|
||||
**Ağ ve Güvenlik**: bağlantı için genel (tüm/seçili ağlar) veya özel uç noktalar arasında. TLS 1.2 şifrelemesi ile güvenli bağlantılar. Kaynaklara kontrollü erişim için CORS (Cross-Origin Resource Sharing) destekler. Bağlantıyı sağlamak için anahtarları kullanabilirsiniz.
|
||||
**Yedekleme ve Kurtarma**: Yapılandırılabilir aralıklar ve saklama süreleri ile Periyodik, Sürekli (7 gün, ücretsiz) veya Sürekli (30 gün, ücretli) yedekleme politikaları.
|
||||
**Veri Şifreleme**: Şifreleme için varsayılan hizmet yönetimli anahtarlar veya müşteri yönetimli anahtarlar (CMK) (CMK seçimi geri alınamaz).
|
||||
|
||||
#### vCore küme türünün Ana Özellikleri
|
||||
@@ -229,10 +242,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 +299,16 @@ Get-AzCosmosDBMongoDBRoleDefinition -AccountName <account-name> -ResourceGroupNa
|
||||
|
||||
#### Bağlantı
|
||||
|
||||
Burada şifreyi anahtarlarla veya privesc bölümünde açıklanan yöntemle bulabilirsiniz.
|
||||
RU MongoDB türü CosmoDB'de 2 anahtar türüne sahiptir: Okuma-yazma (tam) ve Sadece okuma. Bu, belirtilen erişimi tüm veritabanlarına, koleksiyonlara ve Cosmos DB hesabındaki verilere verir.
|
||||
Şifre için anahtarları kullanabilir veya privesc bölümünde açıklanan yöntemle kullanabilirsiniz.
|
||||
```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,6 +334,10 @@ document = {
|
||||
result = collection.insert_one(document)
|
||||
print(f"Inserted document with ID: {result.inserted_id}")
|
||||
```
|
||||
mongo içindeki bir kullanıcı kullanarak:
|
||||
```bash
|
||||
mongosh "mongodb://<myUser>:<mySecurePassword>@<account_name>.mongo.cosmos.azure.com:10255/<mymongodatabase>?ssl=true&replicaSet=globaldb&retrywrites=false"
|
||||
```
|
||||
## Referanslar
|
||||
|
||||
- [https://learn.microsoft.com/en-us/azure/cosmos-db/choose-api](https://learn.microsoft.com/en-us/azure/cosmos-db/choose-api)
|
||||
|
||||
@@ -8,15 +8,12 @@ Azure Logic Apps, Microsoft Azure tarafından sağlanan bulut tabanlı bir hizme
|
||||
|
||||
Logic Apps, **önceden oluşturulmuş geniş bir bağlantı yelpazesi** ile iş akışları oluşturmak için görsel bir tasarımcı sunar; bu da Office 365, Dynamics CRM, Salesforce ve daha birçok hizmetle kolayca bağlantı kurmayı ve etkileşimde bulunmayı sağlar. Ayrıca, özel ihtiyaçlarınız için özel bağlantılar da oluşturabilirsiniz.
|
||||
|
||||
Bir Logic App oluştururken, iş akışının durumu, çalışma geçmişi ve nesneleri depolayan bir dış depolama hesabı oluşturmanız veya bağlamanız gerekir. Bu depolama, izleme için tanılama ayarları ile yapılandırılabilir ve ağ erişim kısıtlamaları ile güvence altına alınabilir veya gelen ve giden trafiği kontrol etmek için sanal bir ağa entegre edilebilir.
|
||||
|
||||
### Yönetilen Kimlikler
|
||||
Logic Apps, yaşam döngüsüne bağlı **sistem atanan yönetilen kimlik** ile birlikte gelir. Etkinleştirildiğinde, diğer Azure hizmetlerine güvenli bir şekilde erişim sağlamak için gerekli izinleri vermek amacıyla Azure RBAC ile kullanılabilecek benzersiz bir Nesne (prensip) Kimliği alır. Bu, kimliğin Microsoft Entra ID aracılığıyla kimlik doğrulaması yapıldığı için kodda kimlik bilgilerini depolama ihtiyacını ortadan kaldırır. Ayrıca, birden fazla kaynak arasında paylaşılabilen **kullanıcı atanan yönetilen kimlikler** de kullanabilirsiniz. Bu kimlikler, iş akışlarının ve Logic Apps'in dış sistemlerle güvenli bir şekilde etkileşimde bulunmasını sağlar ve gerekli erişim kontrollerinin ve izinlerin Azure'un güvenlik çerçevesi aracılığıyla merkezi olarak yönetilmesini garanti eder.
|
||||
Bir Logic App oluştururken, iş akışı durumunu, çalışma geçmişini ve belgeleri depolayan bir dış depolama hesabı oluşturmanız veya bağlamanız gerekir. Bu depolama, izleme için tanılama ayarları ile yapılandırılabilir ve ağ erişim kısıtlamaları ile güvence altına alınabilir veya gelen ve giden trafiği kontrol etmek için sanal bir ağa entegre edilebilir.
|
||||
|
||||
### Örnekler
|
||||
|
||||
- **Veri Boru Hatlarını Otomatikleştirme**: Logic Apps, Azure Data Factory ile birlikte **veri transferi ve dönüşüm süreçlerini** otomatikleştirebilir. Bu, Azure SQL Database ve Azure Blob Storage gibi çeşitli veri depoları arasında veri taşıyan ve dönüştüren ölçeklenebilir ve güvenilir veri boru hatları oluşturmak için faydalıdır ve analitik ile iş zekası operasyonlarına yardımcı olur.
|
||||
- **Azure Functions ile Entegrasyon**: Logic Apps, gerektiğinde ölçeklenen ve diğer Azure hizmetleriyle sorunsuz bir şekilde entegre olan **sofistike, olay odaklı uygulamalar geliştirmek** için Azure Functions ile birlikte çalışabilir. Bir örnek kullanım durumu, belirli olaylara yanıt olarak bir Azure Function'ı tetiklemek için bir Logic App kullanmaktır; örneğin, bir Azure Depolama hesabındaki değişiklikler gibi, dinamik veri işleme imkanı sağlar.
|
||||
- **Veri Boru Hatlarını Otomatikleştirme**: Logic Apps, Azure Data Factory ile birlikte **veri transferi ve dönüşüm süreçlerini** otomatikleştirebilir. Bu, Azure SQL Database ve Azure Blob Storage gibi çeşitli veri depoları arasında veri taşıyan ve dönüştüren ölçeklenebilir ve güvenilir veri boru hatları oluşturmak için faydalıdır; bu da analitik ve iş zekası operasyonlarına yardımcı olur.
|
||||
- **Azure Functions ile Entegrasyon**: Logic Apps, gerektiğinde ölçeklenen ve diğer Azure hizmetleriyle sorunsuz bir şekilde entegre olan **karmaşık, olay odaklı uygulamalar geliştirmek için Azure Functions ile birlikte çalışabilir**. Bir örnek kullanım durumu, belirli olaylara yanıt olarak bir Azure Function'ı tetiklemek için bir Logic App kullanmaktır; örneğin, bir Azure Depolama hesabındaki değişiklikler gibi, dinamik veri işleme sağlar.
|
||||
|
||||
### LogicAPP'i Görselleştirme
|
||||
|
||||
@@ -40,15 +37,66 @@ curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e9741
|
||||
Birçok barındırma seçeneği vardır:
|
||||
|
||||
* **Consumption**
|
||||
- **Multi-tenant**: paylaşılan hesaplama kaynakları sağlar, kamu bulutunda çalışır ve işlem başına ödeme fiyatlandırma modelini takip eder. Bu, hafif ve maliyet etkin iş yükleri için idealdir.
|
||||
- **Multi-tenant**: paylaşılan hesaplama kaynakları sağlar, kamu bulutunda çalışır ve işlem başına ödeme fiyatlandırma modelini takip eder. Bu, hafif ve maliyet etkin iş yükleri için idealdir. Bu, "Tek İş Akışı" dağıtır.
|
||||
* **Standard**
|
||||
- **Workflow Service Plan**: ağ için VNET entegrasyonu ile özel hesaplama kaynakları ve her workflow service plan örneği için ücret alır. Daha fazla kontrol gerektiren daha talepkar iş yükleri için uygundur.
|
||||
- **App Service Environment V3**: tam izolasyon ve ölçeklenebilirlik ile özel hesaplama kaynakları. Ayrıca ağ için VNET ile entegre olur ve ortam içindeki App Service örneklerine dayalı bir fiyatlandırma modeli kullanır. Bu, yüksek izolasyon gerektiren kurumsal ölçekli uygulamalar için idealdir.
|
||||
- **Hybrid**: yerel işleme ve çoklu bulut desteği için tasarlanmıştır. Müşteri yönetimindeki hesaplama kaynaklarına yerel ağ erişimi sağlar ve Kubernetes Event-Driven Autoscaling (KEDA) kullanır.
|
||||
- **Workflow Service Plan**: ağ için VNET entegrasyonu ile özel hesaplama kaynakları ve her iş akışı hizmet planı örneği için ücret alır. Daha fazla kontrol gerektiren daha talepkar iş yükleri için uygundur.
|
||||
- **App Service Environment V3**: tam izolasyon ve ölçeklenebilirlik ile özel hesaplama kaynakları. Ayrıca, ağ için VNET ile entegre olur ve ortam içindeki App Service örneklerine dayalı bir fiyatlandırma modeli kullanır.
|
||||
- **Hybrid**: yerel işleme ve çoklu bulut desteği için tasarlanmıştır. Yerel ağ erişimi ile müşteri yönetimindeki hesaplama kaynaklarına izin verir ve Kubernetes Olay Tabanlı Otomatik Ölçekleme (KEDA) kullanır. Bir Container App Connected Environment'e dayanır.
|
||||
|
||||
### Workflows
|
||||
### Key Features
|
||||
- **Storage**: Logic Apps, iş akışı durumunu, çalışma geçmişini... depolamak için harici bir Azure Storage hesabına ihtiyaç duyar ve Logic App ile aynı kaynak grubunda olmalıdır.
|
||||
- **Networking & Security**: Logic Apps, kamu veya özel erişim ile yapılandırılabilir. Varsayılan olarak, uygulama internete açıktır ancak izole bağlantı için bir Azure Sanal Ağı ile entegre edilebilir.
|
||||
- **Application Insights**: Performans izleme, anormallik tespiti ve analiz sağlamak için Azure Monitor Application Insights aracılığıyla Uygulama Performans Yönetimi (APM) etkinleştirilebilir.
|
||||
- **Access Control**: Logic Apps, Sistem Yönetimli Kimlikler ve Kullanıcı Yönetimli Kimlikleri destekler.
|
||||
|
||||
Azure Logic Apps'teki iş akışları, çeşitli hizmetler arasında eylemleri düzenleyen temel otomatik süreçlerdir. Bir iş akışı, bir tetikleyici—bir olay veya programlama ile başlar—ve ardından API çağrıları, veri işleme veya diğer Azure hizmetleriyle etkileşim gibi bir dizi eylemi gerçekleştirir. İş akışları, bir tasarımcı kullanarak görsel olarak veya kod (JSON tanımları) aracılığıyla tanımlanabilir ve az logic workflow create, az logic workflow show ve az logic workflow update gibi komutlar aracılığıyla yönetilir. Ayrıca, dış kaynaklarla izinleri ve entegrasyonları güvenli bir şekilde yönetmek için kimlik yönetimini (kimlik alt grubu aracılığıyla) destekler.
|
||||
### "Single" Workflows
|
||||
|
||||
Bir **workflow**, belirli bir süreci veya hedefi gerçekleştiren otomatik adımlar veya görevlerin yapılandırılmış bir dizisidir. Farklı eylemlerin, koşulların ve kararların nasıl etkileşime girdiğini tanımlar, istenen bir sonuca ulaşmayı sağlar, operasyonları kolaylaştırır ve manuel çabayı azaltır. İş akışları, birden fazla sistemi entegre edebilir, olayları ve kuralları tetikleyebilir, süreçlerde tutarlılık ve verimlilik sağlar.
|
||||
|
||||
Azure Logic Apps, **bir Logic App**'in kendisine ihtiyaç duymadan **tek bir iş akışı oluşturma** işlevselliği sunar.
|
||||
|
||||
Her iş akışının farklı **tetikleyicileri** vardır. Bu tetikleyiciler, iş akışının takip ettiği adımlardır. Her tetikleyicinin, tetikleyici türüne bağlı olarak değişebilen parametreleri vardır:
|
||||
- Bağlantı adı
|
||||
- **Authentication Type**: Erişim Anahtarı, Microsoft Entra ID, Entegre Hizmet Prensibi kimlik doğrulaması ve Logic Apps Yönetilen Kimliği olabilir.
|
||||
|
||||
Tetikleyicilerin ayrıca çeşitli ayarları vardır:
|
||||
- Şema Doğrulama: Gelen verilerin önceden tanımlanmış bir yapıyı takip etmesini sağlar.
|
||||
- Eşzamanlılık Kontrolü: Paralel çalıştırma sayısını sınırlar.
|
||||
- Tetikleyici Koşulları: Tetikleyicinin ateşlenmeden önce karşılanması gereken koşullar.
|
||||
- Ağ: Veri transferi için parça boyutunu yapılandırır ve yanıtlardaki iş akışı başlıklarını bastırmayı sağlar.
|
||||
- **Security**: Hassas verileri günlüklerde ve çıktılarda gizlemek için **Güvenli Girişler/Çıkışlar** etkinleştirir.
|
||||
|
||||
**Settings & API Connections:**
|
||||
|
||||
Bir iş akışının farklı ayarları vardır:
|
||||
- İzin verilen gelen IP adresleri: Bu ayar, Logic App'inizi kimin tetikleyebileceğini veya başlatabileceğini kısıtlamanızı sağlar. Seçenekler: Herhangi bir IP, Sadece diğer Logic Apps ve Belirli IP aralıklarıdır.
|
||||
- Entegrasyon hesabı: Burada, Logic App'inizi bir Entegrasyon Hesabına bağlayabilirsiniz.
|
||||
- Yüksek verim: Bu ayar, Logic App'inizin daha fazla isteği hızlı bir şekilde işlemesini sağlar.
|
||||
- Çalışma geçmişi saklama süresi: Logic App'inizin yürütme geçmişinin ne kadar süreyle saklanacağını belirler.
|
||||
|
||||
İş akışının sahip olduğu farklı API bağlantılarını görebilirsiniz. Bu bağlantıların her birinin farklı özellikleri vardır ve kimlik doğrulama türünün değiştirilebileceği API bağlantısını düzenleme olanağı vardır.
|
||||
|
||||
**History & Versions:**
|
||||
Farklı yürütmelerin **geçmişine** erişim seçeneği vardır, ayarları, çıktıyı, parametreleri ve kodu gösterir.
|
||||
|
||||
Ayrıca, iş akışının farklı **sürümlerine** erişim seçeneği vardır; burada kodu kontrol edebilir ve mevcut iş akışını daha eski bir sürümü ile değiştirebilirsiniz.
|
||||
|
||||
**Authorization:**
|
||||
Azure Logic Apps, geçerli bir erişim belirteci gerektirerek istek tabanlı tetikleyicileri güvence altına almak için Entra ID ile **yetkilendirme politikalarını** destekler. Bu belirteç, belirli talepleri içermelidir:
|
||||
- Kimlik Sağlayıcıyı doğrulamak için Verici (iss)
|
||||
- Belirtecin Logic App için tasarlandığını sağlamak için Hedef (aud)
|
||||
- Çağrıyı tanımlamak için Konu (sub)
|
||||
- JWT ID (JSON Web Token tanımlayıcısı)
|
||||
- Özel Talep
|
||||
|
||||
Bir istek alındığında, Logic Apps bu taleplere karşı belirteci doğrular ve yalnızca yapılandırılmış politika ile eşleşiyorsa yürütmeye izin verir. Bu, başka bir kiracının iş akışını tetiklemesine izin vermek veya diğer kaynaklardan tetiklemeyi reddetmek için kullanılabilir; örneğin, tetikleyicinin yalnızca https://login.microsoftonline.com/ adresinden gelmesi durumunda izin vermek.
|
||||
|
||||
**Access Keys:**
|
||||
İlk kez istek tabanlı bir tetikleyici kaydettiğinizde, Logic Apps otomatik olarak iş akışını çağırma izni veren bir SAS imzası ile benzersiz bir uç nokta oluşturur (Erişim Anahtarından oluşturulur). Bu SAS imzası, tetikleyicinin URL'sine gömülüdür. Bu anahtar yeniden oluşturulabilir ve yeni bir SAS imzası verecektir, ancak anahtarlar listelenemez.
|
||||
|
||||
Erişim Anahtarı ile çağırmak için 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 }}
|
||||
|
||||
@@ -149,11 +206,11 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
|
||||
|
||||
|
||||
### Entegrasyon Hesapları
|
||||
**Entegrasyon Hesapları**, Azure Logic Apps'in bir özelliğidir. Entegrasyon Hesapları, EDI, AS2 ve XML şeması yönetimi gibi gelişmiş B2B yeteneklerini etkinleştirerek kurumsal düzeyde entegrasyonları kolaylaştırmak için kullanılır. Entegrasyon Hesapları, Logic Apps için kullanılan aşağıdaki nesneleri depolayan Azure'daki bir konteynerdir:
|
||||
**Entegrasyon Hesapları**, Azure Logic Apps'in bir özelliğidir. Entegrasyon Hesapları, EDI, AS2 ve XML şeması yönetimi gibi gelişmiş B2B yeteneklerini etkinleştirerek kurumsal düzeyde entegrasyonları kolaylaştırmak için kullanılır. Entegrasyon Hesapları, Logic Apps için kullanılan aşağıdaki nesneleri depolayan Azure'daki bir konteynırdır:
|
||||
|
||||
* Şemalar: Entegrasyon hesabınızdaki mesajları doğrulamak ve işlemek için XML şemalarını yönetin.
|
||||
* Haritalar: Entegrasyon iş akışlarınız içinde veri formatlarını dönüştürmek için XSLT tabanlı dönüşümleri yapılandırın.
|
||||
* Derlemeler: Mantık ve veri işleme süreçlerini kolaylaştırmak için entegrasyon hesabı derlemelerini yönetin.
|
||||
* Haritalar: Entegrasyon iş akışlarınızda veri formatlarını dönüştürmek için XSLT tabanlı dönüşümleri yapılandırın.
|
||||
* Derlemeler: Mantığı ve veri işleme süreçlerini kolaylaştırmak için entegrasyon hesabı derlemelerini yönetin.
|
||||
* Sertifikalar: Mesajları şifrelemek ve imzalamak için sertifikaları yönetin, güvenli iletişimi sağlamak için.
|
||||
* Ortaklar: B2B işlemleri için ticari ortak bilgilerini yönetin, kesintisiz entegrasyonları etkinleştirin.
|
||||
* Anlaşmalar: Ticari ortaklarla veri alışverişi için kuralları ve ayarları yapılandırın (örneğin, EDI, AS2).
|
||||
|
||||
Reference in New Issue
Block a user