Authentifizieren von Zugriff und Verbindungen mit Azure-Ressourcen mit verwalteten Identitäten in Azure Logic Apps

Gilt für: Azure Logic Apps (Verbrauch + Standard)

Wenn Sie eine verwaltete Identität verwenden, um den Zugriff oder Verbindungen mit Microsoft Entra-geschützten Ressourcen von Ihrem Logik-App-Workflow zu authentifizieren, müssen Sie keine Anmeldeinformationen, geheimen Schlüssel oder Microsoft Entra-Token angeben. In Azure Logic Apps unterstützen einige Connectorvorgänge die Verwendung einer verwalteten Identität, wenn Sie den Zugriff auf Ressourcen authentifizieren müssen, die durch microsoft Entra ID geschützt sind. Azure verwaltet diese Identität und hilft, die Sicherheit von Authentifizierungsinformationen zu bewahren, da Sie keine dieser sensiblen Daten verwalten müssen. Weitere Informationen finden Sie unter Was sind verwaltete Identitäten für Azure-Ressourcen?.

Azure Logic Apps unterstützt die vom System zugewiesene verwaltete Identität und die vom Benutzer zugewiesene verwaltete Identität. In der folgenden Liste werden einige Unterschiede zwischen diesen verwalteten Identitätstypen beschrieben:

  • Eine Logik-App-Ressource kann nur eine eindeutige vom System zugewiesene Identität aktivieren und verwenden.

  • Eine Logik-App-Ressource kann dieselbe vom Benutzer zugewiesene Identität mit einer Gruppe anderer Logik-App-Ressourcen gemeinsam nutzen.

In diesem Leitfaden wird gezeigt, wie Sie die folgenden Aufgaben ausführen:

  • Aktivieren und einrichten Sie die vom System zugewiesene verwaltete Identität für Ihre Logik-App-Ressource. Dieses Handbuch enthält ein Beispiel, das zeigt, wie die Identität für die Authentifizierung verwendet wird.

  • Erstellen und Einrichten einer vom Benutzer zugewiesenen Identität. In diesem Handbuch wird gezeigt, wie Sie eine vom Benutzer zugewiesene Identität mithilfe der Vorlage Azure-Portal und Azure Resource Manager (ARM-Vorlage) erstellen und die Identität für die Authentifizierung verwenden. Informationen zu Azure PowerShell, Azure CLI und Azure REST-API finden Sie in der folgenden Dokumentation:

Tool Dokumentation
Azure PowerShell Erstellen einer benutzerseitig zugewiesenen Identität
Azure-Befehlszeilenschnittstelle Erstellen einer benutzerseitig zugewiesenen Identität
Azure-REST-API Erstellen einer benutzerseitig zugewiesenen Identität

Verbrauchs- und Standard-Logik-Apps

Basierend auf dem Ressourcentyp Ihrer Logik-App können Sie entweder die systemseitig zugewiesene Identität, die vom Benutzer zugewiesene Identität oder beide gleichzeitig aktivieren:

Logik-App Environment Unterstützung verwalteter Identitäten
Verbrauch - Mehrinstanzenfähige Azure-Logik-Apps

- Integrationsdienstumgebung (Integration Service Environment, ISE)
– Ihre Logik-App kann entweder die systemseitig zugewiesene Identität oder die benutzerseitig zugewiesene Identität aktivieren.

– Sie können die verwaltete Identität auf Logik-App-Ressourcenebene und Verbindungsebene verwenden.

– Wenn Sie die benutzerseitig zugewiesene Identität aktivieren, kann Ihre Logic-App nur eine benutzerseitig zugewiesene Identität gleichzeitig verwenden.
Standard - Azure Logic Apps-Instanz mit nur einem Mandanten

- App Service-Umgebung v3 (ASEv3)

- Logik-Apps mit Azure Arc-Unterstützung
– Sie können sowohl die vom System zugewiesene Identität aktivieren, die standardmäßig aktiviert ist, als auch die vom Benutzer zugewiesene Identität gleichzeitig.

– Sie können die verwaltete Identität auf Logik-App-Ressourcenebene und Verbindungsebene verwenden.

– Wenn Sie die vom Benutzer zugewiesene Identität aktivieren, kann ihre Logik-App-Ressource mehrere vom Benutzer zugewiesene Identitäten gleichzeitig haben.

Informationen zu Grenzwerten für verwaltete Identitäten in Azure Logic Apps finden Sie unter Grenzwerte für verwaltete Identitäten für Logik-Apps. Weitere Informationen zu den Ressourcentypen und Umgebungen der Verbrauchs- und Standardlogik-App finden Sie in der folgenden Dokumentation:

Verwendung einer verwalteten Identität

In Azure Logic Apps können nur bestimmte integrierte und verwaltete Connectorvorgänge, die OAuth mit Microsoft Entra ID unterstützen, eine verwaltete Identität für die Authentifizierung verwenden. Die folgenden Tabellen enthalten nur eine Beispielauswahl. Eine vollständigere Liste finden Sie unter Authentifizierungstypen für Trigger und Aktionen, die Authentifizierung und Azure-Dienste unterstützen, die die Microsoft Entra-Authentifizierung mit verwalteten Identitäten unterstützen.

In der folgenden Tabelle sind in der folgenden Tabelle die Connectors aufgeführt, die die verwaltete Identitätsauthentifizierung unterstützen:

Connectortyp Unterstützte Connectors
Integriert – Azure API Management
– Azure App Services
– Azure Functions
– HTTP
– HTTP + Webhook

Hinweis: HTTP-Vorgänge können Verbindungen mit Azure Storage Konten hinter Azure-Firewalls mit der systemseitig zugewiesenen Identität authentifizieren. Sie unterstützen jedoch nicht die vom Benutzer zugewiesene verwaltete Identität für die Authentifizierung derselben Verbindungen.

Verwaltet - Azure App Service
– Azure Automation
– Azure Blob Storage
- Azure-Containerinstanz
– Azure Cosmos DB
– Azure Data Explorer
- Azure Data Factory
- Azure Data Lake
– Azure Event Grid
– Azure Event Hubs
- Azure IoT Central V2
- Azure IoT Central V3
– Azure Key Vault
- Azure Log Analytics
- Azure-Warteschlangen
– Azure Resource Manager
– Azure Service Bus
– Azure Sentinel
– Azure Table Storage
- virtueller Azure-Computer
– HTTP mit Microsoft Entra ID
- SQL Server

Voraussetzungen

  • Ein Azure-Konto und ein Azure-Abonnement. Falls Sie kein Abonnement besitzen, können Sie sich für ein kostenloses Azure-Konto registrieren. Für die verwaltete Identität sowie die Azure-Zielressource, auf die Sie zugreifen möchten, muss dasselbe Azure-Abonnement verwendet werden.

  • Die Azure-Zielressource, auf die Sie zugreifen möchten. In dieser Ressource fügen Sie die erforderliche Rolle für die verwaltete Identität hinzu, um auf diese Ressource im Auftrag Ihrer Logik-App oder Verbindung zuzugreifen. Für das Hinzufügen einer Rolle zu einer verwalteten Identität benötigen Sie Microsoft Entra-Administratorberechtigungen, mit denen Rollen verwalteten Identitäten im zugehörigen Microsoft Entra-Mandanten zugewiesen werden können.

  • Die Logik-App-Ressource und der Workflow, in der bzw. dem Sie den Trigger oder die Aktionen verwenden möchten, die verwaltete Identitäten unterstützen.

