Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps

Gäller för: Azure Logic Apps (Förbrukning + Standard)

När du använder en hanterad identitet för att autentisera åtkomst eller anslutningar till Microsoft Entra-skyddade resurser från logikappens arbetsflöde behöver du inte ange autentiseringsuppgifter, hemligheter eller Microsoft Entra-token. I Azure Logic Apps stöder vissa anslutningsåtgärder användning av en hanterad identitet när du måste autentisera åtkomst till resurser som skyddas av Microsoft Entra-ID. Azure hanterar den här identiteten och hjälper till att skydda autentiseringsinformationen eftersom du inte behöver hantera den här känsliga informationen. Mer information finns i Vad är hanterade identiteter för Azure-resurser?

Azure Logic Apps stöder den systemtilldelade hanterade identiteten och den användartilldelade hanterade identiteten. I följande lista beskrivs några skillnader mellan dessa hanterade identitetstyper:

  • En logikappresurs kan bara aktivera och använda en unik systemtilldelad identitet.

  • En logikappresurs kan dela samma användartilldelade identitet i en grupp med andra logikappresurser.

Den här guiden visar hur du utför följande uppgifter:

  • Aktivera och konfigurera den systemtilldelade hanterade identiteten för logikappresursen. Den här guiden innehåller ett exempel som visar hur du använder identiteten för autentisering.

  • Skapa och konfigurera en användartilldelad identitet. Den här guiden visar hur du skapar en användartilldelad identitet med hjälp av Azure-portalen och Azure Resource Manager-mallen (ARM-mall) och hur du använder identiteten för autentisering. Information om Azure PowerShell, Azure CLI och Azure REST API finns i följande dokumentation:

Verktyg Dokumentation
Azure PowerShell Skapa användartilldelad identitet
Azure CLI Skapa användartilldelad identitet
REST-API för Azure Skapa användartilldelad identitet

Förbrukning jämfört med standardlogikappar

Baserat på resurstypen för logikappen kan du aktivera antingen den systemtilldelade identiteten, användartilldelade identiteten eller båda på samma gång:

Logikapp Miljö Stöd för hanterad identitet
Förbrukning – Azure Logic Apps med flera klientorganisationer

– Integration Service Environment (ISE)
– Logikappen kan aktivera antingen den systemtilldelade identiteten eller den användartilldelade identiteten.

– Du kan använda den hanterade identiteten på logikappens resursnivå och anslutningsnivå.

– Om du aktiverar den användartilldelade identiteten kan logikappen bara ha en användartilldelad identitet i taget.
Standard – Azure Logic Apps för en enda klientorganisation

- App Service-miljön v3 (ASEv3)

– Azure Arc-aktiverade Logic Apps
– Du kan aktivera både den systemtilldelade identiteten, som är aktiverad som standard, och den användartilldelade identiteten samtidigt.

– Du kan använda den hanterade identiteten på logikappens resursnivå och anslutningsnivå.

– Om du aktiverar den användartilldelade identiteten kan logikappresursen ha flera användartilldelade identiteter samtidigt.

Information om gränser för hanterade identiteter i Azure Logic Apps finns i Gränser för hanterade identiteter för logikappar. Mer information om resurstyper och miljöer för förbruknings- och standardlogikappar finns i följande dokumentation:

Där du kan använda en hanterad identitet

I Azure Logic Apps kan endast specifika inbyggda och hanterade anslutningsåtgärder som stöder OAuth med Microsoft Entra-ID använda en hanterad identitet för autentisering. Följande tabeller innehåller bara ett exempelval. En mer fullständig lista finns i Autentiseringstyper för utlösare och åtgärder som stöder autentisering och Azure-tjänster som stöder Microsoft Entra-autentisering med hanterade identiteter.

För ett arbetsflöde för förbrukningslogikappen visas de anslutningsappar som stöder hanterad identitetsautentisering i följande tabell:

Anslutningstyp Anslutningsappar som stöds
Inbyggd – Azure API Management
– Azure App Services
– Azure Functions
- HTTP
- HTTP + Webhook

Obs! HTTP-åtgärder kan autentisera anslutningar till Azure Storage-konton bakom Azure-brandväggar med den systemtilldelade identiteten. De stöder dock inte den användartilldelade hanterade identiteten för att autentisera samma anslutningar.

Hanterade – Azure App Service
– Azure Automation
– Azure Blob Storage
– Azure Container Instance
– 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-köer
– Azure Resource Manager
– Azure Service Bus
– Azure Sentinel
– Azure Table Storage
– Virtuell Azure-dator
– HTTP med Microsoft Entra-ID
– SQL Server

