Translated ['src/pentesting-cloud/azure-security/az-persistence/az-cloud

This commit is contained in:
Translator
2025-01-26 17:59:54 +00:00
parent 612a41455d
commit 4f69c1805c
13 changed files with 37 additions and 35 deletions

View File

@@ -6,7 +6,7 @@ Lerne & übe GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1).png"
<details>
<summary>Unterstütze HackTricks</summary>
<summary>Support HackTricks</summary>
* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**

View File

@@ -73,7 +73,7 @@ az logicapp config appsettings set \
{% endcode %}
### "Microsoft.Logic/integrationAccounts/write"
Mit dieser Berechtigung können Sie Azure Logic Apps-Integrationskonten erstellen, aktualisieren oder löschen. Dazu gehört die Verwaltung von Integrationskontenebene-Konfigurationen wie Maps, Schemata, Partner, Vereinbarungen und mehr.
Mit dieser Berechtigung können Sie Azure Logic Apps-Integrationskonten erstellen, aktualisieren oder löschen. Dazu gehört die Verwaltung von Integrationskonten-spezifischen Konfigurationen wie Maps, Schemata, Partner, Vereinbarungen und mehr.
{% code overflow="wrap" %}
```bash

View File

@@ -50,7 +50,7 @@ az rest \
--headers "Content-Type=application/json"
```
### ("Microsoft.Web/sites/read", "Microsoft.Web/sites/basicPublishingCredentialsPolicies/read", "Microsoft.Web/sites/write", "Microsoft.Web/sites/config/list/action") && ("Microsoft.Web/sites/start/action")
Mit diesen Berechtigungen können Sie Logic App-Workflows mit ZIP-Datei-Bereitstellungen bereitstellen. Diese Berechtigungen ermöglichen Aktionen wie das Lesen von Anwendungsdetails, den Zugriff auf Veröffentlichungsanmeldeinformationen, das Schreiben von Änderungen und das Auflisten von Anwendungs-Konfigurationen. Neben den Startberechtigungen können Sie eine neue Logic App mit dem gewünschten Inhalt aktualisieren und bereitstellen.
Mit diesen Berechtigungen können Sie Logic App-Workflows mit ZIP-Datei-Bereitstellungen bereitstellen. Diese Berechtigungen ermöglichen Aktionen wie das Lesen von App-Details, den Zugriff auf Veröffentlichungsanmeldeinformationen, das Schreiben von Änderungen und das Auflisten von App-Konfigurationen. Neben den Startberechtigungen können Sie eine neue Logic App mit dem gewünschten Inhalt aktualisieren und bereitstellen.
{% code overflow="wrap" %}
```bash

View File

@@ -17,7 +17,7 @@ Jede App läuft in einer Sandbox, aber die Isolation hängt von den App Service-
Apps haben einige interessante Konfigurationen:
- **Always On**: Stellt sicher, dass die App immer läuft. Wenn dies nicht aktiviert ist, wird die App nach 20 Minuten Inaktivität gestoppt und startet erneut, wenn eine Anfrage eingeht.
- **Always On**: Stellt sicher, dass die App immer läuft. Wenn dies nicht aktiviert ist, wird die App nach 20 Minuten Inaktivität gestoppt und startet wieder, wenn eine Anfrage eingeht.
- Dies ist entscheidend, wenn Sie einen Webjob haben, der kontinuierlich laufen muss, da der Webjob stoppt, wenn die App stoppt.
- **SSH**: Wenn aktiviert, kann sich ein Benutzer mit ausreichenden Berechtigungen über SSH mit der App verbinden.
- **Debugging**: Wenn aktiviert, kann ein Benutzer mit ausreichenden Berechtigungen die App debuggen. Dies wird jedoch automatisch alle 48 Stunden deaktiviert.
@@ -39,7 +39,7 @@ Es ist möglich, sich über einen Webbrowser unter `https://<SMC-URL>/BasicAuth`
### Kudu
Kudu ist die Plattform, die **sowohl das SCM als auch eine Web- und API-Schnittstelle** zur Verwaltung eines App Service verwaltet und Git-basierte Bereitstellungen, Remote-Debugging und Dateiverwaltungsmöglichkeiten bietet. Es ist über die SCM-URL zugänglich, die in der Webanwendung definiert ist.
Kudu ist die Plattform, die **sowohl das SCM als auch eine Web- und API-Schnittstelle** zur Verwaltung eines App Service verwaltet und Git-basierte Bereitstellungen, Remote-Debugging und Dateiverwaltungsfunktionen bereitstellt. Es ist über die SCM-URL zugänglich, die in der Webanwendung definiert ist.
Beachten Sie, dass die von App Services und von Function Apps verwendeten Kudu-Versionen unterschiedlich sind, wobei die Version der Function Apps viel eingeschränkter ist.
@@ -65,7 +65,7 @@ App Services erlauben standardmäßig das Hochladen des Codes als Zip-Datei, erm
- Sie können die Anmeldeinformationen für das Remote-Repo erhalten, indem Sie `az webapp deployment source show --name <app-name> --resource-group <res-group>` oder `az rest --method POST --url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Web/sites/<app-name>/config/metadata/list?api-version=2022-03-01" --resource "https://management.azure.com"` ausführen.
- Es ist auch möglich, ein **Azure Repository** zu verwenden.
- Es ist auch möglich, ein **lokales git repository** zu konfigurieren.
- Sie können die URL des git-Repos mit `az webapp deployment source show --name <app-name> --resource-group <res-group>` abrufen, und es wird die SCM-URL der App sein.
- Sie können die URL des git-Repos mit `az webapp deployment source show --name <app-name> --resource-group <res-group>` erhalten, und es wird die SCM-URL der App sein.
- Um es zu klonen, benötigen Sie die SCM-Anmeldeinformationen, die Sie mit `az webapp deployment list-publishing-profiles --resource-group <res-group> -n <name>` erhalten können.
## Webjobs
@@ -77,17 +77,17 @@ Es gibt 2 Arten von Webjobs:
Webjobs sind aus der Perspektive eines Angreifers sehr interessant, da sie verwendet werden könnten, um **Code** in der Umgebung auszuführen und **Berechtigungen** auf die angehängten verwalteten Identitäten zu **eskalieren**.
Darüber hinaus ist es immer interessant, die von den Webjobs generierten **Protokolle** zu überprüfen, da sie **sensible Informationen** enthalten könnten.
Darüber hinaus ist es immer interessant, die **Protokolle** zu überprüfen, die von den Webjobs generiert werden, da sie **sensible Informationen** enthalten könnten.
## Slots
Azure App Service Slots werden verwendet, um **verschiedene Versionen der Anwendung** im selben App Service bereitzustellen. Dies ermöglicht Entwicklern, neue Funktionen oder Änderungen in einer separaten Umgebung zu testen, bevor sie in die Produktionsumgebung bereitgestellt werden.
Azure App Service Slots werden verwendet, um **verschiedene Versionen der Anwendung** im selben App Service bereitzustellen. Dies ermöglicht es Entwicklern, neue Funktionen oder Änderungen in einer separaten Umgebung zu testen, bevor sie in die Produktionsumgebung bereitgestellt werden.
Darüber hinaus ist es möglich, einen **Prozentsatz des Traffics** an einen bestimmten Slot weiterzuleiten, was nützlich für A/B-Tests und für **Hintertürzwecke** ist.
## Azure Function Apps
Im Grunde sind **Azure Function Apps eine Untergruppe von Azure App Service** in der Webkonsole, und wenn Sie zur Webkonsole gehen und alle App-Dienste auflisten oder `az webapp list` im az cli ausführen, werden Sie auch **die Function Apps dort aufgelistet sehen**.
Im Grunde sind **Azure Function Apps eine Untergruppe von Azure App Service** in der Webkonsole, und wenn Sie zur Webkonsole gehen und alle App-Dienste auflisten oder `az webapp list` im az cli ausführen, werden Sie in der Lage sein, **die Function Apps ebenfalls dort aufgelistet zu sehen**.
Daher haben beide Dienste tatsächlich größtenteils die **gleichen Konfigurationen, Funktionen und Optionen im az cli**, obwohl sie sie möglicherweise etwas anders konfigurieren (wie Standardwerte von appsettings oder die Verwendung eines Speicherkontos in den Function Apps).