Aktivieren der vom System zugewiesenen Identität im Azure-Portal

  1. Öffnen Sie Ihre Logik-App-Ressource im Azure-Portal.

  2. Wählen Sie im Menü der Logik-App unter Einstellungen die Option Identität aus.

  3. Wählen Sie auf der Seite "Identität" unter "System zugewiesen" die Option "Beim Speichern">aus. Wenn Sie von Azure zur Bestätigung aufgefordert werden, wählen Sie Ja aus.

    Screenshot shows Azure portal, Consumption logic app, Identity page, and System assigned tab with selected options, On and Save.

    Hinweis

    Wenn Sie eine Fehlermeldung erhalten, dass Sie nur eine einzige verwaltete Identität verwenden können, ist Ihrer Logik-App-Ressource bereits eine benutzerseitig zugewiesene Identität zugeordnet. Bevor Sie die vom System zugewiesene Identität hinzufügen können, müssen Sie zuerst die vom Benutzer zugewiesene Identität aus Ihrer Logik-App-Ressource entfernen.

    Ihre Logik-App-Ressource kann jetzt die vom System zugewiesene Identität verwenden. Diese Identität wird bei Microsoft Entra ID registriert und durch eine Objekt-ID dargestellt.

    Screenshot shows Consumption logic app, Identity page, and object ID for system-assigned identity.

    Eigenschaft Wert BESCHREIBUNG
    Objekt-ID (Prinzipal) <Identität-Ressourcen-ID> Eine GUID (Globally Unique Identifier), die die systemseitig zugewiesene Identität für Ihre Logik-App in einem Microsoft Entra-Mandanten angibt
  4. Führen Sie nun die Schritte aus, mit denen diese Identität später in diesem Handbuch auf die Ressource zugreifen kann.

Aktivieren der systemseitig zugewiesenen Identität in einer ARM-Vorlage

Sie können eine ARM-Vorlage verwenden, um die Erstellung und Bereitstellung von Logik-App-Ressourcen zu automatisieren. Um die systemseitig zugewiesene Identität für die Logik-App-Ressource in der Vorlage zu aktivieren, fügen Sie das identity-Objekt und die untergeordnete type-Eigenschaft in der Ressourcendefinition der Logik-App in der Vorlage hinzu, beispielsweise:

{
   "apiVersion": "2016-06-01",
   "type": "Microsoft.logic/workflows",
   "name": "[variables('logicappName')]",
   "location": "[resourceGroup().location]",
   "identity": {
      "type": "SystemAssigned"
   },
   "properties": {},
   <...>
}

Wenn die Ressourcendefinition der Logik-App in Azure erstellt wird, erhält das identity-Objekt diese weiteren Eigenschaften:

"identity": {
   "type": "SystemAssigned",
   "principalId": "<principal-ID>",
   "tenantId": "<Azure-AD-tenant-ID>"
}
Eigenschaft (JSON) Wert BESCHREIBUNG
principalId <principal-ID> Die GUID (Globally Unique Identifier) des Dienstprinzipalobjekts für die verwaltete Identität, die die Logik-App im Microsoft Entra-Mandanten angibt Diese GUID wird manchmal als „Objekt-ID“ oder objectID angezeigt.
tenantId <Azure-AD-tenant-ID> Die GUID (Globally Unique Identifier), die den Microsoft Entra-Mandanten angibt, in dem die Logik-App nun Mitglied ist Im Microsoft Entra-Mandanten hat der Dienstprinzipal den gleichen Namen wie die Logik-App-Instanz.

Erstellen einer benutzerseitig zugewiesenen Identität im Azure-Portal

Bevor Sie die vom Benutzer zugewiesene Identität für Ihre Ressourcen für Die Verbrauchslogik-App oder die Standardlogik-App-Ressource aktivieren können, müssen Sie diese Identität als separate Azure-Ressource erstellen.

  1. Geben Sie im Suchfeld Azure-Portal verwaltete Identitäten ein, und wählen Sie "Verwaltete Identitäten" aus.

    Screenshot shows Azure portal with selected option named Managed Identities.

  2. Wählen Sie auf der Seite "Verwaltete Identitäten" die Option "Erstellen" aus.

    Screenshot shows Managed Identities page and selected option for Create.

  3. Geben Sie Informationen zu Ihrer verwalteten Identität an, und wählen Sie " Überprüfen+ Erstellen" aus, z. B.:

    Screenshot shows page named Create User Assigned Managed Identity, with managed identity details.

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    Abonnement Ja <Name des Azure-Abonnements> Der Name des Azure-Abonnements
    Ressourcengruppe Ja <Name der Azure-Ressourcengruppe> Der Azure-Ressourcengruppenname. Erstellen Sie eine neue Gruppe, oder wählen Sie eine vorhandene Gruppe aus. In diesem Beispiel wird eine neue Gruppe mit dem Namen fabrikam-managed-identities-RG erstellt.
    Region Ja <Azure-Region> Die Azure-Region, in der die Informationen zu Ihrer Ressource gespeichert werden sollen. In diesem Beispiel wird USA, Westen verwendet.
    Name Ja <user-assigned-identity-name> Der Name für die benutzerseitig zugewiesene Identität. In diesem Beispiel wird fabrikam-user-assigned-identity verwendet.

    Nach Überprüfung dieser Informationen durch Azure erstellt Azure Ihre verwaltete Identität. Nun können Sie Ihrer Logik-App-Ressource die vom Benutzer zugewiesene Identität hinzufügen.

Hinzufügen einer vom Benutzer zugewiesenen Identität zur Logik-App im Azure-Portal

  1. Öffnen Sie Ihre Logik-App-Ressource im Azure-Portal.

  2. Wählen Sie im Menü der Logik-App unter Einstellungen die Option Identität aus.

  3. Wählen Sie auf der Seite "Identität" die Option "Benutzer zugewiesen hinzufügen>" aus.

    Screenshot shows Consumption logic app and Identity page with selected option for Add.

  4. Führen Sie im Bereich Benutzerseitig zugewiesene verwaltete Identität hinzufügen die folgenden Schritte aus:

    1. Wählen Sie in der Abonnementliste Ihr Azure-Abonnement aus.

    2. Wählen Sie in der Liste mit allen verwalteten Identitäten in Ihrem Abonnement die gewünschte vom Benutzer zugewiesene Identität aus. Um die Liste zu filtern, geben Sie im Suchfeld Benutzerseitig zugewiesene verwaltete Identitäten den Namen der Identität oder Ressourcengruppe ein.

      Screenshot shows Consumption logic app and selected user-assigned identity.

    3. Wenn Sie fertig sind, wählen Sie Hinzufügen aus.

      Hinweis

      Wenn Sie eine Fehlermeldung erhalten, dass Sie nur eine einzige verwaltete Identität verwenden können, ist Ihrer Logik-App bereits die systemseitig zugewiesene Identität zugeordnet. Bevor Sie die benutzerseitig zugewiesene Identität hinzufügen können, müssen Sie zuerst die systemseitig zugewiesene Identität deaktivieren.

    Ihre Logik-App ist jetzt der benutzerseitig zugewiesenen verwalteten Identität zugeordnet.

    Screenshot shows Consumption logic app with associated user-assigned identity.

  5. Führen Sie nun die Schritte aus, mit denen diese Identität später in diesem Handbuch auf die Ressource zugreifen kann.

Erstellen einer benutzerseitig zugewiesenen Identität in einer ARM-Vorlage