Förutsättningar

  • Ett Azure-konto och prenumeration. Om du inte har någon prenumeration kan du registrera ett kostnadsfritt Azure-konto. Både den hanterade identiteten och den Azure-målresurs där du behöver åtkomst måste använda samma Azure-prenumeration.

  • Den Azure-målresurs som du vill komma åt. På den här resursen lägger du till den nödvändiga rollen för den hanterade identiteten för att få åtkomst till resursen för logikappens eller anslutningens räkning. Om du vill lägga till en roll i en hanterad identitet behöver du Microsoft Entra-administratörsbehörigheter som kan tilldela roller till identiteter i motsvarande Microsoft Entra-klientorganisation.

  • Logikappens resurs och arbetsflöde där du vill använda utlösaren eller åtgärderna som stöder hanterade identiteter.

Aktivera systemtilldelad identitet i Azure-portalen

  1. Öppna logikappresursen i Azure-portalen.

  2. På logikappmenyn går du till Inställningar och väljer Identitet.

  3. På sidan Identitet går du till Systemtilldelad och väljer >Spara. När Azure uppmanar dig att bekräfta väljer du Ja.

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

    Kommentar

    Om du får ett felmeddelande om att du bara kan ha en enda hanterad identitet är logikappresursen redan associerad med den användartilldelade identiteten. Innan du kan lägga till den systemtilldelade identiteten måste du först ta bort den användartilldelade identiteten från logikappresursen.

    Logikappresursen kan nu använda den systemtilldelade identiteten. Den här identiteten är registrerad med Microsoft Entra-ID och representeras av ett objekt-ID.

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

    Property Värde beskrivning
    Objekt-ID (huvudnamn) <identity-resource-ID> En globalt unik identifierare (GUID) som representerar den systemtilldelade identiteten för logikappen i en Microsoft Entra-klientorganisation.
  4. Följ nu stegen som ger identiteten åtkomst till resursen senare i den här guiden.

Aktivera systemtilldelad identitet i en ARM-mall

Om du vill automatisera skapandet och distributionen av logikappresurser kan du använda en ARM-mall. Om du vill aktivera den systemtilldelade identiteten för logikappresursen i mallen lägger du till identity objektet och den type underordnade egenskapen i logikappens resursdefinition i mallen, till exempel:

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

När Azure skapar resursdefinitionen för logikappen identity får objektet följande andra egenskaper:

"identity": {
   "type": "SystemAssigned",
   "principalId": "<principal-ID>",
   "tenantId": "<Azure-AD-tenant-ID>"
}
Egenskap (JSON) Värde beskrivning
principalId <principal-ID> Globalt unik identifierare (GUID) för objektet för tjänstens huvudnamn för den hanterade identitet som representerar din logikapp i Microsoft Entra-klientorganisationen. Detta GUID visas ibland som ett "objekt-ID" eller objectID.
tenantId <Azure-AD-tenant-ID> Den globalt unika identifieraren (GUID) som representerar Microsoft Entra-klientorganisationen där logikappen nu är medlem. I Microsoft Entra-klientorganisationen har tjänstens huvudnamn samma namn som logikappsinstansen.

Skapa användartilldelad identitet i Azure-portalen

Innan du kan aktivera den användartilldelade identiteten för din förbrukningslogikappresurs eller standardlogikappresurs måste du skapa den identiteten som en separat Azure-resurs.

  1. I sökrutan i Azure-portalen anger du hanterade identiteter och väljer Hanterade identiteter.

    Screenshot shows Azure portal with selected option named Managed Identities.

  2. På sidan Hanterade identiteter väljer du Skapa.

    Screenshot shows Managed Identities page and selected option for Create.

  3. Ange information om din hanterade identitet och välj Granska + skapa, till exempel:

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

    Property Obligatoriskt Värde beskrivning
    Abonnemang Ja <Namn-på-Azure-prenumeration> Namnet på Azure-prenumerationen
    Resursgrupp Ja <Namn-på-Azure-resursgrupp> Namnet på Azure-resursgruppen. Skapa en ny grupp eller välj en befintlig grupp. I det här exemplet skapas en ny grupp med namnet fabrikam-managed-identities-RG.
    Region Ja <Azure-region> Den Azure-region där du kan lagra information om din resurs. I det här exemplet används USA, västra.
    Namn Ja <user-assigned-identity-name> Namnet som ska ge din användartilldelade identitet. I det här exemplet används Fabrikam-user-assigned-identity.

    När Azure har verifierat informationen skapar Azure din hanterade identitet. Nu kan du lägga till den användartilldelade identiteten i logikappresursen.

Lägga till användartilldelad identitet i logikappen i Azure-portalen

  1. Öppna logikappresursen i Azure-portalen.

  2. På logikappmenyn går du till Inställningar och väljer Identitet.

  3. På sidan Identitet väljer du Användartilldelad>Lägg till.

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

  4. Följ dessa steg i fönstret Lägg till användartilldelad hanterad identitet :

    1. I listan Prenumeration väljer du din Azure-prenumeration .

    2. I listan med alla hanterade identiteter i din prenumeration väljer du den användartilldelade identitet som du vill använda. Om du vill filtrera listan går du till sökrutan Användartilldelade hanterade identiteter och anger namnet på identiteten eller resursgruppen.

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

    3. När du är klar väljer du Lägg till.

      Kommentar

      Om du får ett felmeddelande om att du bara kan ha en enda hanterad identitet är logikappen redan associerad med den systemtilldelade identiteten. Innan du kan lägga till den användartilldelade identiteten måste du först inaktivera den systemtilldelade identiteten.

    Logikappen är nu associerad med den användartilldelade hanterade identiteten.

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

  5. Följ nu stegen som ger identiteten åtkomst till resursen senare i den här guiden.

