Authentifizieren des Zugriffs auf Azure-Ressourcen mithilfe verwalteter Identitäten in Azure Logic Apps

In Logik-App-Workflows unterstützen einige Trigger und Aktionen die Verwendung einer verwalteten Identität, um den Zugriff auf Ressourcen zu authentifizieren, die von Azure Active Directory (Azure AD) geschützt werden. Diese Identität wurde zuvor als verwaltete Dienstidentität (Managed Service Identity, MSI) bezeichnet. Wenn Sie Ihre Logik-App-Ressource zur Verwendung einer verwalteten Identität für die Authentifizierung aktivieren, müssen Sie keine Anmeldeinformationen, Geheimnisse oder Azure AD-Token bereitstellen. Azure verwaltet diese Identität und hilft, die Sicherheit von Authentifizierungsinformationen zu bewahren, da Sie keine dieser sensiblen Daten verwalten müssen.

Azure Logic Apps unterstützt die vom System zugewiesene verwaltete Identität und die vom Benutzer zugewiesene verwaltete Identität, aber es gibt die folgenden Unterschiede zwischen diesen Identitätstypen:

  • 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.

  • 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-Ressourcentyp Environment Unterstützung verwalteter Identitäten
    Nutzung - Azure Logic Apps mit mehreren Mandanten

    - Integrationsdienstumgebung (Integration Service Environment, ISE)

    – Sie können entweder den vom System zugewiesenen Identitätstyp oder den vom Benutzer zugewiesenen Identitätstyp für Ihre Logik-App-Ressource aktivieren.

    – Wenn diese Option mit dem vom Benutzer zugewiesenen Identitätstyp aktiviert ist, kann Ihre Logik-App-Ressource jeweils nur über eine einzelne vom Benutzer zugewiesene Identität verfügen.

    – Sie können die Identität auf der Logik-App-Ressourcenebene und auf der Verbindungsebene 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 den systemseitig zugewiesenen, standardmäßig aktivierten Identitätstyp als auch den vom Benutzer zugewiesenen Identitätstyp gleichzeitig aktivieren.

    – Ihre Logik-App-Ressource kann mehrere vom Benutzer zugewiesene Identitäten gleichzeitig aufweisen.

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

Weitere 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 Logik-App „Verbrauch“ und „Standard“ finden Sie in der folgenden Dokumentation:

Verwendung einer verwalteten Identität

Nur bestimmte integrierte und verwaltete Connectorvorgänge, die Azure AD Open Authentication (Azure AD OAuth) unterstützen, können eine verwaltete Identität für die Authentifizierung verwenden. Die folgende Tabelle enthält nur eine Beispielauswahl. Eine ausführlichere Liste der Authentifizierungstypen für Trigger und Aktionen, die die Authentifizierung unterstützen, und Azure-Dienste, die Azure AD Authentifizierung mit verwalteten Identitäten unterstützen.

In der folgenden Tabelle sind die Vorgänge aufgeführt, bei denen Sie entweder die systemseitig zugewiesene verwaltete Identität oder die benutzerseitig zugewiesene verwaltete Identität im Ressourcentyp Logik-App (Verbrauch) verwenden können:

Vorgangsart Unterstützte Vorgänge
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.

Verwalteter Connector Einmalige Authentifizierung:
– Azure Automation
– Azure Event Grid
– Azure Key Vault
– Azure Resource Manager
– HTTP mit Azure AD

Mehrfachauthentifizierung:
: Azure Blob Storage
– Azure Event Hubs
– Azure Service Bus
- SQL Server

In diesem Artikel erfahren Sie, wie Sie die systemseitig zugewiesene Identität oder die benutzerseitig zugewiesene Identität basierend darauf aktivieren und einrichten, ob Sie den Ressourcentyp Logik-App (Verbrauch) oder Logik-App (Standard) verwenden. Im Gegensatz zur systemseitig zugewiesenen Identität, die Sie nicht manuell erstellen müssen, müssen Sie die benutzerseitig zugewiesene Identität manuell erstellen. Dieser Artikel enthält die Schritte zum Erstellen der vom Benutzer zugewiesenen Identität mithilfe der Azure-Portal- und Azure Resource Manager-Vorlage (ARM-Vorlage). Informationen zu Azure PowerShell, Azure CLI und der 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

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.

  • Damit eine verwaltete Identität Zugriff auf eine Azure-Ressource erhält, müssen Sie der Zielressource eine Rolle für diese Identität hinzufügen. Für das Hinzufügen von Rollen benötigen Sie Azure AD-Administratorberechtigungen, mit denen Rollen verwalteten Identitäten im zugehörigen Azure AD-Mandanten zugewiesen werden können.

  • Die Azure-Zielressource, auf die Sie zugreifen möchten. Für diese Ressource fügen Sie eine Rolle für die verwaltete Identität hinzu, die der Ressource oder Verbindung der Logik-App hilft, den Zugriff auf die Zielressource zu authentifizieren.

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