View File

@@ -17,7 +17,7 @@ Lerne & übe GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1).png"
## Azure Cloud Shell
**Azure Cloud Shell** ist ein interaktives, authentifiziertes, browserzugängliches Terminal, das für die Verwaltung von Azure-Ressourcen konzipiert ist und die Flexibilität bietet, entweder mit Bash oder PowerShell zu arbeiten. Es läuft auf einem temporären, pro Sitzung host, der nach 20 Minuten Inaktivität abläuft, während Dateien im $HOME-Verzeichnis mit einem 5-GB-Dateifreigabe gespeichert werden. Cloud Shell kann über mehrere Punkte aufgerufen werden, einschließlich des Azure-Portals, shell.azure.com, Azure CLI und PowerShell-Dokumentation, der Azure-Mobile-App und der Visual Studio Code Azure-Kontoerweiterung.
**Azure Cloud Shell** ist ein interaktives, authentifiziertes, browserzugängliches Terminal, das für die Verwaltung von Azure-Ressourcen konzipiert ist und die Flexibilität bietet, entweder mit Bash oder PowerShell zu arbeiten. Es läuft auf einem temporären, pro Sitzung bereitgestellten Host, der nach 20 Minuten Inaktivität abläuft, während Dateien im $HOME-Verzeichnis mit einem 5-GB-Dateispeicher gespeichert werden. Cloud Shell kann über mehrere Punkte aufgerufen werden, einschließlich des Azure-Portals, shell.azure.com, Azure CLI und PowerShell-Dokumentation, der Azure-Mobile-App und der Visual Studio Code Azure-Kontoerweiterung.
Es sind keine Berechtigungen für diesen Dienst zugewiesen, daher gibt es keine Privilegieneskalationstechniken. Auch gibt es keine Art der Enumeration.
@@ -25,7 +25,7 @@ Es sind keine Berechtigungen für diesen Dienst zugewiesen, daher gibt es keine
**Umgebung**: Azure Cloud Shell bietet eine sichere Umgebung, indem es auf Azure Linux läuft, Microsofts eigener Linux-Distribution, die für Cloud-Infrastruktur entwickelt wurde. Alle Pakete, die im Azure Linux-Repository enthalten sind, werden intern von Microsoft kompiliert, um sich gegen Angriffe auf die Lieferkette zu schützen.
**Vorinstallierte Tools**: Cloud Shell enthält eine umfassende Sammlung vorinstallierter Tools wie Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git und Texteditoren wie vim, nano und emacs. Diese Tools sind einsatzbereit. Um die installierten Pakete und Module aufzulisten, kannst du "Get-Module -ListAvailable", "tdnf list" und "pip3 list" verwenden.
**$HOME-Persistenz**: Wenn du Azure Cloud Shell zum ersten Mal startest, kannst du es mit oder ohne ein angehängtes Speicherkonto verwenden. Wenn du dich entscheidest, keinen Speicher anzuhängen, wird eine flüchtige Sitzung erstellt, in der Dateien gelöscht werden, wenn die Sitzung endet. Um Dateien über Sitzungen hinweg zu speichern, mounte ein Speicherkonto, das automatisch als **$HOME\clouddrive** angehängt wird, wobei dein **$HOME**-Verzeichnis als **.img**-Datei in Azure File Share gespeichert wird. Dateien außerhalb von $HOME und Maschinenzustände werden jedoch nicht gespeichert. Zum sicheren Speichern von Geheimnissen wie SSH-Schlüsseln verwende Azure Key Vault.
**$HOME-Persistenz**: Wenn du Azure Cloud Shell zum ersten Mal startest, kannst du es mit oder ohne ein angehängtes Speicherkonto verwenden. Wenn du dich entscheidest, keinen Speicher anzuhängen, wird eine flüchtige Sitzung erstellt, in der Dateien gelöscht werden, wenn die Sitzung endet. Um Dateien über Sitzungen hinweg zu speichern, mounte ein Speicherkonto, das automatisch als **$HOME\clouddrive** angehängt wird, wobei dein **$HOME**-Verzeichnis als **.img**-Datei im Azure File Share gespeichert wird. Dateien außerhalb von $HOME und Maschinenzustände werden jedoch nicht gespeichert. Zum sicheren Speichern von Geheimnissen wie SSH-Schlüsseln verwende Azure Key Vault.
**Azure-Laufwerk (Azure:)**: PowerShell in Azure Cloud Shell umfasst das Azure-Laufwerk (Azure:), das eine einfache Navigation durch Azure-Ressourcen wie Compute, Network und Storage mit dateisystemähnlichen Befehlen ermöglicht. Wechsle zum Azure-Laufwerk mit cd Azure: und kehre mit cd ~ in dein Home-Verzeichnis zurück. Du kannst weiterhin Azure PowerShell-Cmdlets verwenden, um Ressourcen von jedem Laufwerk aus zu verwalten.
**Benutzerdefinierte Tool-Installation**: Benutzer, die Cloud Shell mit einem Speicherkonto konfigurieren, können zusätzliche Tools installieren, die keine Root-Berechtigungen erfordern. Diese Funktion ermöglicht eine weitere Anpassung der Cloud Shell-Umgebung, sodass Benutzer ihre Einrichtung an ihre spezifischen Bedürfnisse anpassen können.