Skapa användartilldelad identitet i en ARM-mall

Om du vill automatisera skapandet och distributionen av logikappresurser kan du använda en ARM-mall. Dessa mallar stöder användartilldelade identiteter för autentisering.

I mallens resources avsnitt kräver logikappens resursdefinition följande objekt:

  • Ett identity objekt med egenskapen inställd på typeUserAssigned

  • Ett underordnat userAssignedIdentities objekt som anger den användartilldelade resursen och namnet

Det här exemplet visar en resurs för förbrukningslogikappen och arbetsflödesdefinitionen för en HTTP PUT-begäran med ett objekt som inte är parameteriserat identity . Svaret på PUT-begäran och efterföljande GET-åtgärd innehåller även det här identity objektet:

{
   "$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": {}
}

Om mallen även innehåller resursdefinitionen för den hanterade identiteten identity kan du parametrisera objektet. I följande exempel visas hur det underordnade userAssignedIdentities objektet refererar till en userAssignedIdentityName variabel som du definierar i mallens variables avsnitt. Den här variabeln refererar till resurs-ID:t för din användartilldelade identitet.

{
   "$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": {}
      }
  ]
}

Ge identitetsåtkomst till resurser

Innan du kan använda logikappens hanterade identitet för autentisering måste du konfigurera åtkomst för identiteten på den Azure-resurs där du vill använda identiteten. Hur du konfigurerar åtkomst varierar beroende på vilken resurs du vill att identiteten ska komma åt.

Kommentar

När en hanterad identitet har åtkomst till en Azure-resurs i samma prenumeration kan identiteten endast komma åt den resursen. Men i vissa utlösare och åtgärder som stöder hanterade identiteter måste du först välja den Azure-resursgrupp som innehåller målresursen. Om identiteten inte har åtkomst på resursgruppsnivå visas inga resurser i gruppen trots att de har åtkomst till målresursen.

För att hantera det här beteendet måste du också ge identiteten åtkomst till resursgruppen, inte bara resursen. På samma sätt måste du ge identiteten åtkomst till prenumerationen om du måste välja din prenumeration innan du kan välja målresursen.

I vissa fall kan du behöva identiteten för att få åtkomst till den associerade resursen. Anta till exempel att du har en hanterad identitet för en logikapp som behöver åtkomst för att uppdatera programinställningarna för samma logikapp från ett arbetsflöde. Du måste ge identiteten åtkomst till den associerade logikappen.

För att till exempel få åtkomst till ett Azure Blob Storage-konto med din hanterade identitet måste du konfigurera åtkomst med hjälp av rollbaserad åtkomstkontroll i Azure (Azure RBAC) och tilldela lagringskontot lämplig roll för den identiteten. Stegen i det här avsnittet beskriver hur du slutför den här uppgiften med hjälp av Azure-portalen och Azure Resource Manager-mallen (ARM-mall). Information om Azure PowerShell, Azure CLI och Azure REST API finns i följande dokumentation:

Verktyg Dokumentation
Azure PowerShell Lägg till rolltilldelning
Azure CLI Lägg till rolltilldelning
REST-API för Azure Lägg till rolltilldelning

Men för att få åtkomst till ett Azure-nyckelvalv med din hanterade identitet måste du skapa en åtkomstprincip för den identiteten i nyckelvalvet och tilldela lämpliga behörigheter för den identiteten i nyckelvalvet. De senare stegen i det här avsnittet beskriver hur du slutför den här uppgiften med hjälp av Azure-portalen. Information om Resource Manager-mallar, PowerShell och Azure CLI finns i följande dokumentation:

Verktyg Dokumentation
Azure Resource Manager-mall (ARM-mall) Resursdefinition för Key Vault-åtkomstprincip
Azure PowerShell Tilldela en Key Vault-åtkomstprincip
Azure CLI Tilldela en Key Vault-åtkomstprincip

Tilldela rollbaserad åtkomst för hanterad identitet i Azure-portalen