Sie können eine ARM-Vorlage verwenden, um die Erstellung und Bereitstellung von Logik-App-Ressourcen zu automatisieren. Diese Vorlagen unterstützen benutzerseitig zugewiesene Identitäten für die Authentifizierung.

Im Abschnitt resources Ihrer Vorlage sind in der Ressourcendefinition Ihrer Logik-App die folgenden Elemente erforderlich:

  • Ein identity-Objekt, bei dem die type-Eigenschaft auf UserAssigned festgelegt ist

  • Ein untergeordnetes userAssignedIdentities-Objekt, das die vom Benutzer zugewiesene Ressource und den Namen angibt

In diesem Beispiel wird eine Ressourcenressource der Verbrauchslogik-App und eine Workflowdefinition für eine HTTP PUT-Anforderung mit einem nicht parametrisierten identity Objekt gezeigt. Die Antwort auf die PUT-Anforderung und den nachfolgenden GET-Vorgang umfasst auch dieses identity Objekt:

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {<template-parameters>},
   "resources": [
      {
         "apiVersion": "2016-06-01",
         "type": "Microsoft.logic/workflows",
         "name": "[variables('logicappName')]",
         "location": "[resourceGroup().location]",
         "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": {
               "/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-identity-name>": {}
            }
         },
         "properties": {
            "definition": {<logic-app-workflow-definition>}
         },
         "parameters": {},
         "dependsOn": []
      },
   ],
   "outputs": {}
}

Wenn die Vorlage auch die Ressourcendefinition der verwalteten Identität enthält, können Sie das identity-Objekt parametrisieren. Das folgende Beispiel zeigt, wie das untergeordnete userAssignedIdentities Objekt auf eine userAssignedIdentityName Variable verweist, die Sie im Abschnitt Ihrer Vorlage variables definieren. Diese Variable verweist auf die Ressourcen-ID für Ihre benutzerseitig zugewiesene Identität.

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {
      "Template_LogicAppName": {
         "type": "string"
      },
      "Template_UserAssignedIdentityName": {
         "type": "securestring"
      }
   },
   "variables": {
      "logicAppName": "[parameters(`Template_LogicAppName')]",
      "userAssignedIdentityName": "[parameters('Template_UserAssignedIdentityName')]"
   },
   "resources": [
      {
         "apiVersion": "2016-06-01",
         "type": "Microsoft.logic/workflows",
         "name": "[variables('logicAppName')]",
         "location": "[resourceGroup().location]",
         "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": {
               "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', variables('userAssignedIdentityName'))]": {}
            }
         },
         "properties": {
            "definition": {<logic-app-workflow-definition>}
         },
         "parameters": {},
         "dependsOn": [
            "[resourceId('Microsoft.ManagedIdentity/userAssignedIdentities/', variables('userAssignedIdentityName'))]"
         ]
      },
      {
         "apiVersion": "2018-11-30",
         "type": "Microsoft.ManagedIdentity/userAssignedIdentities",
         "name": "[parameters('Template_UserAssignedIdentityName')]",
         "location": "[resourceGroup().location]",
         "properties": {}
      }
  ]
}

Zuweisen des Zugriffs der Identität auf Ressourcen

Bevor Sie die verwaltete Identität Ihrer Logik-App für die Authentifizierung verwenden können, richten Sie den Zugriff dieser Identität auf die Azure-Ressource ein, in der Sie die Identität verwenden möchten. Die Art und Weise, wie Sie den Zugriff einrichten, hängt von der Ressource ab, auf die die Identität zugreifen soll.

Hinweis

Wenn eine verwaltete Identität Zugriff auf eine Azure-Ressource im gleichen Abonnement hat, kann die Identität nur auf diese Ressource zugreifen. Bei einigen Triggern und Aktionen, die verwaltete Identitäten unterstützen, müssen Sie jedoch zuerst die Azure-Ressourcengruppe auswählen, die die Zielressource enthält. Wenn die Identität keinen Zugriff auf Ressourcengruppenebene hat, werden keine Ressourcen in dieser Gruppe aufgelistet, obwohl sie Zugriff auf die Zielressource haben.

Um dieses Verhalten zu behandeln, müssen Sie der Identität auch Zugriff auf die Ressourcengruppe gewähren, nicht nur auf die Ressource. Wenn Sie Ihr Abonnement auswählen müssen, bevor Sie die Zielressource auswählen können, müssen Sie der Identität Zugriff auf das Abonnement gewähren.

In einigen Fällen benötigen Sie möglicherweise die Identität, um Zugriff auf die zugeordnete Ressource zu erhalten. Angenommen, Sie verfügen über eine verwaltete Identität für eine Logik-App, die Zugriff benötigt, um die Anwendungseinstellungen für dieselbe Logik-App über einen Workflow zu aktualisieren. Sie müssen dieser Identität Zugriff auf die zugeordnete Logik-App gewähren.

Um beispielsweise mit Ihrer verwalteten Identität auf ein Azure Blob Storage-Konto zuzugreifen, müssen Sie den Zugriff mithilfe der rollenbasierten Zugriffssteuerung von Azure (Azure Role-Based Access Control, Azure RBAC) einrichten und dem Speicherkonto die entsprechende Rolle für diese Identität zuweisen. In den Schritten in diesem Abschnitt wird beschrieben, wie Sie diese Aufgabe mithilfe des Azure-Portals und der Azure Resource Manager-Vorlage (ARM) ausführen. Informationen zu Azure PowerShell, Azure CLI und Azure REST-API finden Sie in der folgenden Dokumentation:

Tool Dokumentation
Azure PowerShell Hinzufügen der Rollenzuweisung
Azure CLI Hinzufügen der Rollenzuweisung
Azure-REST-API Hinzufügen der Rollenzuweisung

Für den Zugriff auf einen Azure-Schlüsseltresor mit Ihrer verwalteten Identität müssen Sie jedoch eine Zugriffsrichtlinie für diese Identität in Ihrem Schlüsseltresor erstellen und die entsprechenden Berechtigungen für diese Identität für diesen Schlüsseltresor zuweisen. In den späteren Schritten in diesem Abschnitt wird beschrieben, wie Sie diese Aufgabe mithilfe des Azure-Portals ausführen. Informationen zu Ressourcen-Manager-Vorlagen, PowerShell und Azure CLI finden Sie in der folgenden Dokumentation:

Tool Dokumentation
Azure Resource Manager-Vorlage (ARM-Vorlage) Key Vault-Zugriffsrichtlinien-Ressourcendefinition
Azure PowerShell Zuweisen einer Key Vault-Zugriffsrichtlinie
Azure CLI Zuweisen einer Key Vault-Zugriffsrichtlinie

Zuweisen des rollenbasierten Zugriffs für verwaltete Identitäten im Azure-Portal