View File

@@ -6,7 +6,7 @@ Lernen & üben Sie GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1)
<details>
<summary>Support HackTricks</summary>
<summary>Unterstützen Sie HackTricks</summary>
* Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
@@ -17,7 +17,7 @@ Lernen & üben Sie GCP Hacking: <img src="../../../.gitbook/assets/image (2) (1)
## Azure CosmosDB
**Azure Cosmos DB** ist eine vollständig **verwaltete NoSQL-, relationale und Vektordatenbank**, die Reaktionszeiten im einstelligen Millisekundenbereich, automatische Skalierbarkeit und SLA-gestützte Verfügbarkeit mit Unternehmenssicherheit bietet. Es ermöglicht eine schnellere Anwendungsentwicklung durch schlüsselfertige, mehrregionale Datenverteilung, Open-Source-APIs, SDKs für beliebte Programmiersprachen und KI-Datenbankfunktionen wie integrierte Vektorsupport und nahtlose Azure KI-Integration.
**Azure Cosmos DB** ist eine vollständig **verwaltete NoSQL-, relationale und Vektordatenbank**, die Reaktionszeiten im einstelligen Millisekundenbereich, automatische Skalierbarkeit und SLA-gestützte Verfügbarkeit mit Unternehmenssicherheit bietet. Es ermöglicht eine schnellere Anwendungsentwicklung durch schlüsselfertige, mehrregionale Datenverteilung, Open-Source-APIs, SDKs für beliebte Sprachen und KI-Datenbankfunktionen wie integrierte Vektorsupport und nahtlose Azure KI-Integration.
Azure Cosmos DB bietet mehrere Datenbank-APIs, um reale Daten mit Dokumenten, relationalen, Schlüssel-Wert-, Graph- und Spaltenfamilien-Datenmodellen zu modellieren, wobei diese APIs NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin und Table sind.
@@ -36,7 +36,7 @@ https://<Account-Name>.documents.azure.com:443/
Innerhalb eines Kontos können Sie eine oder mehrere Datenbanken erstellen, die als logische Gruppierungen von Containern dienen. Eine Datenbank fungiert als Grenze für das Ressourcenmanagement und die Benutzerberechtigungen. Datenbanken können entweder die bereitgestellte Durchsatzrate über ihre Container teilen oder dedizierten Durchsatz für einzelne Container zuweisen.
#### Container
Die zentrale Einheit der Datenspeicherung ist der Container, der JSON-Dokumente enthält und automatisch für effizientes Abfragen indiziert wird. Container sind elastisch skalierbar und über Partitionen verteilt, die durch einen benutzerdefinierten Partitionierungsschlüssel bestimmt werden. Der Partitionierungsschlüssel ist entscheidend für die Gewährleistung optimaler Leistung und gleichmäßiger Datenverteilung. Zum Beispiel könnte ein Container Kundendaten speichern, wobei "customerId" als Partitionierungsschlüssel dient.
Die zentrale Einheit der Datenspeicherung ist der Container, der JSON-Dokumente enthält und automatisch für effiziente Abfragen indiziert wird. Container sind elastisch skalierbar und über Partitionen verteilt, die durch einen benutzerdefinierten Partitionierungsschlüssel bestimmt werden. Der Partitionierungsschlüssel ist entscheidend für die Gewährleistung optimaler Leistung und gleichmäßiger Datenverteilung. Zum Beispiel könnte ein Container Kundendaten speichern, wobei "customerId" als Partitionierungsschlüssel dient.
#### Aufzählung
@@ -131,7 +131,7 @@ Get-AzCosmosDBSqlUserDefinedFunction -ResourceGroupName "<ResourceGroupName>" -A
#### Verbindung
Um die azure-cosmosDB (pip install azure-cosmos) zu verbinden, wird die Bibliothek benötigt. Darüber hinaus sind der Endpunkt und der Schlüssel entscheidende Komponenten, um die Verbindung herzustellen.
Um die azure-cosmosDB (pip install azure-cosmos) Bibliothek zu verbinden, sind der Endpunkt und der Schlüssel entscheidende Komponenten, um die Verbindung herzustellen.
{% code overflow="wrap" %}
```python
from azure.cosmos import CosmosClient, PartitionKey
@@ -203,7 +203,7 @@ print("Document inserted.")
{% endcode %}
### MongoDB
Die MongoDB NoSQL-API ist eine dokumentenbasierte API, die BSON (Binary JSON) im JSON-ähnlichen Format als Datenformat verwendet. Sie bietet eine Abfragesprache mit Aggregationsfähigkeiten, was sie geeignet macht für die Arbeit mit strukturierten, semi-strukturierten und unstrukturierten Daten. Der Endpunkt des Dienstes folgt typischerweise diesem Format:
Die MongoDB NoSQL-API ist eine dokumentenbasierte API, die JSON-ähnliches BSON (Binary JSON) als Datenformat verwendet. Sie bietet eine Abfragesprache mit Aggregationsfähigkeiten, was sie geeignet macht für die Arbeit mit strukturierten, semi-strukturierten und unstrukturierten Daten. Der Endpunkt des Dienstes folgt typischerweise diesem Format:
{% code overflow="wrap" %}
```bash
@@ -212,7 +212,7 @@ mongodb://<hostname>:<port>/<database>
{% endcode %}
#### Datenbanken
In MongoDB können Sie innerhalb einer Instanz eine oder mehrere Datenbanken erstellen. Jede Datenbank dient als logische Gruppierung von Sammlungen und bietet eine Grenze für die Organisation und Verwaltung von Ressourcen. Datenbanken helfen, Daten logisch zu trennen und zu verwalten, beispielsweise für verschiedene Anwendungen oder Projekte.
In MongoDB können Sie eine oder mehrere Datenbanken innerhalb einer Instanz erstellen. Jede Datenbank dient als logische Gruppierung von Sammlungen und bietet eine Grenze für die Organisation und Verwaltung von Ressourcen. Datenbanken helfen, Daten logisch zu trennen und zu verwalten, beispielsweise für verschiedene Anwendungen oder Projekte.
#### Sammlungen
Die zentrale Einheit der Datenspeicherung in MongoDB ist die Sammlung, die Dokumente enthält und für effizientes Abfragen und flexibles Schema-Design konzipiert ist. Sammlungen sind elastisch skalierbar und können hochgradig durchsatzstarke Operationen über mehrere Knoten in einer verteilten Umgebung unterstützen.