Om du vill använda en hanterad identitet för autentisering kräver vissa Azure-resurser, till exempel Azure Storage-konton, att du tilldelar den identiteten till en roll som har rätt behörigheter för målresursen. Andra Azure-resurser, till exempel Azure-nyckelvalv, kräver att du skapar en åtkomstprincip som har rätt behörighet för målresursen för den identiteten.

  1. I Azure-portalen öppnar du resursen där du vill använda identiteten.

  2. På resursmenyn väljer du Åtkomstkontroll (IAM)>Lägg till lägg till>rolltilldelning.

    Kommentar

    Om alternativet Lägg till rolltilldelning är inaktiverat har du inte behörighet att tilldela roller. Mer information finns i Inbyggda roller i Microsoft Entra.

  3. Tilldela nu den nödvändiga rollen till din hanterade identitet. På fliken Roll tilldelar du en roll som ger din identitet nödvändig åtkomst till den aktuella resursen.

    I det här exemplet tilldelar du rollen med namnet Storage Blob Data Contributor, som inkluderar skrivåtkomst för blobar i en Azure Storage-container. Mer information om specifika lagringscontainerroller finns i Roller som kan komma åt blobar i en Azure Storage-container.

  4. Välj sedan den hanterade identitet där du vill tilldela rollen. Under Tilldela åtkomst till väljer du Hanterad identitet>Lägg till medlemmar.

  5. Välj eller ange följande värden baserat på den hanterade identitetens typ:

    Typ Azure-tjänstinstans Prenumeration Medlem
    Systemtilldelad Logikapp <Namn-på-Azure-prenumeration> <logikappens-namn>
    Användartilldelad Inte tillämpligt <Namn-på-Azure-prenumeration> <your-user-assigned-identity-name>

    Mer information om hur du tilldelar roller finns i Tilldela roller med hjälp av Azure-portalen.

  6. När du är klar kan du använda identiteten för att autentisera åtkomst för utlösare och åtgärder som stöder hanterade identiteter.

Mer allmän information om den här uppgiften finns i Tilldela en hanterad identitet åtkomst till en annan resurs med hjälp av Azure RBAC.

Skapa åtkomstprincip i Azure-portalen

Om du vill använda en hanterad identitet för autentisering kräver vissa Azure-resurser, till exempel Azure-nyckelvalv, att du skapar en åtkomstprincip som har rätt behörigheter för målresursen för den identiteten. Andra Azure-resurser, till exempel Azure-lagringskonton, kräver att du tilldelar den identiteten till en roll som har rätt behörighet för målresursen.

  1. I Azure-portalen öppnar du målresursen där du vill använda identiteten. I det här exemplet används ett Azure-nyckelvalv som målresurs.

  2. På resursmenyn väljer du Åtkomstprinciper>Skapa, vilket öppnar fönstret Skapa en åtkomstprincip.

    Kommentar

    Om resursen inte har alternativet Åtkomstprinciper kan du prova att tilldela en rolltilldelning i stället.

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

  3. På fliken Behörigheter väljer du de behörigheter som krävs för att identiteten ska få åtkomst till målresursen.

    Om du till exempel vill använda identiteten med den hanterade Azure Key Vault-anslutningsappens listhemlighetsåtgärd behöver identiteten listbehörigheter. I kolumnen Hemliga behörigheter väljer du List.

    Screenshot shows Permissions tab with selected List permissions.

  4. När du är klar väljer du Nästa. På fliken Huvudnamn letar du upp och väljer den hanterade identiteten, som är en användartilldelad identitet i det här exemplet.

  5. Hoppa över det valfria programsteget , välj Nästa och slutför skapandet av åtkomstprincipen.

I nästa avsnitt beskrivs hur du använder en hanterad identitet för att autentisera åtkomst för en utlösare eller åtgärd. Exemplet fortsätter med stegen från ett tidigare avsnitt där du konfigurerar åtkomst för en hanterad identitet med hjälp av RBAC och inte använder Azure Key Vault som exempel. De allmänna stegen för att använda en hanterad identitet för autentisering är dock desamma.

Autentisera åtkomst med hanterad identitet

När du har aktiverat den hanterade identiteten för logikappresursen och ger identiteten åtkomst till målresursen eller entiteten kan du använda den identiteten i utlösare och åtgärder som stöder hanterade identiteter.

Viktigt!

Om du har en Azure-funktion där du vill använda den systemtilldelade identiteten aktiverar du först autentisering för Azure Functions.

De här stegen visar hur du använder den hanterade identiteten med en utlösare eller åtgärd via Azure-portalen. Information om hur du anger den hanterade identiteten i en utlösare eller åtgärds underliggande JSON-definition finns i Hanterad identitetsautentisering.

  1. Öppna logikappresursen i Azure-portalen.

  2. Om du inte har gjort det ännu lägger du till utlösaren eller åtgärden som stöder hanterade identiteter.

    Kommentar

    Alla anslutningsåtgärder stöder inte att du lägger till en autentiseringstyp. Mer information finns i Autentiseringstyper för utlösare och åtgärder som stöder autentisering.

  3. Följ dessa steg för utlösaren eller åtgärden som du har lagt till:

    • Inbyggda anslutningsåtgärder som stöder hanterad identitetsautentisering

      1. I listan Lägg till ny parameter lägger du till egenskapen Autentisering om egenskapen inte redan visas.

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

      2. I listan Autentiseringstyp väljer du Hanterad identitet.

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

      Mer information finns i Exempel: Autentisera inbyggd utlösare eller åtgärd med en hanterad identitet.

    • Hanterade anslutningsåtgärder som stöder hanterad identitetsautentisering

      1. På sidan val av klientorganisation väljer du Anslut med hanterad identitet, till exempel:

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

      2. Ange ett namn som ska användas för anslutningen för Anslut ionsnamn på nästa sida.

      3. För autentiseringstypen väljer du något av följande alternativ baserat på din hanterade anslutningsapp:

        • Enkel autentisering: Dessa anslutningsappar stöder endast en autentiseringstyp. I listan Hanterad identitet väljer du den för närvarande aktiverade hanterade identiteten, om den inte redan har valts, och väljer sedan Skapa, till exempel:

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

        • Multi-authentication: Dessa anslutningsappar visar flera autentiseringstyper, men du kan fortfarande bara välja en typ. I listan Autentiseringstyp väljer du Logic Apps Managed Identity>Create, till exempel:

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

        Mer information finns i Exempel: Autentisera utlösare eller åtgärd för hanterad anslutningsapp med en hanterad identitet.