Um eine verwaltete Identität für die Authentifizierung zu verwenden, erfordern einige Azure-Ressourcen wie Azure-Speicherkonten, dass Sie diese Identität einer Rolle zuweisen, die über die entsprechenden Berechtigungen für die Zielressource verfügt. Andere Azure-Ressourcen, z. B. Azure-Schlüsseltresore, erfordern, dass Sie eine Zugriffsrichtlinie erstellen, die über die entsprechenden Berechtigungen für die Zielressource für diese Identität verfügt.

  1. Öffnen Sie im Azure-Portal die Ressource, auf der Sie die Identität verwenden möchten.

  2. Wählen Sie im Menü "Ressource" die Option Access Control (IAM)> "Rollenzuweisung hinzufügen>" aus.

    Hinweis

    Wenn die Option Rollenzuweisung hinzufügen deaktiviert ist, sind Sie nicht zum Zuweisen von Rollen berechtigt. Weitere Informationen finden Sie unter Integrierte Rollen in Microsoft Entra.

  3. Weisen Sie nun Ihrer verwalteten Identität die erforderliche Rolle zu. Weisen Sie auf der Registerkarte Rolle eine Rolle zu, die Ihrer Identität den erforderlichen Zugriff auf die aktuelle Ressource gewährt.

    Weisen Sie in diesem Beispiel die Rolle mit dem Namen Mitwirkender an Storage-Blobdaten zu, die Schreibzugriff für Blobs in einem Azure Storage-Container umfasst. Weitere Informationen zu bestimmten Speichercontainerrollen finden Sie unter Rollen, die auf Blobs in einem Azure Storage-Container zugreifen können.

  4. Wählen Sie als Nächstes die verwaltete Identität aus, der Sie die Rolle zuweisen möchten. Wählen Sie unter Zugriff zuweisen zu die Optionen Verwaltete Identität>Mitglieder hinzufügen aus.

  5. Wählen Sie basierend auf dem Typ Ihrer verwalteten Identität die folgenden Werte aus, oder geben Sie sie an:

    type Azure-Dienstinstanz Subscription Member
    Systemseitig zugewiesen Logik-App <Name des Azure-Abonnements> <Name Ihrer Logik-App>
    Benutzerseitig zugewiesen Nicht zutreffend <Name des Azure-Abonnements> <Name Ihrer benutzerseitig zugewiesenen Identität>

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zuweisen von Rollen mithilfe des Azure-Portal.

  6. Anschließend können Sie die Identität verwenden, um den Zugriff für Trigger und Aktionen zu authentifizieren, die verwaltete Identitäten unterstützen.

Allgemeine Informationen zu diesem Vorgang finden Sie unter Zuweisen eines Zugriffs auf verwaltete Identitäten zu einer anderen Ressource mithilfe von Azure RBAC.

Erstellen einer Zugriffsrichtlinie im Azure-Portal

Zum Verwenden einer verwalteten Identität zur Authentifizierung erfordern einige Azure-Ressourcen, z. B. Azure-Schlüsseltresore, dass Sie eine Zugriffsrichtlinie erstellen, die über die entsprechenden Berechtigungen für die Zielressource für diese Identität verfügt. Einige Azure-Ressourcen wie Azure-Speicherkonten erfordern, dass Sie diese Identität einer Rolle zuweisen, die über die entsprechenden Berechtigungen für die Zielressource verfügt.

  1. Öffnen Sie im Azure-Portal die Zielressource, auf der Sie die Identität verwenden möchten. In diesem Beispiel wird ein Azure-Schlüsseltresor als Zielressource verwendet.

  2. Wählen Sie im Menü der Ressource Zugriffsrichtlinien erstellen>Erstellen aus, wodurch der Bereich Zugriffsrichtlinie erstellen geöffnet wird.

    Hinweis

    Wenn die Ressource nicht über die Option Zugriffsrichtlinien verfügt, versuchen Sie stattdessen, eine Rollenzuweisung durchzuführen.

    Screenshot shows Azure portal and key vault example with open pane named Access policies.

  3. Wählen Sie auf der Registerkarte Berechtigungen die erforderlichen Berechtigungen aus, die die Identität für den Zugriff auf die Zielressource benötigt.

    Um beispielsweise die Identität mit dem Vorgang Geheimnisse auflisten des verwalteten Azure Key Vault-Connectors zu verwenden, benötigt die Identität Berechtigungen zum Auflisten. Wählen Sie also in der Spalte Geheimnisberechtigungen die Option Auflisten aus.

    Screenshot shows Permissions tab with selected List permissions.

  4. Klicken Sie abschließend auf Weiter. Wählen Sie auf der Registerkarte Prinzipal die verwaltete Identität aus, bei der es sich in diesem Beispiel um eine vom Benutzer zugewiesene Identität handelt, und wählen Sie sie aus.

  5. Überspringen Sie den Schritt optionalen Schritt Anwendung, wählen Sie Weiter aus, und schließen Sie die Erstellung der Zugriffsrichtlinie ab.

Im nächsten Abschnitt wird die Verwendung einer verwalteten Identität erläutert, um den Zugriff für einen Trigger oder eine Aktion zu authentifizieren. Das Beispiel wird mit den Schritten aus einem früheren Abschnitt fortgesetzt, in dem Sie den Zugriff für eine verwaltete Identität mithilfe von RBAC einrichten. Dabei wird nicht Azure Key Vault als Beispiel verwendet. Die allgemeinen Schritte zum Verwenden einer verwalteten Identität für die Authentifizierung sind jedoch identisch.

Authentifizieren des Zugriffs mit der verwalteten Identität

Nachdem Sie die verwaltete Identität für die Logik-App-Ressource aktiviert und dieser Identität Zugriff auf die Zielressource oder Zielentität gewährt haben, können Sie diese Identität in Triggern und Aktionen verwenden, die verwaltete Identitäten unterstützen.

Wichtig

Für eine Azure-Funktion, für die die systemseitig zugewiesene Identität verwendet werden soll, müssen Sie zunächst die Authentifizierung für Azure-Funktionen aktivieren.

Die folgenden Schritte veranschaulichen, wie Sie die verwaltete Identität über das Azure-Portal mit einem Trigger oder einer Aktion verwenden. Informationen zum Angeben der verwalteten Identität in der zugrunde liegenden JSON-Definition eines Triggers oder einer Aktion finden Sie unter Authentifizierung der verwalteten Identität.

  1. Öffnen Sie Ihre Logik-App-Ressource im Azure-Portal.

  2. Wenn dies noch nicht erfolgt ist, fügen Sie den Trigger oder die Aktion hinzu, der bzw. die verwaltete Identitäten unterstützt.

    Hinweis

    Nicht alle Connectorvorgänge unterstützen das Hinzufügen eines Authentifizierungstyps. Weitere Informationen finden Sie unter Authentifizierungstypen für Trigger und Aktionen, die die Authentifizierung unterstützen.

  3. Führen Sie für den hinzugefügten Trigger oder die hinzugefügte Aktion die folgenden Schritte aus:

    • Integrierte Connectorvorgänge, die die verwaltete Identitätsauthentifizierung unterstützen

      1. Fügen Sie in der Liste Neuen Parameter hinzufügen die Eigenschaft Authentifizierung hinzu, wenn die Eigenschaft noch nicht angezeigt wird.

        Screenshot shows Consumption workflow with built-in action and opened list named Add new parameter, with selected option for Authentication.

      2. Wählen Sie in der Liste Authentifizierungstyp die Option Verwaltete Identität aus.

        Screenshot shows Consumption workflow with built-in action and opened list named Authentication type, with selected option for Managed identity.

      Weitere Informationen finden Sie unter Beispiel: Authentifizieren von integrierten Triggern oder Aktionen mit einer verwalteten Identität.

    • Verwaltete Connectorvorgänge, die die Authentifizierung mit verwalteter Identität unterstützen

      1. Wählen Sie auf der Seite zur Mandantenauswahl die Option Verbindung mit verwalteter Identität herstellen aus. Beispiel:

        Screenshot shows Consumption workflow with Azure Resource Manager action and selected option for Connect with managed identity.

      2. Geben Sie auf der nächsten Seite, Verbindungsname, einen Namen an, der für die Verbindung verwendet werden soll.

      3. Wählen Sie als Authentifizierungstyp basierend auf Ihrem verwalteten Connector eine der folgenden Optionen aus:

        • Einzelauthentifizierung: Diese Connectors unterstützen nur einen Authentifizierungstyp. Wählen Sie in der Liste Verwaltete Identität die derzeit aktivierte verwaltete Identität aus, sofern sie noch nicht ausgewählt ist, und wählen Sie dann Erstellen aus. Beispiel:

          Screenshot shows Consumption workflow, connection name box, and selected option for system-assigned managed identity.

        • Mehrfachauthentifizierung: Diese Connectors zeigen mehrere Authentifizierungstypen an, aber Sie können immer noch nur einen Typ auswählen. Wählen Sie in der Liste AuthentifizierungstypVerwaltete Identität der Logic Apps>Erstellen aus. Beispiel:

          Screenshot shows Consumption workflow, connection name box, and selected option for Logic Apps Managed Identity.

        Weitere Informationen finden Sie unter Beispiel: Authentifizieren des Triggers eines verwalteten Connectors oder einer Aktion mit einer verwalteten Identität.

