Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps
Gäller för: Azure Logic Apps (Förbrukning + Standard)
Om du vill undvika att tillhandahålla, lagra och hantera autentiseringsuppgifter, hemligheter eller Microsoft Entra-token kan du använda en hanterad identitet för att autentisera åtkomst eller anslutningar från logikappens arbetsflöde till Microsoft Entra-skyddade resurser. I Azure Logic Apps stöder vissa anslutningsåtgärder 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 så att 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 följande hanterade identitetstyper:
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 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 den här identiteten med hjälp av Azure Portal eller en Azure Resource Manager-mall (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ö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 måste du lägga 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 identiteterna 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.
Skillnader i hanterad identitet mellan förbruknings- och 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 | Environment | Stöd för hanterad identitet |
---|---|---|
Förbrukning | – Azure Logic Apps med flera klientorganisationer | – Du kan aktivera antingen den systemtilldelade identiteten eller den användartilldelade identiteten, men inte båda i logikappen. – Du kan använda den hanterade identiteten på logikappens resursnivå och på anslutningsnivå. – Om du skapar och 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 också lägga till flera användartilldelade identiteter i logikappen. Logikappen kan dock bara använda en hanterad identitet i taget. – Du kan använda den hanterade identiteten på logikappens resursnivå och på anslutningsnivå. |
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 följande dokumentation:
Autentiseringstyper för utlösare och åtgärder som stöder autentisering
Azure-tjänster som stöder hanterade identiteter för Azure-resurser
I ett arbetsflöde för förbrukningslogikappen visas exempel på 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. HTTP-åtgärder stöder dock inte den användartilldelade identiteten för autentisering av 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 Digital Twins – Azure Event Grid – Azure Event Hubs – Azure IoT Central V2 – Azure Key Vault –Azure Monitor-loggar – Azure-köer – Azure Resource Manager – Azure Service Bus – Azure Sentinel – Azure Table Storage – Virtuell Azure-dator – SQL Server |
Aktivera systemtilldelad identitet i Azure Portal
På en förbrukningslogikappresurs måste du aktivera den systemtilldelade identiteten manuellt.
Öppna din förbrukningslogikappresurs i Azure Portal.
På logikappmenyn går du till Inställningar och väljer Identitet.
På sidan Identitet går du till Systemtilldelad och väljer På>Spara. När Azure uppmanar dig att bekräfta väljer du Ja.
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.
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. Följ nu stegen som ger den systemtilldelade 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 identitetsobjektet och den underordnade typen 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 får identitetsobjektet följande andra egenskaper:
"identity": {
"type": "SystemAssigned",
"principalId": "<principal-ID>",
"tenantId": "<Entra-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 | <Microsoft-Entra-ID-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 Portal
Innan du kan aktivera den användartilldelade identiteten för en förbrukningslogikappresurs eller standardlogikappresurs måste du skapa den identiteten som en separat Azure-resurs.
I sökrutan Azure Portal anger du hanterade identiteter. I resultatlistan väljer du Hanterade identiteter.
På sidan Hanterade identiteter väljer du Skapa.
Ange information om din hanterade identitet och välj Granska + skapa, till exempel:
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ägg till användartilldelad identitet i logikappen i Azure Portal
Öppna din förbrukningslogikappresurs i Azure Portal.
På logikappmenyn går du till Inställningar och väljer Identitet.
På sidan Identitet väljer du Användartilldelad och sedan Lägg till.
Följ dessa steg i fönstret Lägg till användartilldelad hanterad identitet :
I listan Välj en prenumeration väljer du din Azure-prenumeration.
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.
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 identiteten.
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 resursavsnittet för mallen kräver logikappens resursdefinition följande:
Ett identitetsobjekt med typegenskapen inställd på UserAssigned
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 icke-parameteriserat identitetsobjekt. Svaret på PUT-begäran och efterföljande GET-åtgärd innehåller även det här identitetsobjektet :
{
"$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 kan du parametrisera identitetsobjektet. I följande exempel visas hur det underordnade userAssignedIdentities-objektet refererar till en userAssignedIdentityName-variabel som du definierar i avsnittet variabler för mallen. 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-målresurs där du vill använda identiteten. Hur du konfigurerar åtkomst varierar beroende på målresursen.
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 eller ett Azure-nyckelvalv med din hanterade identitet måste du konfigurera rollbaserad åtkomstkontroll i Azure (Azure RBAC) och tilldela lämplig roll för den identiteten till lagringskontot eller nyckelvalvet.
Stegen i det här avsnittet beskriver hur du tilldelar rollbaserad åtkomst med hjälp av Azure Portal- 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 |
För ett Azure-nyckelvalv kan du också skapa en åtkomstprincip för din hanterade identitet 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 Portal. 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 till en hanterad identitet med hjälp av Azure Portal
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, stöder flera alternativ, så att du kan välja rollbaserad åtkomst eller en åtkomstprincip som har rätt behörigheter för målresursen för den identiteten.
I Azure Portal öppnar du resursen där du vill använda identiteten.
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.
Tilldela 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.
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.
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 Portal.
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 Azure-resurs eller en annan resurs.
Skapa en åtkomstprincip med hjälp av Azure Portal
Om du vill använda en hanterad identitet för autentisering stöder eller kräver andra Azure-resurser också 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 i stället att du tilldelar den identiteten till en roll som har rätt behörigheter för målresursen.
I Azure Portal öppnar du målresursen där du vill använda identiteten. I det här exemplet används ett Azure-nyckelvalv som målresurs.
På resursmenyn väljer du Åtkomstprinciper>Skapa, vilket öppnar fönstret Skapa en åtkomstprincip.
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.
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.
Hoppa över det valfria programsteget , välj Nästa och slutför skapandet av åtkomstprincipen.
Nästa avsnitt visar hur du använder en hanterad identitet med en utlösare eller åtgärd för att autentisera åtkomst. 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 ett Azure Storage-konto 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 din logikappresurs och ger identiteten åtkomst till Azure-målresursen eller -tjänsten 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.
Följande steg visar hur du använder den hanterade identiteten med en utlösare eller åtgärd med hjälp av Azure Portal. Information om hur du anger den hanterade identiteten i en utlösare eller åtgärds underliggande JSON-definition finns i Hanterad identitetsautentisering.
Öppna din förbrukningslogikappresurs i Azure Portal.
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.
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
De här stegen fortsätter med http-åtgärden som exempel.
I listan Avancerade parametrar lägger du till egenskapen Autentisering, om egenskapen inte redan visas.
Nu visas både autentiseringsegenskapen och listan Autentiseringstyp i åtgärden.
I listan Autentiseringstyp väljer du Hanterad identitet.
Avsnittet Autentisering visar nu följande alternativ:
En lista över hanterade identiteter där du kan välja en specifik hanterad identitet
Egenskapen Målgrupp visas på specifika utlösare och åtgärder så att du kan ange resurs-ID för Azure-målresursen eller tjänsten. Annars använder egenskapen Målgrupp som standard resurs-ID
https://management.azure.com/
, som är resurs-ID:t för Azure Resource Manager.
I listan Hanterad identitet väljer du den identitet som du vill använda, till exempel:
Kommentar
Det valda standardalternativet är den systemtilldelade hanterade identiteten, även om du inte har några hanterade identiteter aktiverade.
Om du vill använda en hanterad identitet måste du först aktivera den identiteten i logikappen. I en förbrukningslogikapp kan du ha antingen den systemtilldelade eller användartilldelade hanterade identiteten, men inte båda.
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
I fönstret Skapa anslutning går du till listan Autentisering och väljer Hanterad identitet, till exempel:
Ange ett namn som ska användas för anslutningen i nästa fönster för Anslutningsnamn.
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, vilket är den hanterade identiteten i det här fallet.
I listan Hanterad identitet väljer du den hanterade identiteten som är aktiverad för tillfället.
När du är klar väljer du Skapa ny.
Multi-authentication: Dessa anslutningsappar har stöd för flera autentiseringstyper, men du kan bara välja och använda en typ i taget.
De här stegen fortsätter med en Azure Blob Storage-åtgärd som exempel.
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-målresursen 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 Azure-målresursen eller tjänsten |
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 Storage-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 |
---|---|---|---|
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 |
Metod | Ja | PUT |
DEN HTTP-metod som åtgärden Ögonblicksbildsblob använder |
Rubriker | För Azure Storage | x-ms-blob-type = BlockBlob x-ms-version = 2024-05-05 x-ms-date = formatDateTime(utcNow(),'r') |
Värdena x-ms-blob-type , x-ms-version och 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 arbetsflödesdesignern lägger du till valfri utlösare och lägger sedan till HTTP-å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:
Lägg till egenskapen Autentisering i HTTP-åtgärden. I listan Avancerade parametrar väljer du Autentisering.
Avsnittet Autentisering visas nu i HTTP-åtgärden.
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.
I listan Autentiseringstyp väljer du Hanterad identitet.
I listan Hanterad identitet 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 du konfigurerar den användartilldelade identiteten väljer du den identiteten.
Det här exemplet fortsätter med den systemtilldelade hanterade identiteten.
På vissa utlösare och åtgärder visas egenskapen Målgrupp så att du kan ange resurs-ID:t för azure-målresursen eller -tjänsten.
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
Om du inte anger egenskapen Målgrupp använder egenskapen Målgrupp som standard resurs-ID
https://management.azure.com/
, som är resurs-ID:t för Azure Resource Manager.Viktigt!
Kontrollera att målresurs-ID:t exakt matchar det värde som Microsoft Entra-ID förväntar sig. Annars kan du få antingen ett
400 Bad Request
fel eller ett401 Unauthorized
fel. Om resurs-ID:t innehåller eventuella avslutande snedstreck bör du inkludera dem. I annat fall ska du inte ta med dem.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.net
för ett specifikt lagringskonto.Mer information om hur du auktoriserar åtkomst med Microsoft Entra-ID för Azure Storage finns i följande dokumentation:
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 med en hanterad anslutningsapp.
I arbetsflödesdesignern lägger du till Azure Resource Manager-åtgärden med namnet Läs en resurs.
I fönstret Skapa anslutning går du till listan Autentisering , väljer Hanterad identitet och sedan Logga in.
Kommentar
I andra anslutningsappar visar listan Autentiseringstyp Logic Apps Managed Identity i stället, så välj det här alternativet.
Ange ett namn för anslutningen och välj den hanterade identitet som du vill använda.
Om du har aktiverat den systemtilldelade identiteten väljer listan Hanterad identitet automatiskt Systemtilldelad hanterad identitet. Om du har aktiverat en användartilldelad identitet i stället väljer listan automatiskt den användartilldelade identiteten.
I det här exemplet är systemtilldelad hanterad identitet det enda tillgängliga valet.
Kommentar
Om den hanterade identiteten inte är aktiverad när du försöker skapa eller ändra anslutningen, eller om den hanterade identiteten togs bort när det fortfarande finns en hanterad identitetsaktiverad anslutning, får du ett felmeddelande om att du måste aktivera identiteten och bevilja åtkomst till målresursen.
När du är klar väljer du Skapa ny.
När designern har skapat anslutningen kan designern hämta alla dynamiska värden, innehåll eller scheman med hjälp av hanterad identitetsautentisering.
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. Azure Logic Apps kontrollerar om några åtgärder för hanterade anslutningsappar i arbetsflödet har konfigurerats för att använda den hanterade identiteten och att alla nödvändiga behörigheter finns för att använda den hanterade identiteten för att komma åt de målresurser som anges av anslutningsåtgärderna. Om den här kontrollen lyckas hämtar Azure Logic Apps Den Microsoft Entra-token som är associerad med den hanterade identiteten, använder den identiteten för att autentisera åtkomsten till azure-målresursen och utför de konfigurerade åtgärderna i arbetsflödet.
I en förbrukningslogikappsresurs sparas anslutningskonfigurationen i resursdefinitionens parameters
objekt, som innehåller objektet $connections
som innehåller pekare till anslutningens resurs-ID tillsammans med den hanterade identitetens resurs-ID när den användartilldelade identiteten är aktiverad.
Det här exemplet visar parameters
objektkonfigurationen när logikappen aktiverar den systemtilldelade identiteten:
"parameters": {
"$connections": {
"value": {
"<action-name>": {
"connectionId": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>",
"connectionName": "<connector-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 parameters
objektkonfigurationen när logikappen aktiverar den användartilldelade hanterade identiteten:
"parameters": {
"$connections": {
"value": {
"<action-name>": {
"connectionId": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>",
"connectionName": "<connector-name>",
"connectionProperties": {
"authentication": {
"type": "ManagedServiceIdentity",
"identity": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/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 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 standardlogikappresurs 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 och en anslutningsapp för flera autentiseringar.
Enkel autentisering
Det här exemplet visar den underliggande anslutningsresursdefinitionen för en anslutningsåtgärd som endast stöder en autentiseringstyp och använder en hanterad identitet i ett arbetsflöde för förbrukningslogikappen där definitionen innehåller följande attribut:
Egenskapen
kind
är inställd påV1
för en förbrukningslogikapp.Egenskapen
parameterValueType
anges tillAlternative
.
{
"type": "Microsoft.Web/connections",
"apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
"name": "[variables('connections_<connector-name>_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_<connector-name>_name')]",
"parameterValueSet": {},
"parameterValueType": "Alternative"
}
},
Multi-authentication
Det här exemplet visar den underliggande anslutningsresursdefinitionen för en anslutningsåtgärd som stöder flera autentiseringstyper och använder en hanterad identitet i ett arbetsflöde för förbrukningslogikappen där definitionen innehåller följande attribut:
Egenskapen
kind
är inställd påV1
för en förbrukningslogikapp.Objektet
parameterValueSet
innehåller enname
egenskap som är inställd påmanagedIdentityAuth
och envalues
egenskap som är inställd på ett tomt objekt.
{
"type": "Microsoft.Web/connections",
"apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
"name": "[variables('connections_<connector-name>_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_<connector-name>_name')]",
"parameterValueSet":{
"name": "managedIdentityAuth",
"values": {}
},
"parameterValueType": "Alternative"
}
}
Konfigurera avancerad kontroll över API-anslutningsautentisering
När arbetsflödet för standardlogikappen använder en API-anslutning, som skapas av en hanterad anslutningsapp, kommunicerar Azure Logic Apps med målresursen, till exempel ditt e-postkonto, nyckelvalv och så vidare, med hjälp av två anslutningar:
Anslutning nr 1 har konfigurerats med autentisering för det interna tokenarkivet.
Anslutning nr 2 har konfigurerats med autentisering för målresursen.
Men när ett arbetsflöde för förbrukningslogikappen använder en API-anslutning abstraheras anslutningen nr 1 från dig utan några konfigurationsalternativ. Med standardlogikappresursen har du mer kontroll över din logikapp och dina arbetsflöden. Som standard konfigureras anslutningen #1 automatiskt för att använda den systemtilldelade identiteten.
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 standardlogikappens connections.json-fil , 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/<Azure-region>/managedApis/keyvault"
},
"authentication": {
"type": "ManagedServiceIdentity",
},
"connection": {
"id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-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 över flera logikappresurser, men inte lägga till den systemtilldelade identiteten för varje logikappresurs 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
Öppna din standardlogikappresurs i Azure Portal.
På resursmenyn går du till Arbetsflöden och väljer Anslutningar.
I fönstret Anslutningar väljer du JSON-vy.
I JSON-redigeraren letar du reda på
managedApiConnections
avsnittet som innehåller API-anslutningarna för alla arbetsflöden i logikappresursen.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/<Azure-region>/managedApis/keyvault" }, "authentication": { "type": "ManagedServiceIdentity" }, "connection": { "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>" }, "connectionProperties": { "authentication": { "audience": "https://vault.azure.net", "type": "ManagedServiceIdentity" } }, "connectionRuntimeUrl": "<connection-runtime-URL>" }
Slutför följande steg i anslutningsdefinitionen:
Hitta det första
authentication
avsnittet. Om det inte finns någonidentity
egenskap i det härauthentication
avsnittet använder logikappen implicit den systemtilldelade identiteten.Lägg till en
identity
egenskap med hjälp av exemplet i det här steget.Ange egenskapsvärdet till resurs-ID för den användartilldelade identiteten.
"keyvault": { "api": { "id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-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/<connector-name>" }, "connectionProperties": { "authentication": { "audience": "https://vault.azure.net", "type": "ManagedServiceIdentity" } }, "connectionRuntimeUrl": "<connection-runtime-URL>" }
I Azure Portal 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 inträffar eftersom inaktivering av identiteten tar bort dess objekt-ID. 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 mallen Azure Portal och Azure Resource Manager (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. |
Mer information finns i Ta bort Azure-rolltilldelningar.
Inaktivera hanterad identitet i Azure Portal
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:
I Azure Portal går du till azure-målresursen där du vill ta bort åtkomsten för den hanterade identiteten.
På målresursens meny väljer du Åtkomstkontroll (IAM). Under verktygsfältet väljer du Rolltilldelningar.
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
Öppna logikappresursen i Azure Portal.
På logikappens resursmeny 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"
}