Exempel: Autentisera inbyggd utlösare eller åtgärd med en hanterad identitet

Den inbyggda HTTP-utlösaren eller åtgärden kan använda den systemtilldelade identitet som du aktiverar på logikappresursen. I allmänhet använder HTTP-utlösaren eller åtgärden följande egenskaper för att ange den resurs eller entitet som du vill komma åt:

Property Obligatoriskt Beskrivning
Metod Ja DEN HTTP-metod som används av den åtgärd som du vill köra
URI Ja Slutpunkts-URL:en för åtkomst till Azure-målresursen eller entiteten. URI-syntaxen innehåller vanligtvis resurs-ID:t för Azure-resursen eller tjänsten.
Rubriker Nej Alla rubrikvärden som du behöver eller vill inkludera i den utgående begäran, till exempel innehållstypen
Frågor Nej Alla frågeparametrar som du behöver eller vill inkludera i begäran. Till exempel frågeparametrar för en specifik åtgärd eller för API-versionen av den åtgärd som du vill köra.
Autentisering Ja Den autentiseringstyp som ska användas för att autentisera åtkomst till målresursen eller entiteten

Anta som ett specifikt exempel att du vill köra åtgärden Ögonblicksbildsblob på en blob i Azure Storage-kontot där du tidigare har konfigurerat åtkomst för din identitet. Azure Blob Storage-anslutningsappen erbjuder dock för närvarande inte den här åtgärden. I stället kan du köra den här åtgärden med hjälp av HTTP-åtgärden eller en annan REST API-åtgärd för Blob Service.

Viktigt!

Om du vill komma åt Azure Storage-konton bakom brandväggar med hjälp av Azure Blob-anslutningsappen och hanterade identiteter kontrollerar du att du även konfigurerar ditt lagringskonto med undantaget som tillåter åtkomst av betrodda Microsoft-tjänster.

Om du vill köra åtgärden Ögonblicksbildsblob anger HTTP-åtgärden följande egenskaper:

Property Obligatoriskt Exempelvärde beskrivning
Metod Ja PUT DEN HTTP-metod som åtgärden Ögonblicksbildsblob använder
URI Ja https://<storage-account-name>/<folder-name>/{name} Resurs-ID:t för en Azure Blob Storage-fil i den globala Azure-miljön (offentlig) som använder den här syntaxen
Rubriker För Azure Storage x-ms-blob-type = BlockBlob

x-ms-version = 2019-02-02

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

Värdena x-ms-blob-type, x-ms-versionoch x-ms-date huvud krävs för Azure Storage-åtgärder.

Viktigt: I utgående HTTP-utlösare och åtgärdsbegäranden för Azure Storage kräver x-ms-version huvudet egenskapen och API-versionen för den åtgärd som du vill köra. x-ms-date Måste vara aktuellt datum. Annars misslyckas arbetsflödet med ett 403 FORBIDDEN fel. Om du vill hämta aktuellt datum i det format som krävs kan du använda uttrycket i exempelvärdet.

Mer information finns i följande dokumentation:

- Begärandehuvuden – Blob för ögonblicksbilder
- Versionshantering för Azure Storage-tjänster

Frågor Endast för åtgärden Ögonblicksbildsblob comp = snapshot Frågeparameterns namn och värde för åtgärden.