Beispiel: Authentifizieren eines vordefinierten Triggers oder einer Aktion über eine verwaltete Identität

Die für die Logik-App-Ressource aktivierte systemseitig zugewiesene Identität kann von dem integrierten HTTP-Trigger oder der HTTP-Aktion verwendet werden. Im Allgemeinen werden im HTTP-Trigger oder der HTTP-Aktion die folgenden Eigenschaften verwendet, um die Ressource oder Entität anzugeben, auf die Sie zugreifen möchten:

Eigenschaft Erforderlich BESCHREIBUNG
Methode Ja Die HTTP-Methode, die in dem Vorgang verwendet wird, den Sie ausführen möchten.
URI Ja Die Endpunkt-URL für den Zugriff auf die Azure-Zielressource oder Azure-Zielentität. Die URI-Syntax enthält normalerweise die Ressourcen-ID für die Azure-Ressource oder den Azure-Dienst.
Headers Nein Alle Headerwerte, die Sie in der ausgehenden Anforderung einfügen müssen oder möchten, z. B. den Inhaltstyp
Abfragen Nein Alle Abfrageparameter, die Sie in die Anforderung einschließen müssen oder möchten – beispielsweise Abfrageparameter für einen bestimmten Vorgang oder für die API-Version des Vorgangs, den Sie ausführen möchten.
Authentifizierung Ja Der Authentifizierungstyp, der zum Authentifizieren des Zugriffs auf die Zielressource oder Zielentität verwendet wird.

Als konkretes Beispiel wird angenommen, dass Sie den Snapshot Blob-Vorgang für ein Blob in dem Azure Storage-Konto ausführen möchten, in dem Sie zuvor den Zugriff für die Identität eingerichtet haben. Jedoch unterstützt der Azure Blob Storage-Connector diesen Vorgang derzeit nicht. Stattdessen können Sie diesen Vorgang mithilfe der HTTP-Aktion oder mit einem anderen REST-API-Vorgang des Blob-Diensts ausführen.

Wichtig

Stellen Sie für den Zugriff auf Azure-Speicherkonten hinter Firewalls mithilfe des Azure Blob-Connectors und verwalteter Identitäten sicher, dass Sie Ihr Speicherkonto auch mit der Ausnahme, die den Zugriff durch vertrauenswürdige Microsoft-Dienste zulässt einrichten.

Zum Ausführen des Snapshot Blob-Vorgangs werden in der HTTP-Aktion die folgenden Eigenschaften angegeben:

Eigenschaft Erforderlich Beispielwert BESCHREIBUNG
Methode Ja PUT Die im Snapshot Blob-Vorgang verwendete HTTP-Methode
URI Ja https://<storage-account-name>/<folder-name>/{name} Die Ressourcen-ID für eine Azure Blob Storage-Datei in der globalen (öffentlichen) Azure-Umgebung, in der diese Syntax verwendet wird.
Headers Für Azure Storage x-ms-blob-type = BlockBlob

x-ms-version = 2019-02-02

x-ms-date = @{formatDateTime(utcNow(),'r')}

Die Headerwerte x-ms-blob-type, x-ms-version und x-ms-date, die für Azure Storage-Vorgänge erforderlich sind.

Wichtig: In ausgehenden Anforderungen für HTTP-Trigger und HTTP-Aktionen für Azure Storage sind für den Header die x-ms-version-Eigenschaft und die API-Version für den auszuführenden Vorgang erforderlich. x-ms-date muss das aktuelle Datum sein. Andernfalls tritt bei Ihrem Workflow ein 403 FORBIDDEN-Fehler auf. Um das aktuelle Datum im erforderlichen Format abzurufen, können Sie den Ausdruck im Beispielwert verwenden.

Weitere Informationen finden Sie in der folgenden Dokumentation:

- Anforderungsheader: Snapshot Blob
- Versionsverwaltung für Azure Storage-Dienste

Abfragen Nur für den Vorgang für den Momentaufnahmeblob comp = snapshot Der Name und der Wert des Abfrageparameters für den Vorgang.

Das folgende Beispiel zeigt eine HTTP-Beispielaktion mit allen zuvor beschriebenen Eigenschaftswerten, die für den Momentaufnahmeblobvorgang verwendet werden sollen:

Screenshot shows Azure portal, Consumption workflow, and HTTP action set up to access resources.

  1. Nachdem Sie die HTTP-Aktion hinzugefügt haben, fügen Sie ihr die Eigenschaft Authentifizierung hinzu. Wählen Sie in der Liste Neuen Parameter hinzufügen die Option Authentifizierung aus.

    Screenshot shows Consumption workflow with HTTP action and opened Add new parameter list with selected property named Authentication.

    Hinweis

    Sie können nicht für alle Trigger und Aktionen einen Authentifizierungstyp hinzufügen. Weitere Informationen finden Sie unter Authentifizierungstypen für Trigger und Aktionen, die die Authentifizierung unterstützen.

  2. Wählen Sie in der Liste Authentifizierungstyp die Option Verwaltete Identität aus.

    Screenshot shows Consumption workflow, HTTP action, and Authentication property with selected option for Managed identity.

  3. Wählen Sie in der Liste der verwalteten Identitäten einen Eintrag für Ihr Szenario aus.

    • Wenn Sie die vom System zugewiesene Identität eingerichtet haben, wählen Sie Systemseitig zugewiesene verwaltete Identität aus, sofern sie nicht bereits ausgewählt ist.

      Screenshot shows Consumption workflow, HTTP action, and Managed identity property with selected option for System-assigned managed identity.

    • Wenn Sie eine benutzerseitig zugewiesene Identität einrichten, wählen Sie diese Identität aus, sofern sie nicht bereits ausgewählt ist.

      Screenshot shows Consumption workflow, HTTP action, and Managed identity property with selected user-assigned identity.

    In diesem Beispiel wird weiterhin die Systemseitig zugewiesene verwaltete Identität verwendet.

  4. Bei einigen Triggern und Aktionen wird die Audience-Eigenschaft auch angezeigt, damit Sie die Zielressourcen-ID festlegen können. Legen Sie den Wert der Audience-Eigenschaft auf die Ressourcen-ID für die Zielressource oder den Zieldienst fest. Andernfalls wird für die Audience-Eigenschaft standardmäßig die Ressourcen-ID https://management.azure.com/ verwendet, bei der es sich um die Ressourcen-ID für Azure Resource Manager handelt.

    Wenn Sie beispielsweise den Zugriff auf eine Key Vault-Ressource in der globalen Azure-Cloud authentifizieren möchten, müssen Sie die Audience-Eigenschaft auf exakt die folgende Ressourcen-ID festlegen: https://vault.azure.net. Diese spezifische Ressourcen-ID enthält keine nachgestellten Schrägstriche. Tatsächlich kann das Einschließen eines nachgestellten Schrägstrichs entweder einen Fehler vom Typ 400 Bad Request oder 401 Unauthorized bewirken.

    Wichtig

    Vergewissern Sie sich, dass die Zielressourcen-ID genau dem Wert entspricht, der in Microsoft Entra ID erwartet wird, einschließlich aller erforderlichen nachgestellten Schrägstriche. Die Ressourcen-ID für alle Azure Blob Storage-Konten erfordert z. B. einen nachgestellten Schrägstrich. Allerdings erfordert die Ressourcen-ID für ein bestimmtes Speicherkonto keinen nachgestellten Schrägstrich. Hier finden Sie die Ressourcen-IDs für die Azure-Dienste, die die Microsoft Entra ID-Authentifizierung unterstützen.

    In diesem Beispiel wird die Audience-Eigenschaft auf https://storage.azure.com/ festgelegt, sodass die für die Authentifizierung verwendeten Zugriffstoken für alle Speicherkonten gültig sind. Sie können jedoch auch die Stammdienst-URL für ein bestimmtes Speicherkonto angeben, z. B. https://<your-storage-account>.blob.core.windows.net.

    Screenshot shows Consumption workflow, HTTP action, and Audience

    Weitere Informationen zum Autorisieren des Zugriffs mit Microsoft Entra ID für Azure Storage finden Sie in der folgenden Dokumentation:

  5. Fahren Sie damit fort, den Workflow wie gewünscht zu erstellen.

Beispiel: Authentifizieren eines Triggers oder einer Aktion eines verwalteter Connectors über eine verwaltete Identität

Der Azure Resource Manager-Connector verfügt über eine Aktion namens Ressource lesen, die die verwaltete Identität verwenden kann, die Sie für Ihre Logik-App-Ressource aktivieren. Dieses Beispiel zeigt Ihnen die Verwendung der systemseitig zugewiesenen verwalteten Identität.

  1. Nachdem Sie Ihrem Workflow die Aktion hinzugefügt und Ihren Microsoft Entra-Mandanten ausgewählt haben, wählen Sie Mit verwalteter Identität verbinden aus.

    Screenshot shows Consumption workflow, Azure Resource Manager action, and selected option for Connect with managed identity.

  2. Geben Sie auf der Seite „Verbindungsname“ einen Namen für die Verbindung an, und wählen Sie die verwaltete Identität aus, die Sie verwenden möchten.

    Die Azure Resource Manager-Aktion ist eine Einzelauthentifizierungsaktion, sodass im Verbindungsinformationsfeld eine Liste der verwalteten Identitäten angezeigt wird, die automatisch die verwaltete Identität auswählt, die derzeit in der Logik-App-Ressource aktiviert ist. Wenn Sie eine systemseitig zugewiesene verwaltete Identität aktiviert haben, wählt die Liste Verwaltete Identitätdie systemseitig zugewiesene verwaltete Identität aus. Wenn Sie stattdessen eine benutzerseitig zugewiesene verwaltete Identität aktiviert haben, wählt die Liste stattdessen diese Identität aus.

    Wenn Sie einen Multiauthentifizierungstrigger oder eine Aktion verwenden, z. B. Azure Blob Storage, zeigt das Verbindungsinformationsfeld eine Authentifizierungstypliste an, die die Option "Verwaltete Identität von Logik-Apps" unter anderen Authentifizierungstypen enthält.

    In diesem Beispiel ist die systemseitig zugewiesene verwaltete Identität die einzige verfügbare Auswahl.

    Screenshot shows Consumption workflow and Azure Resource Manager action with connection name entered and selected option for System-assigned managed identity.

    Hinweis

    Wenn die verwaltete Identität nicht aktiviert ist, wenn Sie versuchen, die Verbindung zu erstellen, die Verbindung zu ändern oder entfernt wurde, während eine Verbindung mit aktivierter verwalteter Identität noch vorhanden ist, wird eine Fehlermeldung angezeigt, dass Sie die Identität aktivieren und Zugriff auf die Zielressource gewähren müssen.

  3. Wählen Sie Erstellen aus, wenn Sie fertig sind.

  4. Nachdem der Designer die Verbindung erfolgreich erstellt hat, kann er dynamische Werte, Inhalte oder Schemas durch Authentifizierung über die verwaltete Identität abrufen.

  5. Fahren Sie damit fort, den Workflow wie gewünscht zu erstellen.

Ressourcendefinition und Verbindungen von Logik-Apps, die eine verwaltete Identität verwenden

Eine Verbindung, die eine verwaltete Identität aktiviert und verwendet, entspricht einem speziellen Verbindungstyp, der nur mit einer verwalteten Identität funktioniert. Zur Laufzeit verwendet die Verbindung die verwaltete Identität, die für die Logik-App-Ressource aktiviert wurde. Während der Laufzeit prüft der Azure Logic Apps-Dienst, ob ein Trigger des verwalteten Connectors und Aktionen im Logik-App-Workflow für die Verwendung der verwalteten Identität eingerichtet sind. Außerdem stellt er sicher, dass alle erforderlichen Berechtigungen eingerichtet sind, um über die verwaltete Identität auf die Zielressourcen zuzugreifen, die durch den Trigger und die Aktionen angegeben werden. Bei erfolgreicher Ausführung ruft Azure Logic App das Microsoft Entra-Token ab, das der verwalteten Identität zugeordnet ist, authentifiziert anhand dieser Identität den Zugriff auf die Zielressource und führt den konfigurierten Vorgang in Triggern und Aktionen aus.

In einer Ressourcenressource der Verbrauchslogik-App wird die Verbindungskonfiguration im Objekt der Logik-App-Ressourcendefinition parameters gespeichert, das das $connections Objekt enthält, das Zeiger auf die Ressourcen-ID der Verbindung zusammen mit der Ressourcen-ID der Identität enthält, wenn die vom Benutzer zugewiesene Identität aktiviert ist.

Dieses Beispiel zeigt die Konfiguration bei Aktivierung der systemseitig zugewiesenen verwalteten Identität in der Logik-App:

"parameters": {
   "$connections": {
      "value": {
         "<action-name>": {
            "connectionId": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/connections/{connection-name}",
            "connectionName": "{connection-name}",
            "connectionProperties": {
               "authentication": {
                  "type": "ManagedServiceIdentity"
               }
            },
            "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/{managed-connector-type}"
         }
      }
   }
}

Dieses Beispiel zeigt die Konfiguration bei Aktivierung einer benutzerseitig zugewiesenen verwalteten Identität in der Logik-App:

"parameters": {
   "$connections": {
      "value": {
         "<action-name>": {
            "connectionId": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/connections/{connection-name}",
            "connectionName": "{connection-name}",
            "connectionProperties": {
               "authentication": {
                  "type": "ManagedServiceIdentity",
                  "identity": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{resourceGroupName}/providers/microsoft.managedidentity/userassignedidentities/{managed-identity-name}"
               }
            },
            "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/{managed-connector-type}"
         }
      }
   }
}