View File

@@ -19,7 +19,7 @@
### **Speicher-Buckets**
Beim Erstellen einer neuen nicht containerisierten Function App (aber mit dem Code zum Ausführen) werden die **Code- und anderen funktionsbezogenen Daten in einem Speicherkonto gespeichert**. Standardmäßig erstellt die Webkonsole für jede Funktion ein neues Konto, um den Code zu speichern.
Beim Erstellen einer neuen nicht containerisierten Function App (aber mit dem Code, der ausgeführt werden soll) werden die **Code- und anderen funktionsbezogenen Daten in einem Speicherkonto gespeichert**. Standardmäßig erstellt die Webkonsole für jede Funktion ein neues Konto, um den Code zu speichern.
Darüber hinaus wird der Code im Bucket (in den verschiedenen Formaten, in denen er gespeichert werden kann) geändert, sodass der **Code der App auf den neuen geändert wird und beim nächsten Aufruf der Funktion ausgeführt wird**.
@@ -36,11 +36,11 @@ Beachten Sie, dass Funktionen auch die Möglichkeit bieten, den Code an einem en
Bei Verwendung eines HTTP-Triggers:
- Es ist möglich, **Zugriff auf eine Funktion von überall im Internet** zu gewähren, ohne eine Authentifizierung zu verlangen, oder den Zugriff IAM-basiert zu gewähren. Obwohl es auch möglich ist, diesen Zugriff einzuschränken.
- Es ist möglich, **Zugriff auf eine Funktion von überall im Internet** zu gewähren, ohne eine Authentifizierung zu verlangen, oder den Zugriff IAM-basiert zu gewähren. Es ist jedoch auch möglich, diesen Zugriff einzuschränken.
- Es ist auch möglich, **Zugriff auf eine Function App von einem internen Netzwerk (VPC)** zu gewähren oder einzuschränken.
> [!CAUTION]
> Dies ist aus der Perspektive eines Angreifers sehr interessant, da es möglich sein könnte, **auf interne Netzwerke zu pivotieren** von einer verwundbaren Funktion, die dem Internet ausgesetzt ist.
> Dies ist aus der Perspektive eines Angreifers sehr interessant, da es möglich sein könnte, von einer verwundbaren Funktion, die dem Internet ausgesetzt ist, **auf interne Netzwerke zu pivotieren**.
### **Function App-Einstellungen & Umgebungsvariablen**
@@ -65,11 +65,11 @@ Die **systemzugewiesene** Identität ist eine verwaltete Identität, die **nur d
>
> Wenn keine systemzugewiesene verwaltete Identität verwendet wird, aber eine oder mehrere benutzerverwaltete Identitäten an eine Funktion angehängt sind, können Sie standardmäßig kein Token erhalten.
Es ist möglich, die [**PEASS-Skripte**](https://github.com/peass-ng/PEASS-ng) zu verwenden, um Tokens von der standardmäßigen verwalteten Identität vom Metadaten-Endpunkt zu erhalten. Oder Sie könnten sie **manuell** erhalten, wie in:
Es ist möglich, die [**PEASS-Skripte**](https://github.com/peass-ng/PEASS-ng) zu verwenden, um Token von der standardmäßigen verwalteten Identität vom Metadatenendpunkt zu erhalten. Oder Sie könnten sie **manuell** erhalten, wie in:
{% embed url="https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#azure-vm" %}
Beachten Sie, dass Sie einen Weg finden müssen, um **alle verwalteten Identitäten zu überprüfen, die eine Funktion angehängt hat**, da der Metadaten-Endpunkt **nur die standardmäßige verwenden wird** (siehe den vorherigen Link für weitere Informationen).
Beachten Sie, dass Sie einen Weg finden müssen, um **alle verwalteten Identitäten zu überprüfen, die eine Funktion angehängt hat**, da der Metadatenendpunkt **nur die standardmäßige verwenden wird** (siehe den vorherigen Link für weitere Informationen).
## Zugriffsschlüssel
@@ -96,7 +96,7 @@ Beim Erstellen eines Endpunkts innerhalb einer Funktion mit einem **HTTP-Trigger
### Basis-Authentifizierung
Genau wie in App-Diensten unterstützen Funktionen auch die Basis-Authentifizierung, um sich mit **SCM** und **FTP** zu verbinden, um Code mit einem **Benutzernamen und Passwort in einer URL** bereitzustellen, die von Azure bereitgestellt wird. Weitere Informationen dazu finden Sie in:
Genau wie bei App-Diensten unterstützen Funktionen auch die Basis-Authentifizierung, um sich mit **SCM** und **FTP** zu verbinden, um Code mit einem **Benutzernamen und Passwort in einer URL** bereitzustellen, die von Azure bereitgestellt wird. Weitere Informationen dazu finden Sie in:
{{#ref}}
az-app-services.md
@@ -199,7 +199,7 @@ Darüber hinaus wird eine **Managed Identity** erstellt, damit die Github Action
### Containerbasierte Bereitstellungen
Nicht alle Pläne erlauben die Bereitstellung von Containern, aber für die, die es tun, wird die Konfiguration die URL des Containers enthalten. In der API wird die **`linuxFxVersion`**-Einstellung etwas wie `DOCKER|mcr.microsoft.com/...` haben, während in der Webkonsole die Konfiguration die **Bildeinstellungen** anzeigen wird.
Nicht alle Pläne erlauben die Bereitstellung von Containern, aber für die, die es tun, wird die Konfiguration die URL des Containers enthalten. In der API wird die **`linuxFxVersion`** Einstellung etwas wie: `DOCKER|mcr.microsoft.com/...` haben, während in der Webkonsole die Konfiguration die **Bildeinstellungen** anzeigen wird.
Darüber hinaus wird **kein Quellcode im Speicher**-Konto gespeichert, das mit der Funktion verbunden ist, da dies nicht erforderlich ist.

View File

@@ -11,7 +11,7 @@ Logic Apps bietet einen visuellen Designer, um Workflows mit einer **breiten Pal
### Beispiele
- **Automatisierung von Datenpipelines**: Logic Apps kann **Datenübertragungs- und Transformationsprozesse** in Kombination mit Azure Data Factory automatisieren. Dies ist nützlich, um skalierbare und zuverlässige Datenpipelines zu erstellen, die Daten zwischen verschiedenen Datenspeichern, wie Azure SQL Database und Azure Blob Storage, bewegen und transformieren, was die Analyse- und Business-Intelligence-Operationen unterstützt.
- **Integration mit Azure Functions**: Logic Apps kann zusammen mit Azure Functions verwendet werden, um **anspruchsvolle, ereignisgesteuerte Anwendungen zu entwickeln, die nach Bedarf skalieren** und nahtlos mit anderen Azure-Diensten integriert werden. Ein Beispielanwendungsfall ist die Verwendung einer Logic App, um eine Azure Function als Reaktion auf bestimmte Ereignisse, wie Änderungen in einem Azure Storage-Konto, auszulösen, was eine dynamische Datenverarbeitung ermöglicht.
- **Integration mit Azure Functions**: Logic Apps kann zusammen mit Azure Functions verwendet werden, um **anspruchsvolle, ereignisgesteuerte Anwendungen zu entwickeln, die nach Bedarf skalieren** und nahtlos mit anderen Azure-Diensten integrieren. Ein Beispielanwendungsfall ist die Verwendung einer Logic App, um eine Azure Function als Reaktion auf bestimmte Ereignisse, wie Änderungen in einem Azure Storage-Konto, auszulösen, was eine dynamische Datenverarbeitung ermöglicht.
### Visualisieren einer LogicAPP
@@ -35,7 +35,7 @@ curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e9741
Es gibt mehrere Hosting-Optionen:
* **Consumption**
- **Multi-tenant**: bietet gemeinsame Rechenressourcen, arbeitet in der öffentlichen Cloud und folgt einem Preismodell pro Operation. Dies ist ideal für leichte und kosteneffektive Workloads.
- **Multi-tenant**: bietet gemeinsame Rechenressourcen, arbeitet in der Public Cloud und folgt einem Preismodell pro Operation. Dies ist ideal für leichte und kosteneffektive Workloads.
* **Standard**
- **Workflow Service Plan**: dedizierte Rechenressourcen mit VNET-Integration für Networking und Gebühren pro Workflow-Service-Plan-Instanz. Es ist geeignet für anspruchsvollere Workloads, die mehr Kontrolle erfordern.
- **App Service Environment V3**: dedizierte Rechenressourcen mit vollständiger Isolation und Skalierbarkeit. Es integriert sich auch mit VNET für Networking und verwendet ein Preismodell basierend auf App Service-Instanzen innerhalb der Umgebung. Dies ist ideal für unternehmensgroße Anwendungen, die hohe Isolation benötigen.
@@ -151,7 +151,7 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
* Assemblies: Verwaltet Integrationskonten-Assemblies, um Logik und Datenverarbeitung zu optimieren.
* Zertifikate: Verwaltet Zertifikate zur Verschlüsselung und Signierung von Nachrichten, um eine sichere Kommunikation zu gewährleisten.
* Partner: Verwaltet Informationen über Handelspartner für B2B-Transaktionen und ermöglicht nahtlose Integrationen.
* Vereinbarungen: Konfigurieren Sie Regeln und Einstellungen für den Austausch von Daten mit Handelspartnern (z. B. EDI, AS2).
* Vereinbarungen: Konfigurieren Sie Regeln und Einstellungen für den Datenaustausch mit Handelspartnern (z. B. EDI, AS2).
* Batch-Konfigurationen: Verwaltet Batch-Verarbeitungs-Konfigurationen, um Nachrichten effizient zu gruppieren und zu verarbeiten.
* RosettaNet PIP: Konfigurieren Sie RosettaNet Partner Interface Processes (PIPs), um die B2B-Kommunikation zu standardisieren.

View File

@@ -4,7 +4,7 @@
## Service Bus
Azure Service Bus ist ein cloudbasierter **Messaging-Dienst**, der entwickelt wurde, um eine zuverlässige **Kommunikation zwischen verschiedenen Teilen einer Anwendung oder separaten Anwendungen** zu ermöglichen. Er fungiert als sicherer Mittelsmann und stellt sicher, dass Nachrichten sicher zugestellt werden, selbst wenn Sender und Empfänger nicht gleichzeitig arbeiten. Durch die Entkopplung von Systemen ermöglicht es Anwendungen, unabhängig zu arbeiten, während sie dennoch Daten oder Anweisungen austauschen. Es ist besonders nützlich für Szenarien, die Lastverteilung über mehrere Arbeiter, zuverlässige Nachrichtenübermittlung oder komplexe Koordination erfordern, wie z.B. die Verarbeitung von Aufgaben in der richtigen Reihenfolge oder die sichere Verwaltung von Zugriffsrechten.
Azure Service Bus ist ein cloudbasierter **Messaging-Dienst**, der entwickelt wurde, um eine zuverlässige **Kommunikation zwischen verschiedenen Teilen einer Anwendung oder separaten Anwendungen** zu ermöglichen. Er fungiert als sicherer Mittelsmann und stellt sicher, dass Nachrichten sicher zugestellt werden, selbst wenn Sender und Empfänger nicht gleichzeitig arbeiten. Durch die Entkopplung von Systemen ermöglicht er es Anwendungen, unabhängig zu arbeiten, während sie weiterhin Daten oder Anweisungen austauschen. Er ist besonders nützlich für Szenarien, die Lastverteilung über mehrere Arbeiter, zuverlässige Nachrichtenübermittlung oder komplexe Koordination erfordern, wie z.B. die Verarbeitung von Aufgaben in der richtigen Reihenfolge oder die sichere Verwaltung von Zugriffsrechten.
### Schlüsselkonzepte
@@ -26,7 +26,7 @@ Einige erweiterte Funktionen sind:
- **Automatische Weiterleitung**: Überträgt Nachrichten zwischen Warteschlangen oder Themen im selben Namespace.
- **Dead-Lettering**: Erfasst nicht zustellbare Nachrichten zur Überprüfung.
- **Geplante Lieferung**: Verzögert die Nachrichtenverarbeitung für zukünftige Aufgaben.
- **Nachrichtenaussetzung**: Verschiebt die Nachrichtenabholung, bis sie bereit ist.
- **Nachrichtenaussetzung**: Verschiebt den Abruf von Nachrichten, bis sie bereit sind.
- **Transaktionen**: Gruppiert Operationen in atomare Ausführung.
- **Filter & Aktionen**: Wendet Regeln an, um Nachrichten zu filtern oder zu annotieren.
- **Automatisches Löschen bei Inaktivität**: Löscht Warteschlangen nach Inaktivität (min: 5 Minuten).
@@ -133,7 +133,7 @@ Get-AzServiceBusTopic -ResourceGroupName <ResourceGroupName> -NamespaceName <Nam
{% endtabs %}
### Privilegieneskalation
### Privilegienerweiterung
{{#ref}}
../az-privilege-escalation/az-servicebus-privesc.md

View File

@@ -13,7 +13,7 @@ Azure Static Web Apps ist ein Cloud-Dienst zum Hosten von **statischen Web-Apps
- **Bereitstellungstoken**: Ein Token wird generiert und verwendet, um den Bereitstellungsprozess zu authentifizieren. Jeder mit **diesem Token kann eine neue Version der App bereitstellen**. Eine **Github Action wird automatisch** im Repo mit dem Token in einem Geheimnis bereitgestellt, um jedes Mal eine neue Version der App bereitzustellen, wenn das Repo aktualisiert wird.
- **GitHub Actions-Workflow**: In diesem Fall wird eine sehr ähnliche Github Action ebenfalls im Repo bereitgestellt und das **Token wird ebenfalls in einem Geheimnis gespeichert**. Diese Github Action hat jedoch einen Unterschied, sie verwendet die **`actions/github-script@v6`** Action, um das IDToken des Repositories zu erhalten und es zur Bereitstellung der App zu verwenden.
- Selbst wenn in beiden Fällen die Action **`Azure/static-web-apps-deploy@v1`** mit einem Token im `azure_static_web_apps_api_token`-Parameter verwendet wird, ist in diesem zweiten Fall ein zufälliges Token mit einem gültigen Format wie `12345cbb198a77a092ff885781a62a15d51ef5e3654ca11234509ab54547270704-4140ccee-e04f-424f-b4ca-3d4dd123459c00f0702071d12345` ausreichend, um die App bereitzustellen, da die Autorisierung mit dem IDToken im `github_id_token`-Parameter erfolgt.
- Selbst wenn in beiden Fällen die Action **`Azure/static-web-apps-deploy@v1`** mit einem Token im `azure_static_web_apps_api_token`-Parameter verwendet wird, reicht in diesem zweiten Fall ein zufälliges Token mit einem gültigen Format wie `12345cbb198a77a092ff885781a62a15d51ef5e3654ca11234509ab54547270704-4140ccee-e04f-424f-b4ca-3d4dd123459c00f0702071d12345` aus, um die App bereitzustellen, da die Autorisierung mit dem IDToken im `github_id_token`-Parameter erfolgt.
### Grundlegende Authentifizierung für Web-Apps

View File

@@ -6,7 +6,7 @@
**Azure Table Storage** ist ein NoSQL-Key-Value-Speicher, der für die Speicherung großer Mengen strukturierter, nicht-relationaler Daten konzipiert ist. Es bietet hohe Verfügbarkeit, niedrige Latenz und Skalierbarkeit, um große Datensätze effizient zu verarbeiten. Daten sind in Tabellen organisiert, wobei jede Entität durch einen Partition Key und einen Row Key identifiziert wird, was schnelle Abfragen ermöglicht. Es unterstützt Funktionen wie Verschlüsselung im Ruhezustand, rollenbasierte Zugriffskontrolle und Shared Access Signatures für sicheren, verwalteten Speicher, der für eine Vielzahl von Anwendungen geeignet ist.
Es **gibt keinen integrierten Backup-Mechanismus** für die Tabellenspeicherung.
Es **gibt keinen integrierten Backup-Mechanismus** für Table Storage.
### Schlüssel
@@ -20,7 +20,7 @@ Es **gibt keinen integrierten Backup-Mechanismus** für die Tabellenspeicherung.
- Der **RowKey ist der eindeutige Identifikator** für eine Entität innerhalb einer Partition. In Kombination mit dem PartitionKey stellt er sicher, dass jede Entität in der Tabelle einen global eindeutigen Identifikator hat.
- Beispiel: Für die Partition `"HR"` könnte der `RowKey` eine Mitarbeiter-ID sein, z.B. `"12345"`.
#### **Andere Eigenschaften (Benutzerdefinierte Eigenschaften)**
#### **Weitere Eigenschaften (Benutzerdefinierte Eigenschaften)**
- Neben dem PartitionKey und RowKey kann eine Entität zusätzliche **benutzerdefinierte Eigenschaften zur Speicherung von Daten** haben. Diese sind benutzerdefiniert und fungieren wie Spalten in einer traditionellen Datenbank.
- Eigenschaften werden als **Schlüssel-Wert-Paare** gespeichert.