Aktivieren der systemseitig 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 im Bereich Identität unter dem System zugewiesen die Option Aktiviert>Speichern aus. Wenn Sie von Azure zur Bestätigung aufgefordert werden, wählen Sie Ja aus.

    Screenshot showing Azure portal with Consumption logic app's

    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 systemseitig zugewiesene Identität hinzufügen können, müssen Sie zuerst die benutzerseitig 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 Azure AD registriert und durch eine Objekt-ID dargestellt.

    Screenshot showing Consumption logic app's

    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 Azure AD-Mandanten angibt.
  4. Führen Sie nun die Schritte für das Gewähren des Zugriffs der Identität auf die Ressource weiter unten in diesem Thema aus.

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 verwaltete 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 Azure AD-Mandanten angibt. Diese GUID wird manchmal als „Objekt-ID“ oder objectID angezeigt.
tenantId <Azure-AD-tenant-ID> Die GUID (Globally Unique Identifier), die den Azure AD-Mandanten angibt, in dem die Logik-App nun Mitglied ist. Unter dem Azure AD-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 Logik-App (Verbrauch)- oder Logik-App (Standard)-Ressource aktivieren können, müssen Sie diese Identität zunächst als separate Azure-Ressource erstellen.

  1. Geben Sie in das Suchfeld des Azure-Portalsmanaged identities ein. Klicken Sie auf Verwaltete Identitäten.

    Screenshot showing Azure portal with

  2. Wählen Sie im Bereich Verwaltete IdentitätenErstellen aus.

    Screenshot showing

  3. Geben Sie Informationen zu Ihrer verwalteten Identität an, und wählen Sie dann Überprüfen und erstellen aus, beispielsweise:

    Screenshot showing

    Eigenschaft Erforderlich Wert BESCHREIBUNG
    Abonnement Ja <Name des Azure-Abonnements> Der Name des zu verwendenden Azure-Abonnements
    Ressourcengruppe Ja <Name der Azure-Ressourcengruppe> Der Name der zu verwendenden Azure-Ressourcengruppe. Erstellen Sie eine neue Gruppe, oder wählen Sie eine vorhandene Gruppe aus. Dieses Beispiel erstellt eine neue Gruppe namens fabrikam-managed-identities-RG.
    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 im Bereich Identität die Option benutzerseitig zugewiesen>Hinzufügen aus.

    Screenshot showing Consumption logic app and

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

    1. Wählen Sie in der Liste Abonnement Ihr Azure-Abonnement aus, sofern noch nicht ausgewählt.

    2. Wählen Sie in der Liste mit allen verwalteten Identitäten in diesem Abonnement die gewünschte benutzerseitig 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 showing Consumption logic app and the user-assigned identity selected.

    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 showing Consumption logic app and association between user-assigned identity and logic app resource.

  5. Führen Sie nun die Schritte für das Gewähren des Zugriffs der Identität auf die Ressource weiter unten in diesem Thema aus.

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

Dieses Beispiel zeigt die Ressourcendefinition einer Verbrauchs-Logik-App für eine HTTP PUT-Anforderung inklusive eines nicht parametrisierten identity-Objekts. Die Antworten auf die PUT-Anforderung und den nachfolgenden GET-Vorgang enthalten ebenfalls 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. Dieses Beispiel zeigt, wie das untergeordnete userAssignedIdentities-Objekt auf die Variable userAssignedIdentityName verweist, die Sie im Abschnitt variables Ihrer Vorlage 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.

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 der 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 Resource 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ü der Ressource die Optionen Zugriffssteuerung (IAM)>Hinzufügen>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 Azure AD-Rollen.

  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 Rollen für Speichercontainer 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 in der Dokumentation Zuweisen von Rollen über das 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.