ARM-Vorlage für API-Verbindungen und verwaltete Identitäten

Wenn Sie eine ARM-Vorlage zum Automatisieren der Bereitstellung verwenden und Ihr Workflow eine API-Verbindung enthält, die von einem verwalteten Connector wie Office 365 Outlook, Azure Key Vault usw. erstellt wird, der eine verwaltete Identität verwendet, müssen Sie einen zusätzlichen Schritt ausführen.

In einer ARM-Vorlage unterscheidet sich die zugrunde liegende Definition der Connectorressource je nachdem, ob Sie eine Verbrauchs- oder Standard-Logik-App haben und ob der Connector Optionen für die einfache oder mehrfache Authentifizierung aufweist.

Die folgenden Beispiele gelten für Ressourcen der Verbrauchslogik-App und zeigen, wie sich die zugrunde liegende Connectorressourcendefinition zwischen einem Single-Authentication-Connector, z. B. Azure Automation, und einem Multiauthentifizierungsconnector wie Azure Blob Storage unterscheidet.

Einfache Authentifizierung

In diesem Beispiel wird die zugrunde liegende Definition einer Verbindungsressource für eine Azure Automation-Aktion in einer Verbrauchs-Logik-App gezeigt, die eine verwaltete Identität verwendet, wobei die Definition die folgenden Attribute enthält:

  • Die kind-Eigenschaft wird für eine Verbrauchs-Logik-App auf V1 festgelegt.
  • Die parameterValueType-Eigenschaft ist auf Alternative festgelegt.
{
    "type": "Microsoft.Web/connections",
    "apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
    "name": "[variables('connections_azureautomation_name')]",
    "location": "[parameters('location')]",
    "kind": "V1",
    "properties": {
        "alternativeParameterValues": {},
        "api": {
            "id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), 'azureautomation')]"
        },
        "authenticatedUser": {},
        "connectionState": "Enabled",
        "customParameterValues": {},
        "displayName": "[variables('connections_azureautomation_name')]",
        "parameterValueSet": {},
        "parameterValueType": "Alternative"
    }
},

Mehrfachauthentifizierung

In diesem Beispiel wird die zugrunde liegende Definition einer Verbindungsressource für eine Azure Blob Storage-Aktion in einer Verbrauchs-Logik-App gezeigt, die eine verwaltete Identität verwendet, wobei die Definition die folgenden Attribute enthält:

  • Die kind-Eigenschaft wird für eine Verbrauchs-Logik-App auf V1 festgelegt.
  • Das parameterValueSet-Objekt umfasst eine name-Eigenschaft, die auf festgelegt managedIdentityAuth ist, sowie eine values-Eigenschaft, die auf ein leeres Objekt festgelegt ist.
{
    "type": "Microsoft.Web/connections",
    "apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
    "name": "[variables('connections_azureblob_name')]",
    "location": "[parameters('location')]",
    "kind": "V1",
    "properties": {
        "alternativeParameterValues":{},
        "api": {
            "id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), 'azureblob')]"
        },
        "authenticatedUser": {},
        "connectionState": "Enabled",
        "customParameterValues": {},
        "displayName": "[variables('connections_azureblob_name')]",
        "parameterValueSet":{
            "name": "managedIdentityAuth",
            "values": {}
        },
        "parameterValueType": "Alternative"
    }
}

Einrichten der erweiterten Steuerung der API-Verbindungsauthentifizierung

Wenn Ihr Workflow eine API-Verbindung verwendet, die von einem verwalteten Connector wie Office 365 Outlook, Azure Key Vault usw. erstellt wird, kommuniziert der Azure Logic Apps-Dienst über zwei Verbindungen mit der Zielressource, z. B. Ihrem E-Mail-Konto, Ihrem Schlüsseltresor usw.:

Conceptual diagram showing first connection with authentication between logic app and token store plus second connection between token store and target resource.

  • Verbindung 1 wird mit Authentifizierung für den internen Tokenspeicher eingerichtet.

  • Verbindung 2 wird mit Authentifizierung für die Zielressource eingerichtet.

In einer Verbrauchs-Logik-App-Ressource wird Verbindung 1 ohne Konfigurationsoptionen von Ihnen abstrahiert. Im Standard-Logik-App-Ressourcentyp haben Sie mehr Kontrolle über Ihre Logik-App. Standardmäßig wird die Verbindung 1 automatisch für die Verwendung der systemseitig zugewiesenen Identität eingerichtet.

Wenn Ihr Szenario jedoch eine feinere Steuerung der Authentifizierung von API-Verbindungen erfordert, können Sie optional die Authentifizierung für Verbindung 1 von der vom System zugewiesenen Standardidentität in eine beliebige vom Benutzer zugewiesene Identität ändern, die Sie Ihrer Logik-App hinzugefügt haben. Diese Authentifizierung gilt für jede API-Verbindung, sodass Sie vom System zugewiesene und vom Benutzer zugewiesene Identitäten verschiedene Verbindungen übergreifend für dieselbe Zielressource kombinieren können.

In der Datei connections.json Ihrer Standard-Logik-App, in der Informationen zu jeder API-Verbindung gespeichert werden, enthält jede Verbindungsdefinition zwei authentication-Abschnitte, z. B.:

"keyvault": {
   "api": {
      "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{region}/managedApis/keyvault"
   },
   "authentication": {
      "type": "ManagedServiceIdentity",
   },
   "connection": {
      "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/connections/<connection-name>"
   },
   "connectionProperties": {
      "authentication": {
         "audience": "https://vault.azure.net",
         "type": "ManagedServiceIdentity"
      }
   },
   "connectionRuntimeUrl": "<connection-runtime-URL>"
}
  • Der erste Abschnitt vom Typ authentication ist der Verbindung 1 zugeordnet. In diesem Abschnitt wird die Authentifizierung beschrieben, die für die Kommunikation mit dem internen Tokenspeicher verwendet wird. In der Vergangenheit wurde dieser Abschnitt für eine App, die in Azure bereitgestellt wurde und keine konfigurierbaren Optionen hatte, immer auf ManagedServiceIdentity festgelegt.

  • Der zweite Abschnitt vom Typ authentication ist der Verbindung 2 zugeordnet. In diesem Abschnitt wird die Authentifizierung beschrieben, die für die Kommunikation mit der Zielressource verwendet wird, und kann je nach dem Authentifizierungstyp variieren, den Sie für diese Verbindung auswählen.

Warum sollte die Authentifizierung für den Tokenspeicher geändert werden?

In einigen Szenarien können Sie dieselbe API-Verbindung für mehrere Logik-Apps freigeben und verwenden, aber nicht die vom System zugewiesene Identität für jede Logik-App der Zugriffsrichtlinie der Zielressource hinzufügen.

In anderen Szenarien möchten Sie nicht, dass die vom System zugewiesene Identität vollständig in Ihrer Logik-App eingerichtet wird, sodass Sie die Authentifizierung in eine vom Benutzer zugewiesene Identität ändern und die vom System zugewiesene Identität vollständig deaktivieren können.