I följande exempel visas en HTTP-exempelåtgärd med alla tidigare beskrivna egenskapsvärden som ska användas för åtgärden Ögonblicksbildsblob:

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

  1. När du har lagt till HTTP-åtgärden lägger du till egenskapen Autentisering i HTTP-åtgärden. I listan Lägg till ny parameter väljer du Autentisering.

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

    Kommentar

    Alla utlösare och åtgärder stöder inte att du lägger till en autentiseringstyp. Mer information finns i Autentiseringstyper för utlösare och åtgärder som stöder autentisering.

  2. I listan Autentiseringstyp väljer du Hanterad identitet.

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

  3. I listan över hanterade identiteter väljer du bland de tillgängliga alternativen baserat på ditt scenario.

    • Om du konfigurerar den systemtilldelade identiteten väljer du Systemtilldelad hanterad identitet om den inte redan har valts.

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

    • Om du konfigurerar en användartilldelad identitet väljer du den identiteten om den inte redan har valts.

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

    Det här exemplet fortsätter med den systemtilldelade hanterade identiteten.

  4. På vissa utlösare och åtgärder visas även egenskapen Målgrupp där du kan ange målresurs-ID. Ange egenskapen Målgrupp till resurs-ID för målresursen eller tjänsten. Annars använder egenskapen Målgrupp som standard resurs-IDhttps://management.azure.com/, som är resurs-ID:t för Azure Resource Manager.

    Om du till exempel vill autentisera åtkomsten till en Key Vault-resurs i det globala Azure-molnet måste du ange egenskapen Målgrupp till exakt följande resurs-ID: https://vault.azure.net. Det här specifika resurs-ID:t har inga avslutande snedstreck. Att inkludera ett avslutande snedstreck kan i själva verket ge upphov till antingen ett 400 Bad Request fel eller ett 401 Unauthorized fel.

    Viktigt!

    Kontrollera att målresurs-ID:t exakt matchar det värde som Microsoft Entra-ID förväntar sig, inklusive eventuella efterföljande snedstreck. Resurs-ID:t för alla Azure Blob Storage-konton kräver till exempel ett avslutande snedstreck. Resurs-ID:t för ett specifikt lagringskonto kräver dock inte ett avslutande snedstreck. Kontrollera resurs-ID :t för De Azure-tjänster som stöder Microsoft Entra-ID.

    I det här exemplet anges egenskapen Målgrupp till https://storage.azure.com/ så att de åtkomsttoken som används för autentisering är giltiga för alla lagringskonton. Du kan dock också ange rottjänstens URL, , https://<your-storage-account>.blob.core.windows.netför ett specifikt lagringskonto.

    Screenshot shows Consumption workflow, HTTP action, and Audience

    Mer information om hur du auktoriserar åtkomst med Microsoft Entra-ID för Azure Storage finns i följande dokumentation:

  5. Fortsätt att skapa arbetsflödet som du vill.

Exempel: Autentisera utlösare eller åtgärd för hanterad anslutningsapp med en hanterad identitet

Den hanterade Azure Resource Manager-anslutningsappen har en åtgärd med namnet Läs en resurs, som kan använda den hanterade identitet som du aktiverar på logikappresursen. Det här exemplet visar hur du använder den systemtilldelade hanterade identiteten.

  1. När du har lagt till åtgärden i arbetsflödet och valt din Microsoft Entra-klient väljer du Anslut med hanterad identitet.

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

  2. På sidan anslutningsnamn anger du ett namn för anslutningen och väljer den hanterade identitet som du vill använda.

    Azure Resource Manager-åtgärden är en åtgärd med enkel autentisering, så i rutan anslutningsinformation visas en lista över hanterade identiteter som automatiskt väljer den hanterade identitet som för närvarande är aktiverad på logikappresursen. Om du har aktiverat en systemtilldelad hanterad identitet väljer listan Hanterad identitet systemtilldelad hanterad identitet. Om du hade aktiverat en användartilldelad hanterad identitet i stället väljer listan den identiteten i stället.

    Om du använder en utlösare eller åtgärd för flera autentiseringar, till exempel Azure Blob Storage, visar rutan anslutningsinformation en lista över autentiseringstyper som innehåller alternativet Hanterad identitet för Logic Apps bland andra autentiseringstyper.

    I det här exemplet är systemtilldelad hanterad identitet det enda tillgängliga valet.

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

    Kommentar

    Om den hanterade identiteten inte är aktiverad när du försöker skapa anslutningen, ändrar anslutningen eller togs bort när det fortfarande finns en hanterad identitetsaktiverad anslutning visas ett fel som visar att du måste aktivera identiteten och bevilja åtkomst till målresursen.

  3. När du är klar väljer du Skapa.

  4. När designern har skapat anslutningen kan designern hämta alla dynamiska värden, innehåll eller scheman med hjälp av hanterad identitetsautentisering.

  5. Fortsätt att skapa arbetsflödet som du vill.

Logikappens resursdefinition och anslutningar som använder en hanterad identitet

En anslutning som aktiverar och använder en hanterad identitet är en särskild anslutningstyp som endast fungerar med en hanterad identitet. Vid körning använder anslutningen den hanterade identitet som är aktiverad på logikappresursen. Vid körning kontrollerar Azure Logic Apps-tjänsten om någon utlösare och åtgärder för hanterade anslutningsappar i logikappens arbetsflöde har konfigurerats för att använda den hanterade identiteten och att alla nödvändiga behörigheter har konfigurerats för att använda den hanterade identiteten för åtkomst till målresurserna som anges av utlösaren och åtgärderna. Om det lyckas hämtar Azure Logic Apps den Microsoft Entra-token som är associerad med den hanterade identiteten och använder den identiteten för att autentisera åtkomsten till målresursen och utföra den konfigurerade åtgärden i utlösare och åtgärder.