Weitere allgemeine Informationen zu dieser Aufgabe finden Sie unter Zuweisen des Zugriffs einer verwalteten Identität auf eine andere 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 showing the Azure portal and key vault example with

  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 showing

  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

    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.

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

    • Eingebaute Vorgänge, die die Authentifizierung der verwalteten Identität 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 showing example built-in action with

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

        Screenshot showing example built-in action with

      Weitere Informationen finden Sie im Beispiel: Authentifizieren eines vordefinierten Triggers oder einer Aktion über eine verwaltete 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 showing Azure Resource Manager action and

      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 showing the connection name page and single managed identity selected in Consumption.

        • 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 showing the connection name page and

        Weitere Informationen finden Sie im Beispiel: Authentifizieren eines Triggers mit verwaltetem Connector oder einer Aktion über eine verwaltete 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

Um über HTTP-Anforderungen und verwaltete Identitäten auf Azure Storage-Konten hinter Firewalls zuzugreifen, müssen Sie sicherstellen, dass Sie auch das Speicherkonto mit der Ausnahme einrichten, die den Zugriff durch vertrauenswürdige Microsoft-Dienste zulässt.

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 diesen Themen:

- 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 showing Azure portal with Consumption logic app workflow and HTTP action set up to access resource.

  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 showing Consumption workflow with HTTP action and

    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 showing Consumption workflow with HTTP action and

  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 showing Consumption workflow with HTTP action and

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

      Screenshot showing Consumption workflow with HTTP action and

    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 Azure Active Directory (AD) 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 Azure AD-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 showing Consumption workflow with HTTP action and

    Weitere Informationen zum Autorisieren des Zugriffs mit Azure AD 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 Azure AD-Mandanten ausgewählt haben, wählen Sie Mit verwalteter Identität verbinden aus.

    Screenshot showing Azure Resource Manager action and

  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 Bereich „Verbindungsinformationen“ eine Liste mit „verwalteten Identitäten“ angezeigt wird, die automatisch die verwaltete Identität auswählt, die derzeit für die 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 Trigger oder eine Aktion mit mehreren Authentifizierungen verwenden, z. B. Azure Blob Storage, wird im Bereich „Verbindungsinformationen“ eine Liste mit dem Authentifizierungstyp angezeigt, die die Option Verwaltete Identität der Logic Apps und andere Authentifizierungstypen enthält.

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

    Screenshot showing Azure Resource Manager action with the connection name entered and

    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 Azure AD-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 Trigger und Aktionen aus.

In einer Logik-App-Ressource (Verbrauch) wird die Verbindungskonfiguration im parameters-Objekt der Logik-App-Ressourcendefinition gespeichert, das das Objekt $connections 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 Verbrauchs-Logik-Apps und zeigen, wie sich die zugrunde liegende Definition der Connectorressource zwischen einem Connector mit einfacher Authentifizierung, z. B. Azure Automation, und einem Connector mit mehrfacher Authentifizierung 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 apiVersion-Eigenschaft ist auf 2016-06-01 festgelegt.
  • Die kind-Eigenschaft wird für eine Verbrauchs-Logik-App auf V1 festgelegt.
  • Die parameterValueType-Eigenschaft ist auf Alternative festgelegt.
{
    "type": "Microsoft.Web/connections",
    "name": "[variables('connections_azureautomation_name')]",
    "apiVersion": "2016-06-01",
    "location": "[parameters('location')]",
    "kind": "V1",
    "properties": {
        "api": {
            "id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), 'azureautomation')]"
        },
        "customParameterValues": {},
        "displayName": "[variables('connections_azureautomation_name')]",
        "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 apiVersion-Eigenschaft ist auf 2018-07-01-preview festgelegt.
  • 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": "2018-07-01-preview",
    "name": "[variables('connections_azureblob_name')]",
    "location": "[parameters('location')]",
    "kind": "V1",
    "properties": {
        "alternativeParameterValues":{},
        "api": {
            "id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), 'azureblob')]"
        },
        "customParameterValues": {},
        "displayName": "[variables('connections_azureblob_name')]",
        "parameterValueSet":{
            "name": "managedIdentityAuth",
            "values": {}
        }
    }
}

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 Azure AD 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 der 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 Berechtigungen der Administratorrolle in Azure Active Directory.

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