Ändern der Authentifizierung für den Tokenspeicher

  1. Öffnen Sie im Azure-Portal Ihre Ressource vom Typ „Logic App (Standard)“.

  2. Wählen Sie im Ressourcenmenü unter Workflows die Option Verbindungen aus.

  3. Wählen Sie im Bereich „Verbindungen“ die Option JSON-Ansicht aus.

    Screenshot showing the Azure portal, Standard logic app resource,

  4. Suchen Sie im JSON-Editor nach dem Abschnitt managedApiConnections, der die API-Verbindungen für alle Workflows in Ihrer Logik-App-Ressource enthält.

  5. Suchen Sie die Verbindung, der Sie eine vom Benutzer zugewiesene verwaltete Identität hinzufügen möchten. Angenommen, Ihr Workflow verfügt über eine Azure Key Vault-Verbindung:

    "keyvault": {
       "api": {
          "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{region}/managedApis/keyvault"
       },
       "authentication": {
          "type": "ManagedServiceIdentity"
       },
       "connection": {
          "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/connections/<connection-name>"
       },
       "connectionProperties": {
          "authentication": {
             "audience": "https://vault.azure.net",
             "type": "ManagedServiceIdentity"
          }
       },
       "connectionRuntimeUrl": "<connection-runtime-URL>"
    }
    
  6. Führen Sie in der Verbindungsdefinition die folgenden Schritte aus:

    1. Suchen Sie den ersten authentication-Abschnitt. Wenn in diesem authentication-Abschnitt noch keine identity-Eigenschaft vorhanden ist, verwendet die Logik-App implizit die vom System zugewiesene Identität.

    2. Fügen Sie mithilfe des Beispiels in diesem Schritt eine identity-Eigenschaft hinzu.

    3. Legen Sie den Eigenschaftswert auf die Ressourcen-ID für die vom Benutzer zugewiesene Identität fest.

    "keyvault": {
       "api": {
          "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{region}/managedApis/keyvault"
       },
       "authentication": {
          "type": "ManagedServiceIdentity",
          // Add "identity" property here
          "identity": "/subscriptions/{Azure-subscription-ID}/resourcegroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-resource-ID}" 
       },
       "connection": {
          "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/connections/<connection-name>"
       },
       "connectionProperties": {
          "authentication": {
             "audience": "https://vault.azure.net",
             "type": "ManagedServiceIdentity"
          }
       },
       "connectionRuntimeUrl": "<connection-runtime-URL>"
    }
    
  7. Wechseln Sie im Azure-Portal zur Zielressource, und gewähren Sie basierend auf den Anforderungen der Zielressource Zugriff auf die vom Benutzer zugewiesene verwaltete Identität.

    Fügen Sie beispielsweise für Azure Key Vault die Identität den Zugriffsrichtlinien des Schlüsseltresors hinzu. Weisen Sie für Azure Blob Storage die erforderliche Rolle für die Identität dem Speicherkonto zu.

Deaktivieren von verwalteten Identitäten

Um die Verwendung der verwalteten Identität für die Authentifizierung zu beenden, entfernen Sie zunächst den Zugriff der Identität auf die Zielressource. Deaktivieren Sie als Nächstes in Ihrer Logik-App-Ressource die systemseitig zugewiesene Identität, oder entfernen Sie die vom Benutzer zugewiesene Identität.

Wenn Sie die verwaltete Identität für Ihre Logik-App-Ressource deaktivieren, entfernen Sie die Funktion für diese Identität, Zugriff auf Azure-Ressourcen anzugeben, auf die die Identität Zugriff hatte.

Hinweis

Wenn Sie die systemseitig zugewiesene Identität deaktivieren, funktionieren alle Verbindungen, die von Workflows im Workflow dieser Logik-App verwendet werden, nicht zur Laufzeit, auch wenn Sie die Identität sofort wieder aktivieren. Dieses Verhalten tritt auf, da durch das Deaktivieren der Identität die Objekt-ID gelöscht wird. Jedes Mal, wenn Sie die Identität aktivieren, generiert Azure die Identität mit einer anderen und eindeutigen Objekt-ID. Um dieses Problem zu beheben, müssen Sie die Verbindungen neu erstellen, damit sie die aktuelle Objekt-ID für die aktuelle systemseitig zugewiesene Identität verwenden.

Versuchen Sie, die systemseitig zugewiesene Identität so weit wie möglich zu deaktivieren. Wenn Sie den Zugriff der Identität auf Azure-Ressourcen entfernen möchten, entfernen Sie die Rollenzuweisung der Identität aus der Zielressource. Wenn Sie die Logik-App-Ressource löschen, wird in Azure die verwaltete Identität automatisch aus Microsoft Entra ID entfernt.

Die Schritte in diesem Abschnitt behandeln die Verwendung des Azure-Portals und der Azure Resource Manager Vorlage (ARM-Vorlage). Informationen zu Azure PowerShell, Azure CLI und Azure REST-API finden Sie in der folgenden Dokumentation:

Tool Dokumentation
Azure PowerShell 1. Entfernen von Rollenzuweisungen.
2. Löschen von benutzerseitig zugewiesenen Identitäten.
Azure-Befehlszeilenschnittstelle 1. Entfernen von Rollenzuweisungen.
2. Löschen von benutzerseitig zugewiesenen Identitäten.
Azure-REST-API 1. Entfernen von Rollenzuweisungen.
2. Löschen von benutzerseitig zugewiesenen Identitäten.

Deaktivieren der verwalteten Identität im Azure-Portal

Um den Zugriff für die verwaltete Identität zu entfernen, entfernen Sie die Rollenzuweisung der Identität aus der Zielressource, und deaktivieren Sie dann die verwaltete Identität.

Entfernen von Rollenzuweisungen

Mit den folgenden Schritten wird der Zugriff auf die Zielressource aus der verwalteten Identität entfernt:

  1. Navigieren Sie im Azure-Portal zu der Azure-Zielressource, für die Sie den Zugriff für die verwaltete Identität aufheben möchten.

  2. Wählen Sie im Menü der Zielressource die Option Zugriffssteuerung (IAM) aus. Wählen Sie auf der Symbolleiste die Option Rollenzuweisungen aus.

  3. Wählen Sie in der Liste der Rollen die verwalteten Identitäten aus, die Sie entfernen möchten. Wählen Sie auf der Symbolleiste die Option Entfernen aus.

    Tipp

    Wenn die Option Entfernen deaktiviert ist, verfügen Sie wahrscheinlich nicht über die erforderlichen Berechtigungen. Weitere Informationen zu den Berechtigungen, mit denen Sie Rollen für Ressourcen verwalten können, finden Sie unter Administratorrollenberechtigungen in microsoft Entra ID.

Deaktivieren einer verwalteten Identität für die Logik-App-Ressource

  1. Öffnen Sie Ihre Logik-App-Ressource im Azure-Portal.

  2. Wählen Sie im Navigationsmenü der Logik-App unter Einstellungen die Option Identität aus, und befolgen Sie dann die Schritte für Ihre Identität:

    • Wählen Sie Vom System zugewiesen>Ein>Speichern aus. Wenn Sie von Azure zur Bestätigung aufgefordert werden, wählen Sie Ja aus.

    • Wählen Sie Vom Benutzer zugewiesen, die verwaltete Identität und dann Entfernen aus. Wenn Sie von Azure zur Bestätigung aufgefordert werden, wählen Sie Ja aus.

Deaktivieren einer verwalteten Identität in einer ARM-Vorlage

Wenn Sie die verwaltete Identität der Logik-App mithilfe einer ARM-Vorlage erstellt haben, legen Sie die untergeordnete type-Eigenschaft des identity-Objekts auf None fest.

"identity": {
   "type": "None"
}

Nächste Schritte