I en förbrukningslogikappsresurs sparas anslutningskonfigurationen i logikappens resursdefinitionsobjekt parameters , som innehåller $connections objektet som innehåller pekare till anslutningens resurs-ID tillsammans med identitetens resurs-ID, om den användartilldelade identiteten är aktiverad.

Det här exemplet visar hur konfigurationen ser ut när logikappen aktiverar den systemtilldelade hanterade identiteten:

"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}"
         }
      }
   }
}

Det här exemplet visar hur konfigurationen ser ut när logikappen aktiverar en användartilldelad hanterad identitet:

"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-mall för API-anslutningar och hanterade identiteter

Om du använder en ARM-mall för att automatisera distributionen och arbetsflödet innehåller en API-anslutning, som skapas av en hanterad anslutningsapp som Office 365 Outlook, Azure Key Vault och så vidare som använder en hanterad identitet, har du ett extra steg att ta.

I en ARM-mall skiljer sig den underliggande anslutningsresursdefinitionen åt beroende på om du har en förbruknings- eller standardlogikapp och om anslutningsappen visar alternativ för enkel autentisering eller flera autentiseringar.

Följande exempel gäller för förbrukningslogikappresurser och visar hur den underliggande anslutningsresursdefinitionen skiljer sig mellan en anslutningsapp med enkel autentisering, till exempel Azure Automation, och en anslutningsapp med flera autentiseringar, till exempel Azure Blob Storage.

Enkel autentisering

Det här exemplet visar den underliggande anslutningsresursdefinitionen för en Azure Automation-åtgärd i en förbrukningslogikapp som använder en hanterad identitet där definitionen innehåller attributen:

  • Egenskapen kind är inställd på V1 för en förbrukningslogikapp.
  • Egenskapen parameterValueType anges till Alternative.
{
    "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"
    }
},

Multi-authentication

Det här exemplet visar den underliggande anslutningsresursdefinitionen för en Azure Blob Storage-åtgärd i en förbrukningslogikapp som använder en hanterad identitet där definitionen innehåller följande attribut:

  • Egenskapen kind är inställd på V1 för en förbrukningslogikapp.
  • Objektet parameterValueSet innehåller en name egenskap som är inställd på managedIdentityAuth och en values egenskap som är inställd på ett tomt objekt.
{
    "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"
    }
}

Konfigurera avancerad kontroll över API-anslutningsautentisering

När arbetsflödet använder en API-anslutning som skapas av en hanterad anslutningsapp , till exempel Office 365 Outlook, Azure Key Vault och så vidare, kommunicerar Azure Logic Apps-tjänsten med målresursen, till exempel ditt e-postkonto, nyckelvalv och så vidare, med hjälp av två anslutningar:

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

  • Anslut ion #1 har konfigurerats med autentisering för det interna tokenarkivet.

  • Anslut ion #2 har konfigurerats med autentisering för målresursen.

I en förbrukningslogikappresurs abstraheras anslutningen #1 från dig utan några konfigurationsalternativ. I resurstypen standardlogikapp har du mer kontroll över logikappen. Som standard konfigureras anslutningen #1 automatiskt för att använda den systemtilldelade identiteten.

Men om ditt scenario kräver finare kontroll över autentisering av API-anslutningar kan du också ändra autentiseringen för anslutning #1 från den systemtilldelade standardidentiteten till alla användartilldelade identiteter som du har lagt till i logikappen. Den här autentiseringen gäller för varje API-anslutning, så att du kan blanda systemtilldelade och användartilldelade identiteter mellan olika anslutningar till samma målresurs.

I filen Standard logic app connections.json , som lagrar information om varje API-anslutning, har varje anslutningsdefinition två authentication avsnitt, till exempel:

"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>"
}
  • Det första authentication avsnittet mappar till anslutning nr 1. I det här avsnittet beskrivs autentiseringen som används för kommunikation med det interna tokenarkivet. Tidigare var det här avsnittet alltid inställt på ManagedServiceIdentity för en app som distribuerar till Azure och inte hade några konfigurerbara alternativ.

  • Det andra authentication avsnittet mappar till anslutning nr 2. I det här avsnittet beskrivs hur autentiseringen som används för att kommunicera med målresursen kan variera beroende på vilken autentiseringstyp du väljer för den anslutningen.

Varför ändra autentiseringen för tokenarkivet?

I vissa scenarier kanske du vill dela och använda samma API-anslutning i flera logikappar, men inte lägga till den systemtilldelade identiteten för varje logikapp i målresursens åtkomstprincip.

I andra scenarier kanske du inte vill att den systemtilldelade identiteten ska konfigureras helt och hållet i logikappen, så att du kan ändra autentiseringen till en användartilldelad identitet och inaktivera den systemtilldelade identiteten helt.

Ändra autentiseringen för tokenarkivet

  1. Öppna din standardlogikappresurs i Azure-portalen.

  2. Välj Anslut ions under Arbetsflöden på resursmenyn.

  3. I fönstret Anslut ions väljer du JSON-vy.

    Screenshot showing the Azure portal, Standard logic app resource,

  4. I JSON-redigeraren letar du reda på managedApiConnections avsnittet som innehåller API-anslutningarna för alla arbetsflöden i logikappresursen.

  5. Hitta den anslutning där du vill lägga till en användartilldelad hanterad identitet. Anta till exempel att arbetsflödet har en Azure Key Vault-anslutning:

    "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. Slutför följande steg i anslutningsdefinitionen:

    1. Hitta det första authentication avsnittet. Om det inte redan finns någon identity egenskap i det här authentication avsnittet använder logikappen implicit den systemtilldelade identiteten.

    2. Lägg till en identity egenskap med hjälp av exemplet i det här steget.

    3. Ange egenskapsvärdet till resurs-ID för den användartilldelade identiteten.

    "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. I Azure-portalen går du till målresursen och ger åtkomst till den användartilldelade hanterade identiteten baserat på målresursens behov.

    För Azure Key Vault kan du till exempel lägga till identiteten i nyckelvalvets åtkomstprinciper. För Azure Blob Storage tilldelar du den nödvändiga rollen för identiteten till lagringskontot.

Inaktivera hanterad identitet

Om du vill sluta använda den hanterade identiteten för autentisering tar du först bort identitetens åtkomst till målresursen. Därefter inaktiverar du den systemtilldelade identiteten eller tar bort den användartilldelade identiteten på logikappens resurs.

När du inaktiverar den hanterade identiteten på logikappresursen tar du bort funktionen för den identiteten för att begära åtkomst för Azure-resurser där identiteten hade åtkomst.

Kommentar

Om du inaktiverar den systemtilldelade identiteten fungerar inte alla anslutningar som används av arbetsflöden i logikappens arbetsflöde vid körning, även om du omedelbart aktiverar identiteten igen. Det här beteendet beror på att om du inaktiverar identiteten tas objekt-ID:t bort. Varje gång du aktiverar identiteten genererar Azure identiteten med ett annat och unikt objekt-ID. För att lösa det här problemet måste du återskapa anslutningarna så att de använder det aktuella objekt-ID:t för den aktuella systemtilldelade identiteten.

Försök att undvika att inaktivera den systemtilldelade identiteten så mycket som möjligt. Om du vill ta bort identitetens åtkomst till Azure-resurser tar du bort identitetens rolltilldelning från målresursen. Om du tar bort logikappresursen tar Azure automatiskt bort den hanterade identiteten från Microsoft Entra-ID.

Stegen i det här avsnittet beskriver hur du använder Azure-portalen och Azure Resource Manager-mallen (ARM-mall). Information om Azure PowerShell, Azure CLI och Azure REST API finns i följande dokumentation:

Verktyg Dokumentation
Azure PowerShell 1. Ta bort rolltilldelning.
2. Ta bort användartilldelad identitet.
Azure CLI 1. Ta bort rolltilldelning.
2. Ta bort användartilldelad identitet.
REST-API för Azure 1. Ta bort rolltilldelning.
2. Ta bort användartilldelad identitet.

Inaktivera hanterad identitet i Azure-portalen

Ta bort åtkomsten för den hanterade identiteten genom att ta bort identitetens rolltilldelning från målresursen och sedan inaktivera den hanterade identiteten.

Ta bort rolltilldelning

Följande steg tar bort åtkomsten till målresursen från den hanterade identiteten:

  1. I Azure-portalen går du till azure-målresursen där du vill ta bort åtkomsten för den hanterade identiteten.

  2. På målresursens meny väljer du Åtkomstkontroll (IAM). Under verktygsfältet väljer du Rolltilldelningar.

  3. I rolllistan väljer du de hanterade identiteter som du vill ta bort. Välj Ta bort i verktygsfältet.

    Dricks

    Om alternativet Ta bort är inaktiverat har du förmodligen inte behörighet. Mer information om de behörigheter som låter dig hantera roller för resurser finns i Administratörsrollbehörigheter i Microsoft Entra-ID.

Inaktivera hanterad identitet på logikappresursen

  1. Öppna logikappresursen i Azure-portalen.

  2. I navigeringsmenyn för logikappen går du till Inställningar, väljer Identitet och följer sedan stegen för din identitet:

    • Välj Systemtilldelat>vid>spara. När Azure uppmanar dig att bekräfta väljer du Ja.

    • Välj Användartilldelad och hanterad identitet och välj sedan Ta bort. När Azure uppmanar dig att bekräfta väljer du Ja.

Inaktivera hanterad identitet i en ARM-mall

Om du har skapat logikappens hanterade identitet med hjälp av en ARM-mall anger du identity objektets type underordnade egenskap till None.

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

Nästa steg