Säker åtkomst och data för arbetsflöden i Azure Logic Apps

Azure Logic Apps förlitar sig på Azure Storage för att lagra och automatiskt kryptera vilande data. Krypteringen skyddar dina data och hjälper dig att uppfylla organisationens säkerhets- och efterlevnadsåtaganden. Som standard använder Azure Storage Microsoft-hanterade nycklar till datakrypteringen. Mer information finns i Azure Storage-kryptering för vilande data.

För att ytterligare kontrollera åtkomst och skydda känsliga data i Azure Logic Apps kan du konfigurera högre säkerhet inom följande områden:

Mer information om säkerhet i Azure finns i följande avsnitt:

Åtkomst till logikappsåtgärder

Endast för förbrukningslogikappar behöver du specifika behörigheter som tillhandahålls via roller med rollbaserad åtkomstkontroll (Azure RBAC) innan du kan skapa eller hantera logikappar och deras anslutningar. Du kan också konfigurera behörigheter så att endast specifika användare eller grupper kan köra specifika uppgifter, till exempel att hantera, redigera och visa logikappar. Om du vill styra deras behörigheter kan du tilldela inbyggda eller anpassade roller till medlemmar som har åtkomst till din Azure-prenumeration. Azure Logic Apps har följande specifika roller, baserat på om du har ett arbetsflöde för förbrukning eller standardlogikapp:

Förbrukningsarbetsflöden
Roll beskrivning
Logic App-deltagare Du kan hantera arbetsflöden för logikappar, men du kan inte ändra åtkomsten till dem.
Logikappoperator Du kan läsa, aktivera och inaktivera arbetsflöden för logikappar, men du kan inte redigera eller uppdatera dem.
Deltagare Du har fullständig åtkomst för att hantera alla resurser, men du kan inte tilldela roller i Azure RBAC, hantera tilldelningar i Azure Blueprints eller dela bildgallerier.

Anta till exempel att du måste arbeta med ett logikapparbetsflöde som du inte har skapat och autentiserat anslutningar som används av logikappens arbetsflöde. Din Azure-prenumeration kräver deltagarbehörigheter för resursgruppen som innehåller den logikappresursen. Om du skapar en logikappresurs har du automatiskt deltagaråtkomst.

Om du vill förhindra att andra ändrar eller tar bort arbetsflödet för logikappen kan du använda Azure Resource Lock. Den här funktionen hindrar andra från att ändra eller ta bort produktionsresurser. Mer information om anslutningssäkerhet finns i Anslutningskonfiguration i Azure Logic Apps och Anslutningssäkerhet och kryptering.

Standardarbetsflöden

Kommentar

Den här funktionen är i förhandsversion och omfattas av kompletterande användningsvillkor för Förhandsversioner av Microsoft Azure.

Roll beskrivning
Logic Apps Standard Reader (förhandsversion) Du har skrivskyddad åtkomst till alla resurser i en standardlogikapp och arbetsflöden, inklusive arbetsflödeskörningar och deras historik.
Logic Apps Standard Operator (förhandsversion) Du har åtkomst till att aktivera, skicka om och inaktivera arbetsflöden och att skapa anslutningar till tjänster, system och nätverk för en standardlogikapp. Rollen Operatör kan utföra administrations- och supportuppgifter på Azure Logic Apps-plattformen, men har inte behörighet att redigera arbetsflöden eller inställningar.
Logic Apps Standard Developer (förhandsversion) Du har åtkomst till att skapa och redigera arbetsflöden, anslutningar och inställningar för en standardlogikapp. Utvecklarrollen har inte behörighet att göra ändringar utanför arbetsflödenas omfång, till exempel programomfattande ändringar som att konfigurera integrering av virtuella nätverk. App Service-planer stöds inte.
Logic Apps Standard-deltagare (förhandsversion) Du har åtkomst till att hantera alla aspekter av en standardlogikapp, men du kan inte ändra åtkomst eller ägarskap.

Åtkomst till körningshistorikdata

Under en logikappskörning krypteras alla data under överföringen med hjälp av TLS (Transport Layer Security) och i vila. När logikappen är klar kan du visa historiken för den körningen, inklusive de steg som kördes tillsammans med status, varaktighet, indata och utdata för varje åtgärd. Den här detaljerade informationen ger insikt i hur logikappen kördes och var du kan börja felsöka eventuella problem som uppstår.

När du visar logikappens körningshistorik autentiserar Azure Logic Apps din åtkomst och tillhandahåller sedan länkar till indata och utdata för begäranden och svar för varje körning. För åtgärder som hanterar lösenord, hemligheter, nycklar eller annan känslig information vill du dock förhindra att andra visar och kommer åt dessa data. Om logikappen till exempel får en hemlighet från Azure Key Vault att använda när du autentiserar en HTTP-åtgärd, vill du dölja hemligheten från vyn.

Om du vill styra åtkomsten till indata och utdata i logikappens körningshistorik har du följande alternativ:

Begränsa åtkomsten efter IP-adressintervall

Du kan begränsa åtkomsten till indata och utdata i körningshistoriken för logikappens arbetsflöden så att endast begäranden från specifika IP-adressintervall kan visa dessa data.

Om du till exempel vill blockera alla från att komma åt indata och utdata anger du ett IP-adressintervall, 0.0.0.0-0.0.0.0till exempel . Endast en person med administratörsbehörighet kan ta bort den här begränsningen, vilket ger möjlighet till "just-in-time"-åtkomst till data i logikappens arbetsflöden. Ett giltigt IP-intervall använder följande format: x.x.x.x/x eller x.x.x.x.x.x.x.x.x

Om du vill ange tillåtna IP-intervall följer du de här stegen för din förbruknings- eller standardlogikapp i Azure Portal eller din Azure Resource Manager-mall:

Förbrukningsarbetsflöden
  1. I Azure Portal öppnar du arbetsflödet för förbrukningslogikappen i designern.

  2. På logikappmenyn går du till Inställningar och väljer Arbetsflödesinställningar.

  3. I avsnittet Konfiguration av åtkomstkontroll går du till Tillåtna inkommande IP-adresser i listan Alternativ för utlösareåtkomst och väljer Specifika IP-intervall.

  4. I rutan IP-intervall för innehåll anger du DE IP-adressintervall som kan komma åt innehåll från indata och utdata.

Standardarbetsflöden
  1. Öppna din standardlogikappresurs i Azure Portal.

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

  3. I avsnittet Konfiguration av inkommande trafik bredvid Åtkomst till offentligt nätverk väljer du Aktiverad utan åtkomstbegränsning.

  4. På sidan Åtkomstbegränsningar går du till Appåtkomst och väljer Aktiverad från välj virtuella nätverk och IP-adresser.

  5. Under Webbplatsåtkomst och reglerfliken Huvudwebbplats lägger du till en eller flera regler i antingen Tillåt eller Neka begäranden från specifika IP-intervall. Du kan också använda inställningarna för HTTP-sidhuvudfilter och vidarebefordran. Ett giltigt IP-intervall använder följande format: x.x.x.x/x eller x.x.x.x.x.x.x.x.x

    Mer information finns i Blockera inkommande IP-adresser i Azure Logic Apps (Standard).

Skydda data i körningshistoriken med hjälp av obfuscation

Många utlösare och åtgärder har inställningar för att skydda indata, utdata eller båda från en logikapps körningshistorik. Alla hanterade anslutningsappar och anpassade anslutningsappar stöder dessa alternativ. Följande inbyggda åtgärder stöder dock inte följande alternativ:

Säkra indata – stöds inte Säkra utdata – stöds inte
Lägg till i matrisvariabel
Lägg till i strängvariabel
Minskningsvariabel
För varje
Om
Inkrementsvariabel
Initiera variabel
Återkommande
Omfattning
Ange variabel
Strömbrytare
Avsluta
Do Until
Lägg till i matrisvariabel
Lägg till i strängvariabel
Komponera
Minskningsvariabel
För varje
Om
Inkrementsvariabel
Initiera variabel
Parsa JSON
Återkommande
Svar
Omfattning
Ange variabel
Strömbrytare
Avsluta
Tills
Wait

Överväganden för att skydda indata och utdata

Innan du använder de här inställningarna för att skydda dessa data bör du läsa följande överväganden:

  • När du skymmer indata eller utdata på en utlösare eller åtgärd skickar Inte Azure Logic Apps skyddade data till Azure Log Analytics. Du kan inte heller lägga till spårade egenskaper till utlösaren eller åtgärden för övervakning.

  • Azure Logic Apps API för hantering av arbetsflödeshistorik returnerar inte skyddade utdata.

  • Om du vill skydda utdata från en åtgärd som döljer indata eller uttryckligen döljer utdata aktiverar du säkra utdata manuellt i den åtgärden.

  • Se till att du aktiverar Säkra indata eller Säkra utdata i underordnade åtgärder där du förväntar dig att körningshistoriken skymmer dessa data.

    Inställning för säkra utdata

    När du aktiverar säkra utdata manuellt i en utlösare eller åtgärd döljer Azure Logic Apps dessa utdata i körningshistoriken. Om en nedströmsåtgärd uttryckligen använder dessa skyddade utdata som indata döljer Azure Logic Apps den här åtgärdens indata i körningshistoriken, men aktiverar inte åtgärdens inställning för säkra indata .

    Skyddade utdata som indata och nedströmspåverkan på de flesta åtgärder

    Åtgärderna Compose, Parse JSON och Response har endast inställningen Säkra indata . När inställningen är aktiverad döljer den även dessa åtgärders utdata. Om dessa åtgärder uttryckligen använder uppströms skyddade utdata som indata döljer Azure Logic Apps dessa åtgärders indata och utdata, men aktiverar inte de här åtgärdernas inställning för säkra indata . Om en nedströmsåtgärd uttryckligen använder dolda utdata från åtgärderna Skriv, Parsa JSON eller Svar som indata döljer Inte Azure Logic Apps den här underordnade åtgärdens indata eller utdata.

    Skyddade utdata som indata med nedströmspåverkan på specifika åtgärder

    Inställning för säkra indata

    När du aktiverar säkra indata manuellt i en utlösare eller åtgärd döljer Azure Logic Apps dessa indata i körningshistoriken. Om en nedströmsåtgärd uttryckligen använder synliga utdata från utlösaren eller åtgärden som indata döljer Azure Logic Apps den här underordnade åtgärdens indata i körningshistoriken, men aktiverar inte säkra indata i den här åtgärden och döljer inte den här åtgärdens utdata.

    Skyddade indata och nedströmspåverkan på de flesta åtgärder

    Om åtgärderna Skriv, Parsa JSON och Svar uttryckligen använder synliga utdata från utlösaren eller åtgärden som har säkra indata döljer Azure Logic Apps de här åtgärdernas indata och utdata, men aktiverar inte den här åtgärdens inställning för säkra indata . Om en nedströmsåtgärd uttryckligen använder dolda utdata från åtgärderna Skriv, Parsa JSON eller Svar som indata döljer Inte Azure Logic Apps den här underordnade åtgärdens indata eller utdata.

    Säkra indata och nedströmspåverkan på specifika åtgärder

Skydda indata och utdata i designern

  1. Öppna arbetsflödet för logikappen i designern i Azure Portal.

  2. I designern väljer du utlösaren eller åtgärden där du vill skydda känsliga data.

  3. I informationsfönstret som öppnas väljer du Inställningar och expanderar Säkerhet.

    Skärmbild som visar Azure Portal, arbetsflödesdesigner och utlösare eller åtgärd med öppnade inställningar.

  4. Aktivera antingen Säkra indata, Säkra utdata eller båda.

    Skärmbild som visar arbetsflödet med en åtgärds inställningar för säkra indata eller säkra utdata aktiverade.

    Utlösaren eller åtgärden visar nu en låsikon i namnlisten. Alla token som representerar skyddade utdata från tidigare åtgärder visar även låsikoner. I en efterföljande åtgärd visas till exempel en låsikon när du har valt en token för säkra utdata från listan med dynamiskt innehåll.

    Skärmbild som visar arbetsflödet med en efterföljande åtgärds lista över dynamiskt innehåll öppnad och den föregående åtgärdens token för skyddade utdata med låsikonen.

  5. När arbetsflödet har körts kan du visa historiken för den körningen.

    1. Välj Översikt antingen på menyn Förbrukningslogikapp eller på standardarbetsflödesmenyn.

    2. Under Körningshistorik väljer du den körning som du vill visa.

    3. I fönstret för arbetsflödeskörningshistorik väljer du de åtgärder som du vill granska.

      Om du väljer att dölja både indata och utdata visas dessa värden nu dolda.

      Skärmbild som visar vyn Körningshistorik för standardarbetsflöde med dolda indata och utdata.

Skydda indata och utdata i kodvyn

I den underliggande utlösaren eller åtgärdsdefinitionen lägger du till eller uppdaterar matrisen runtimeConfiguration.secureData.properties med något av eller båda dessa värden:

  • "inputs": Skyddar indata i körningshistoriken.
  • "outputs": Skyddar utdata i körningshistoriken.
"<trigger-or-action-name>": {
   "type": "<trigger-or-action-type>",
   "inputs": {
      <trigger-or-action-inputs>
   },
   "runtimeConfiguration": {
      "secureData": {
         "properties": [
            "inputs",
            "outputs"
         ]
      }
   },
   <other-attributes>
}

Åtkomst till parameterindata

Om du distribuerar i olika miljöer kan du överväga att parameterisera värdena i arbetsflödesdefinitionen som varierar beroende på dessa miljöer. På så sätt kan du undvika hårdkodade data med hjälp av en Azure Resource Manager-mall för att distribuera logikappen, skydda känsliga data genom att definiera skyddade parametrar och skicka dessa data som separata indata via mallens parametrar med hjälp av en parameterfil.

Om du till exempel autentiserar HTTP-åtgärder med OAuth med Microsoft Entra-ID kan du definiera och dölja de parametrar som accepterar klient-ID och klienthemlighet som används för autentisering. Om du vill definiera dessa parametrar i logikappens arbetsflöde använder du avsnittet i logikappens parameters arbetsflödesdefinition och Resource Manager-mall för distribution. För att skydda parametervärden som du inte vill ska visas när du redigerar logikappen eller visar körningshistoriken definierar du parametrarna med hjälp securestring av eller secureobject skriver och använder kodning efter behov. Parametrar som har den här typen returneras inte med resursdefinitionen och är inte tillgängliga när du visar resursen efter distributionen. Om du vill komma åt dessa parametervärden under körningen använder du uttrycket i arbetsflödesdefinitionen @parameters('<parameter-name>') . Det här uttrycket utvärderas endast vid körning och beskrivs av arbetsflödets definitionsspråk.

Kommentar

Om du använder en parameter i en begäranderubrik eller brödtext kan den parametern visas när du visar arbetsflödets körningshistorik och utgående HTTP-begäran. Se till att du även anger dina principer för innehållsåtkomst i enlighet med detta. Du kan också använda obfuscation för att dölja indata och utdata i körningshistoriken. Som standard Authorization visas inte rubriker via indata eller utdata. Så om en hemlighet används där kan den hemligheten inte hämtas.

Mer information finns i de här avsnitten i det här avsnittet:

Om du automatiserar distributionen för logikappar med hjälp av Resource Manager-mallar kan du definiera skyddade mallparametrar som utvärderas vid distributionen med hjälp av typerna securestring och secureobject . Om du vill definiera mallparametrar använder du mallens avsnitt på den översta nivån parameters , som är separat och skiljer sig från arbetsflödesdefinitionens parameters avsnitt. Om du vill ange värden för mallparametrar använder du en separat parameterfil.

Om du till exempel använder hemligheter kan du definiera och använda skyddade mallparametrar som hämtar dessa hemligheter från Azure Key Vault vid distributionen. Du kan sedan referera till nyckelvalvet och hemligheten i parameterfilen. Mer information finns i följande avsnitt:

Säkra parametrar i arbetsflödesdefinitioner (förbrukningsarbetsflöde)

Om du vill skydda känslig information i logikappens arbetsflödesdefinition använder du skyddade parametrar så att den här informationen inte visas när du har sparat arbetsflödet för logikappen. Anta till exempel att du har en HTTP-åtgärd som kräver grundläggande autentisering, som använder ett användarnamn och lösenord. I arbetsflödesdefinitionen parameters definierar avsnittet parametrarna basicAuthPasswordParam och basicAuthUsernameParam med hjälp securestring av typen . Åtgärdsdefinitionen refererar sedan till dessa parametrar i avsnittet authentication .

Viktigt!

För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för autentisering när det är möjligt. Det här alternativet ger överlägsen säkerhet utan att behöva ange autentiseringsuppgifter. 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. Information om hur du konfigurerar en hanterad identitet för Azure Logic Apps finns i Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps.

"definition": {
   "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
   "actions": {
      "HTTP": {
         "type": "Http",
         "inputs": {
            "method": "GET",
            "uri": "https://www.microsoft.com",
            "authentication": {
               "type": "Basic",
               "username": "@parameters('basicAuthUsernameParam')",
               "password": "@parameters('basicAuthPasswordParam')"
            }
         },
         "runAfter": {}
      }
   },
   "parameters": {
      "basicAuthPasswordParam": {
         "type": "securestring"
      },
      "basicAuthUsernameParam": {
         "type": "securestring"
      }
   },
   "triggers": {
      "manual": {
         "type": "Request",
         "kind": "Http",
         "inputs": {
            "schema": {}
         }
      }
   },
   "contentVersion": "1.0.0.0",
   "outputs": {}
}

Säkra parametrar i Azure Resource Manager-mallar (arbetsflöde för förbrukning)

En Resource Manager-mall för en logikappresurs och ett arbetsflöde har flera parameters avsnitt. För att skydda lösenord, nycklar, hemligheter och annan känslig information definierar du skyddade parametrar på mallnivå och arbetsflödesdefinitionsnivå med hjälp securestring av eller-typen secureobject . Du kan sedan lagra dessa värden i Azure Key Vault och använda parameterfilen för att referera till nyckelvalvet och hemligheten. Mallen hämtar sedan den informationen vid distributionen. Mer information finns i Skicka känsliga värden vid distribution med hjälp av Azure Key Vault.

Viktigt!

För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för autentisering när det är möjligt. Det här alternativet ger överlägsen säkerhet utan att behöva ange autentiseringsuppgifter. 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. Information om hur du konfigurerar en hanterad identitet för Azure Logic Apps finns i Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps.

Den här listan innehåller mer information om dessa parameters avsnitt:

  • På mallens översta nivå definierar ett parameters avsnitt parametrarna för de värden som mallen använder vid distributionen. Dessa värden kan till exempel innehålla anslutningssträng för en specifik distributionsmiljö. Du kan sedan lagra dessa värden i en separat parameterfil, vilket gör det enklare att ändra dessa värden.

  • I logikappens resursdefinition, men utanför arbetsflödesdefinitionen, anger ett parameters avsnitt värdena för arbetsflödesdefinitionens parametrar. I det här avsnittet kan du tilldela dessa värden med hjälp av malluttryck som refererar till mallens parametrar. Dessa uttryck utvärderas vid distributionen.

  • I arbetsflödesdefinitionen definierar ett parameters avsnitt de parametrar som logikappens arbetsflöde använder vid körning. Du kan sedan referera till dessa parametrar i logikappens arbetsflöde med hjälp av arbetsflödesdefinitionsuttryck som utvärderas vid körning.

Den här exempelmallen som har flera skyddade parameterdefinitioner som använder typen securestring :

Parameternamn beskrivning
TemplatePasswordParam En mallparameter som accepterar ett lösenord som sedan skickas till arbetsflödesdefinitionens basicAuthPasswordParam parameter
TemplateUsernameParam En mallparameter som accepterar ett användarnamn som sedan skickas till arbetsflödesdefinitionens basicAuthUserNameParam parameter
basicAuthPasswordParam En parameter för arbetsflödesdefinition som accepterar lösenordet för grundläggande autentisering i en HTTP-åtgärd
basicAuthUserNameParam En parameter för arbetsflödesdefinition som accepterar användarnamnet för grundläggande autentisering i en HTTP-åtgärd
{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {
      "LogicAppName": {
         "type": "string",
         "minLength": 1,
         "maxLength": 80,
         "metadata": {
            "description": "Name of the Logic App."
         }
      },
      "TemplatePasswordParam": {
         "type": "securestring"
      },
      "TemplateUsernameParam": {
         "type": "securestring"
      },
      "LogicAppLocation": {
         "type": "string",
         "defaultValue": "[resourceGroup().location]",
         "allowedValues": [
            "[resourceGroup().location]",
            "eastasia",
            "southeastasia",
            "centralus",
            "eastus",
            "eastus2",
            "westus",
            "northcentralus",
            "southcentralus",
            "northeurope",
            "westeurope",
            "japanwest",
            "japaneast",
            "brazilsouth",
            "australiaeast",
            "australiasoutheast",
            "southindia",
            "centralindia",
            "westindia",
            "canadacentral",
            "canadaeast",
            "uksouth",
            "ukwest",
            "westcentralus",
            "westus2"
         ],
         "metadata": {
            "description": "Location of the Logic App."
         }
      }
   },
   "variables": {},
   "resources": [
      {
         "name": "[parameters('LogicAppName')]",
         "type": "Microsoft.Logic/workflows",
         "location": "[parameters('LogicAppLocation')]",
         "tags": {
            "displayName": "LogicApp"
         },
         "apiVersion": "2016-06-01",
         "properties": {
            "definition": {
               "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
               "actions": {
                  "HTTP": {
                     "type": "Http",
                     "inputs": {
                        "method": "GET",
                        "uri": "https://www.microsoft.com",
                        "authentication": {
                           "type": "Basic",
                           "username": "@parameters('basicAuthUsernameParam')",
                           "password": "@parameters('basicAuthPasswordParam')"
                        }
                     },
                  "runAfter": {}
                  }
               },
               "parameters": {
                  "basicAuthPasswordParam": {
                     "type": "securestring"
                  },
                  "basicAuthUsernameParam": {
                     "type": "securestring"
                  }
               },
               "triggers": {
                  "manual": {
                     "type": "Request",
                     "kind": "Http",
                     "inputs": {
                        "schema": {}
                     }
                  }
               },
               "contentVersion": "1.0.0.0",
               "outputs": {}
            },
            "parameters": {
               "basicAuthPasswordParam": {
                  "value": "[parameters('TemplatePasswordParam')]"
               },
               "basicAuthUsernameParam": {
                  "value": "[parameters('TemplateUsernameParam')]"
               }
            }
         }
      }
   ],
   "outputs": {}
}

Autentiseringstyper för anslutningsappar som har stöd för autentisering

I följande tabell identifieras de autentiseringstyper som är tillgängliga i anslutningsåtgärderna där du kan välja en autentiseringstyp:

Authentication type Logikapp och anslutningsappar som stöds
Grundläggande Azure API Management, Azure App Service, HTTP, HTTP + Swagger, HTTP Webhook
Klientcertifikat Azure API Management, Azure App Service, HTTP, HTTP + Swagger, HTTP Webhook
Active Directory OAuth (OAuth 2.0 med Microsoft Entra ID) - Förbrukning: Azure API Management, Azure App Service, Azure Functions, HTTP, HTTP + Swagger, HTTP Webhook

- Standard: Azure Automation, Azure Blob Storage, Azure Event Hubs, Azure Queues, Azure Service Bus, Azure Tables, HTTP, HTTP Webhook, SQL Server
Azure API Management, Azure App Service, Azure Functions, HTTP, HTTP + Swagger, HTTP Webhook
Hanterade identiteter Inbyggda anslutningsappar:

- Förbrukning: Azure API Management, Azure App Service, Azure Functions, HTTP, HTTP Webhook

- Standard: Azure Automation, Azure Blob Storage, Azure Event Hubs, Azure Queues, Azure Service Bus, Azure Tables, HTTP, HTTP Webhook, SQL Server

Obs! För närvarande stöder de flesta inbyggda, tjänstleverantörsbaserade anslutningsappar inte val av användartilldelade hanterade identiteter för autentisering.

Hanterade anslutningsappar: 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 Queues, Azure Resource Manager, Azure Service Bus, Azure Sentinel, Azure Table Storage, Virtuell Azure-dator, HTTP med Microsoft Entra-ID, SQL Server

Viktigt!

För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för autentisering när det är möjligt. Det här alternativet ger överlägsen säkerhet utan att behöva ange autentiseringsuppgifter. 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. Information om hur du konfigurerar en hanterad identitet för Azure Logic Apps finns i Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps.

Åtkomst för inkommande anrop till begärandebaserade utlösare

Inkommande anrop som en logikapp tar emot via en begäransbaserad utlösare, till exempel utlösare för begäran eller HTTP Webhook-utlösare, stöder kryptering och skyddas med TLS (Transport Layer Security) 1.2 som minimum, tidigare kallat Secure Sockets Layer (SSL). Azure Logic Apps tillämpar den här versionen när du tar emot ett inkommande anrop till en begäransutlösare eller ett återanrop till HTTP Webhook-utlösaren eller åtgärden.

Kommentar

Om du får TLS-handskakningsfel kontrollerar du att du använder TLS 1.2. Mer information finns i Lösa TLS 1.0-problemet.

Använd följande chiffersviter för inkommande anrop:

  • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

Viktigt!

För bakåtkompatibilitet stöder Azure Logic Apps för närvarande vissa äldre chiffersviter. Använd dock inte äldre chiffersviter när du utvecklar nya appar eftersom sådana sviter kanske inte stöds i framtiden.

Du kan till exempel hitta följande chiffersviter om du inspekterar TLS-handskakningsmeddelandena i Azure Logic Apps eller med hjälp av ett säkerhetsverktyg på logikappens URL. Använd inte dessa äldre sviter igen:

  • TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_GCM_SHA384
  • TLS_RSA_WITH_AES_128_GCM_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA256
  • TLS_RSA_WITH_AES_128_CBC_SHA256
  • TLS_RSA_WITH_AES_256_CBC_SHA
  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_3DES_EDE_CBC_SHA

I följande lista finns olika sätt att begränsa åtkomsten till utlösare som tar emot inkommande anrop till logikappens arbetsflöde så att endast behöriga klienter kan anropa arbetsflödet:

Aktivera OAuth 2.0 med Microsoft Entra-ID

I ett förbrukningsarbetsflöde som börjar med en begäransbaserad utlösare kan du autentisera och auktorisera inkommande anrop som skickas till slutpunkten som skapats av utlösaren genom att aktivera OAuth 2.0 med Microsoft Entra-ID. Om du vill konfigurera den här autentiseringen definierar eller lägger du till en auktoriseringsprincip på logikappens resursnivå. På så sätt använder inkommande anrop OAuth-åtkomsttoken för auktorisering.

När logikappens arbetsflöde tar emot en inkommande begäran som innehåller en OAuth-åtkomsttoken jämför Azure Logic Apps tokens anspråk mot de anspråk som anges av varje auktoriseringsprincip. Om det finns en matchning mellan tokens anspråk och alla anspråk i minst en princip lyckas auktoriseringen för den inkommande begäran. Token kan ha fler anspråk än det nummer som anges av auktoriseringsprincipen.

I ett Standard-arbetsflöde som börjar med utlösaren Förfrågning (men inte en webhook-utlösare) kan du använda Azure Functions-etableringen för att autentisera inkommande anrop som skickas till slutpunkten som skapats av begärandeutlösaren med hjälp av en hanterad identitet. Den här etableringen kallas även "Easy Auth". Mer information finns i Utlösa arbetsflöden i Standard-logikappar med Easy Auth.

Överväganden innan du aktiverar OAuth 2.0 med Microsoft Entra-ID

  • För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för autentisering när det är möjligt. Det här alternativet ger överlägsen säkerhet utan att behöva ange autentiseringsuppgifter. 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. Information om hur du konfigurerar en hanterad identitet för Azure Logic Apps finns i Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps.

  • I arbetsflöden för förbrukning kan inkommande anrop till slutpunkts-URL:en för en begäransbaserad utlösare endast använda ett auktoriseringsschema, antingen OAuth 2.0 med Microsoft Entra-ID eller signatur för delad åtkomst (SAS). Om du använder ett schema inaktiveras inte det andra schemat, men om du använder båda schemana samtidigt genererar Azure Logic Apps ett fel eftersom tjänsten inte vet vilket schema som ska väljas. Om ditt förbrukningsarbetsflöde börjar med utlösaren Förfrågning kan du inaktivera SAS-autentisering och begränsa auktoriseringen till att endast använda OAuth 2.0 med Microsoft Entra-ID. För Standard-arbetsflöden kan du använda andra autentiseringstyper utan att inaktivera SAS.

  • Azure Logic Apps stöder antingen auktoriseringsscheman för innehavartyp eller innehavsbevis (endast förbrukningslogikapp) för Microsoft Entra ID OAuth-åtkomsttoken. Huvudet för åtkomsttoken måste dock Authorization ange antingen Bearer typ eller PoP typ. Mer information om hur du hämtar och använder en PoP-token finns i Hämta en PoP-token (Proof of Possession).

  • Din förbrukningslogikappresurs är begränsad till ett maximalt antal auktoriseringsprinciper. Varje auktoriseringsprincip har också ett maximalt antal anspråk. Mer information finns i Gränser och konfiguration för Azure Logic Apps.

  • En auktoriseringsprincip måste innehålla minst utfärdaranspråket, som har ett värde som börjar med antingen https://sts.windows.net/ eller https://login.microsoftonline.com/ (OAuth V2) som utfärdare för Microsoft Entra-ID.

    Anta till exempel att logikappresursen har en auktoriseringsprincip som kräver två anspråkstyper, Målgrupp och Utfärdare. Det här exempelnyttolastavsnittet för en avkodad åtkomsttoken innehåller båda anspråkstyperna där aud är målgruppsvärdet och iss är utfärdarvärdet:

    {
        "aud": "https://management.core.windows.net/",
        "iss": "https://sts.windows.net/<Azure-AD-issuer-ID>/",
        "iat": 1582056988,
        "nbf": 1582056988,
        "exp": 1582060888,
        "_claim_names": {
           "groups": "src1"
        },
        "_claim_sources": {
           "src1": {
              "endpoint": "https://graph.windows.net/7200000-86f1-41af-91ab-2d7cd011db47/users/00000-f433-403e-b3aa-7d8406464625d7/getMemberObjects"
           }
        },
        "acr": "1",
        "aio": "AVQAq/8OAAAA7k1O1C2fRfeG604U9e6EzYcy52wb65Cx2OkaHIqDOkuyyr0IBa/YuaImaydaf/twVaeW/etbzzlKFNI4Q=",
        "amr": [
           "rsa",
           "mfa"
        ],
        "appid": "c44b4083-3bb0-00001-b47d-97400853cbdf3c",
        "appidacr": "2",
        "deviceid": "bfk817a1-3d981-4dddf82-8ade-2bddd2f5f8172ab",
        "family_name": "Sophia Owen",
        "given_name": "Sophia Owen (Fabrikam)",
        "ipaddr": "167.220.2.46",
        "name": "sophiaowen",
        "oid": "3d5053d9-f433-00000e-b3aa-7d84041625d7",
        "onprem_sid": "S-1-5-21-2497521184-1604012920-1887927527-21913475",
        "puid": "1003000000098FE48CE",
        "scp": "user_impersonation",
        "sub": "KGlhIodTx3XCVIWjJarRfJbsLX9JcdYYWDPkufGVij7_7k",
        "tid": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "unique_name": "SophiaOwen@fabrikam.com",
        "upn": "SophiaOwen@fabrikam.com",
        "uti": "TPJ7nNNMMZkOSx6_uVczUAA",
        "ver": "1.0"
    }
    

Aktivera OAuth 2.0 med Microsoft Entra-ID som det enda alternativet för att anropa en slutpunkt för begäran (endast förbrukning)

För begärandebaserade slutpunkter kan du begränsa auktoriseringen till att endast använda OAuth 2.0 med Microsoft Entra-ID. Det här alternativet fungerar även om du även inaktiverar SAS-autentisering (signatur för delad åtkomst).

  1. För ditt förbrukningsarbetsflöde konfigurerar du utlösaren för begäran eller HTTP Webhook med funktionen för att kontrollera OAuth-åtkomsttoken genom att följa stegen för att inkludera rubriken "Auktorisering" i utdata från request- eller HTTP webhook-utlösaren.

    Kommentar

    Det här steget gör Authorization huvudet synligt i arbetsflödets körningshistorik och i utlösarens utdata.

  2. Öppna arbetsflödet Förbrukning i designern i Azure Portal.

  3. Välj utlösaren i designern. I informationsfönstret som öppnas väljer du Inställningar.

  4. Under Allmänna>utlösarvillkor väljer du Lägg till. I rutan för utlösarvillkor anger du något av följande uttryck, baserat på den tokentyp som du vill använda:

    @startsWith(triggerOutputs()?['headers']?['Authorization'], 'Bearer')

    -eller-

    @startsWith(triggerOutputs()?['headers']?['Authorization'], 'PoP')

Om du anropar utlösarslutpunkten utan rätt auktorisering visar körningshistoriken bara utlösaren som Skipped utan något meddelande om att utlösarvillkoret har misslyckats.

Hämta en PoP-token (Proof-of-Possession)

MsAL-bibliotek (Microsoft Authentication Library) tillhandahåller PoP-token som du kan använda. Om arbetsflödet för logikappen Förbrukning som du vill anropa kräver en PoP-token kan du hämta den här token med hjälp av MSAL-biblioteken. Följande exempel visar hur du hämtar PoP-token:

Om du vill använda PoP-token med arbetsflödet för förbrukningslogiken följer du stegen för att konfigurera OAuth med Microsoft Entra-ID.

Aktivera OAuth med Microsoft Entra-ID för din förbrukningslogikappresurs

Om du vill lägga till en auktoriseringsprincip i din förbrukningslogikapp följer du stegen för antingen mallen Azure Portal eller Azure Resource Manager:

  1. Öppna logikappen och arbetsflödet för förbrukning i designern i Azure Portal.

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

  3. På sidan Auktorisering väljer du Lägg till princip.

    Skärmbild som visar Azure Portal, auktoriseringssida och vald knapp för att lägga till princip.

  4. Ange information om auktoriseringsprincipen genom att ange de anspråkstyper och värden som logikappen förväntar sig i åtkomsttoken som presenteras av varje inkommande anrop till utlösaren Begäran :

    Skärmbild som visar information om Azure Portal, auktoriseringssida och auktoriseringsprincip.

    Property Obligatoriskt Type Beskrivning
    Principnamn Ja String Namnet som du vill använda för auktoriseringsprincipen
    Principtyp Ja String Antingen AAD för token av ägartyp eller AADPOP för token av typen Proof-of-Possession.
    Anspråk Ja String Ett nyckel/värde-par som anger anspråkstypen och värdet som arbetsflödets begärandeutlösare förväntar sig i åtkomsttoken som presenteras av varje inkommande anrop till utlösaren. Du kan lägga till valfritt standardanspråk genom att välja Lägg till standardanspråk. Om du vill lägga till ett anspråk som är specifikt för en PoP-token väljer du Lägg till anpassat anspråk.

    Tillgängliga standardanspråkstyper:

    - Utfärdare
    - Publik
    - Ämne
    - JWT-ID (JSON-webbtokenidentifierare)

    Krav:

    – Listan Anspråk måste minst innehålla utfärdaranspråket, som har ett värde som börjar med https://sts.windows.net/ eller https://login.microsoftonline.com/ som Microsoft Entra-utfärdar-ID.

    – Varje anspråk måste vara ett enda strängvärde, inte en matris med värden. Du kan till exempel ha ett anspråk med Roll som typ och Utvecklare som värde. Du kan inte ha ett anspråk som har Roll som typ och värdena som anges till Developer och Program Manager.

    – Anspråksvärdet är begränsat till ett maximalt antal tecken.

    Mer information om dessa anspråkstyper finns i Anspråk i Microsoft Entra-säkerhetstoken. Du kan också ange din egen anspråkstyp och ditt eget värde.

    I följande exempel visas information för en PoP-token:

    Skärmbild som visar Azure Portal, auktoriseringssida och principinformation för innehavsbevis.

  5. Om du vill lägga till ett annat anspråk väljer du bland följande alternativ:

    • Om du vill lägga till en annan anspråkstyp väljer du Lägg till standardanspråk, väljer anspråkstyp och anger anspråksvärdet.

    • Om du vill lägga till ett eget anspråk väljer du Lägg till anpassat anspråk. Mer information finns i hur du tillhandahåller valfria anspråk till din app. Ditt anpassade anspråk lagras sedan som en del av ditt JWT-ID. till exempel "tid": "aaaabbbb-0000-cccc-1111-dddd2222eeee".

  6. Om du vill lägga till ytterligare en auktoriseringsprincip väljer du Lägg till princip. Upprepa föregående steg för att konfigurera principen.

  7. När du är klar väljer du Spara.

  8. Om du vill ta med Authorization huvudet från åtkomsttoken i utdata från den begärandebaserade utlösaren läser du Inkludera auktoriseringshuvud i begäran och HTTP webhook-utlösare.

Arbetsflödesegenskaper som principer visas inte i arbetsflödets kodvy i Azure Portal. Om du vill komma åt dina principer programmatiskt anropar du följande API via Azure Resource Manager: https://management.azure.com/subscriptions/{Azure-subscription-ID}/resourceGroups/{Azure-resource-group-name}/providers/Microsoft.Logic/workflows/{your-workflow-name}?api-version=2016-10-01&_=1612212851820. Se till att du ersätter platshållarvärdena för ditt Azure-prenumerations-ID, resursgruppsnamn och arbetsflödesnamn.

Inkludera auktoriseringshuvud i utdata för begärande- eller HTTP-webhook-utlösare

För logikappar som aktiverar OAuth med Microsoft Entra-ID för att auktorisera inkommande anrop för åtkomst till begärandebaserade utlösare kan du aktivera utdata för utlösare för begäran eller HTTP Webhook-utlösare för att inkludera Authorization huvudet från OAuth-åtkomsttoken. I utlösarens underliggande JSON-definition lägger du till och anger operationOptions egenskapen till IncludeAuthorizationHeadersInOutputs. Här är ett exempel på utlösaren Förfrågning :

"triggers": {
   "manual": {
      "inputs": {
         "schema": {}
      },
      "kind": "Http",
      "type": "Request",
      "operationOptions": "IncludeAuthorizationHeadersInOutputs"
   }
}

Mer information finns i följande avsnitt:

Generera en SAS-nyckel (signatur för delad åtkomst) eller token

När ett arbetsflöde börjar med en begäransbaserad utlösare och du sparar arbetsflödet för första gången skapar Azure Logic Apps en anropsbar slutpunkt på utlösaren. Den här slutpunkten har en URL som kan ta emot inkommande anrop eller begäranden om att starta arbetsflödet. URL:en innehåller en signatur för delad åtkomst (SAS) som är en nyckel eller token som ger behörigheter, till exempel till lagringstjänster. Den här slutpunkts-URL:en använder följande format:

https://<request-endpoint-URI>sp=<permissions>sv=<SAS-version>sig=<signature>

Om du till exempel vill visa den här URL:en i en begäransutlösare letar du reda på utlösarens HTTP URL-egenskap :

Skärmbild som visar Azure Portal, Förbrukningsarbetsflödesdesigner och URL för utlösarslutpunkt för begäran.

Den fullständiga URL:en ser ut som i följande exempel:

https://{domain}:443/workflows/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/triggers/When_a_HTTP_request_is_received/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2FWhen_a_HTTP_request_is_received%2Frun&sv=1.0&sig=ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

SAS i URL:en har frågeparametrar som beskrivs i följande tabell:

Frågeparameter beskrivning
sp Anger behörigheter för tillåtna HTTP-metoder att använda.
sv Anger den SAS-version som ska användas för att generera signaturen.
sig Anger signaturen som ska användas för att autentisera åtkomsten till utlösaren. Den här signaturen genereras med hjälp av SHA256-algoritmen med en hemlig åtkomstnyckel på alla URL-sökvägar och egenskaper. Den här nyckeln hålls hemlig och krypterad, lagras med logikappen och exponeras aldrig eller publiceras aldrig. Logikappen auktoriserar endast de utlösare som innehåller en giltig signatur som skapats med den hemliga nyckeln.

Viktigt!

Se till att skydda din SAS-nyckel precis som du skyddar en kontonyckel från obehörig användning. Konfigurera eller ha en plan för att återkalla en komprometterad åtkomstnyckel. Använd diskretion när du distribuerar URI:er som använder åtkomstnycklar och endast distribuerar sådana URI:er via en säker anslutning, till exempel HTTPS. Se till att endast utföra åtgärder som använder en åtkomstnyckel via en HTTPS-anslutning. Alla som har en URI med giltig nyckel kan komma åt den associerade resursen. För att upprätthålla säkerheten och skydda åtkomsten till logikappens arbetsflöde återskapar du åtkomstnycklar enligt ett regelbundet schema eftersom de kan behöva följa säkerhetsprinciper eller komprometteras. På så sätt kan du se till att endast auktoriserade begäranden kan utlösa arbetsflödet, vilket skyddar dina data och processer från obehörig åtkomst.

Om du använder en SAS-nyckel för att få åtkomst till lagringstjänster rekommenderar Microsoft att du skapar en SAS för användardelegering som skyddas med Microsoft Entra-ID i stället för en kontonyckel.

För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för autentisering när det är möjligt. Det här alternativet ger överlägsen säkerhet utan att behöva ange autentiseringsuppgifter. 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. Information om hur du konfigurerar en hanterad identitet för Azure Logic Apps finns i Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps.

Inkommande anrop till slutpunkten på en begäransbaserad utlösare kan bara använda ett auktoriseringsschema, antingen SAS eller OAuth 2.0 med Microsoft Entra-ID. Om du använder det ena schemat inaktiveras inte det andra, men om du använder båda schemana samtidigt genererar Azure Logic Apps ett fel eftersom tjänsten inte vet vilket schema som ska väljas.

Om du har ett arbetsflöde för förbrukning som börjar med utlösaren Begäran kan du inaktivera SAS-autentisering. Det här alternativet fungerar även om du även begränsar auktoriseringen till att endast använda OAuth 2.0 med Microsoft Entra-ID. För Standard-arbetsflöden kan du använda andra autentiseringstyper utan att inaktivera SAS.

Mer information om säkerhet när du använder en SAS-nyckel finns i följande avsnitt i den här guiden:

Inaktivera sas-autentisering (signatur för delad åtkomst) (endast förbrukning)

Som standard har en begäransbaserad utlösare SAS-autentisering aktiverad. Utlösarens slutpunkts-URL innehåller en SAS, som börjar med frågeparametrarna, , sp-<permissions>sv-<SAS-version>sig=<signature>till exempel:

https://{domain}:443/workflows/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/triggers/When_a_HTTP_request_is_received/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2FWhen_a_HTTP_request_is_received%2Frun&sv=1.0&sig=ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

Om ditt förbrukningsarbetsflöde börjar med utlösaren Begäran och du vill använda OAuth med Microsoft Entra-ID kan du inaktivera SAS-autentisering för att undvika fel och problem med att köra arbetsflödet. Du lägger också till ett säkerhetslager genom att ta bort beroendet av hemligheter, vilket minskar risken för att hemligheter loggas eller läckas.

Det här alternativet fungerar även om du även aktiverar OAuth 2.0 med Microsoft Entra-ID som det enda alternativet för att anropa en begäransbaserad slutpunkt. För Standard-arbetsflöden kan du använda andra autentiseringstyper utan att inaktivera SAS.

Kommentar

Den här åtgärden inaktiverar SAS-autentisering för inkommande begäranden och blockerar befintliga SAS-nycklar eller signaturer från att fungera. Dina SAS-nycklar eller signaturer är dock giltiga och fungerar fortfarande om du aktiverar SAS-autentisering igen. Information om hur du inaktiverar SAS-nycklar och signaturer genom att skapa nya versioner finns i Återskapa åtkomstnycklar.

När du har inaktiverat SAS-autentisering innehåller slutpunkts-URL:en för begärandeutlösaren inte längre SAS-nyckeln, till exempel:

https://{domain}:443/workflows/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/triggers/When_a_HTTP_request_is_received/paths/invoke?api-version=2016-10-01

Förutsättningar

För den här uppgiften behöver du ett verktyg för att skicka REST API-anrop, till exempel:

Varning

För scenarier där du har känsliga data, till exempel autentiseringsuppgifter, hemligheter, åtkomsttoken, API-nycklar och annan liknande information, bör du använda ett verktyg som skyddar dina data med nödvändiga säkerhetsfunktioner, fungerar offline eller lokalt, inte synkroniserar dina data till molnet och inte kräver att du loggar in på ett onlinekonto. På så sätt minskar du risken för att exponera känsliga data för allmänheten.

Sök efter utlösare med SAS aktiverat eller inaktiverat

När SAS-autentisering har inaktiverats innehåller utlösarens slutpunkts-URL inte LÄNGRE SAS-nyckeln. Arbetsflödesdefinitionen för förbrukning innehåller även JSON-objektet sasAuthenticationPolicy . Det här objektet har en tillståndsegenskap som är inställd på Inaktiverad, till exempel:

"properties": {
    "accessControl": {
        "triggers": {
            "sasAuthenticationPolicy": {
                "state": "Disabled"
            }
        }
    }
}

Om du vill hitta förbrukningsarbetsflöden där SAS antingen är aktiverat eller inaktiverat kontrollerar du om arbetsflödesdefinitionen innehåller objektet sasAuthenticationPolicy där tillståndsegenskapen är inställd på Inaktiverad.

  1. Med verktyget som skickar REST API-anrop hämtar du information om arbetsflödet genom att köra åtgärden Arbetsflöden – Hämta med hjälp av följande GET-begäran, till exempel:

    GET https://management.azure.com/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Logic/workflows/{workflow-name}?api-version=2016-06-01

  2. Ta utdata från åtgärden Arbetsflöden – Hämta och kontrollera om objektet sasAuthenticationPolicy finns där tillståndsegenskapen är inställd på Inaktiverad.

Lägg till egenskapen sasAuthenticationPolicy i arbetsflödesdefinitionen

Följ dessa steg för förbrukningsarbetsflöden där du vill inaktivera SAS-autentisering:

  1. Om du inte redan har gjort det kan du hämta information om arbetsflödet genom att köra åtgärden Arbetsflöden – Hämta med hjälp av följande GET-begäran, till exempel:

    GET https://management.azure.com/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Logic/workflows/{workflow-name}?api-version=2016-06-01

  2. Ta utdata från åtgärden Arbetsflöden – Hämta och lägg till följande element manuellt:

    1. I objektet properties lägger du till ett accessControl objekt som innehåller ett triggers objekt, om det inte finns något.

    2. triggers I objektet lägger du till ett sasAuthenticationPolicy objekt som innehåller egenskapen inställd på state Disabled.

    När du är klar ser den redigerade delen ut som i följande exempel:

    "properties": {
        "accessControl": {
            "triggers": {
                "sasAuthenticationPolicy": {
                    "state": "Disabled"
                }
            }
        }
    }
    
  3. Skicka en annan begäran om att uppdatera arbetsflödet med de redigerade utdata som du använder som indata i begärandetexten genom att köra åtgärden Arbetsflöden – Uppdatering med hjälp av följande PATCH-begäran, till exempel:

    PATCH https://management.azure.com/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Logic/workflows/{workflow-name}?api-version=2016-06-01

  4. I Azure Portal går du till ditt förbrukningsarbetsflöde i designern och bekräftar att URL:en för utlösaren för begäran inte längre innehåller SAS.

  5. Om du vill aktivera Oauth 2.0 med Microsoft Entra-ID lägger du till en auktoriseringsprincip för OAuth med Microsoft Entra-ID på logikappens resursnivå.

    Mer information finns i Aktivera OAuth 2.0 med Microsoft Entra-ID.

Återskapa åtkomstnycklar

För att upprätthålla säkerheten och skydda åtkomsten till logikappens arbetsflöde återskapar du åtkomstnycklar enligt ett regelbundet schema eftersom de kan behöva följa säkerhetsprinciper eller komprometteras. På så sätt kan du se till att endast auktoriserade begäranden kan utlösa arbetsflödet, vilket skyddar dina data och processer från obehörig åtkomst.

Om du vill generera en ny åtkomstnyckel när som helst använder du Azure REST API eller Azure Portal. Alla tidigare genererade URL:er eller URL:er som använder den gamla nyckeln är ogiltiga och har inte längre behörighet att utlösa arbetsflödet för logikappen. DE URI:er som du hämtar efter regenereringen har signerats med den nya åtkomstnyckeln.

  1. I Azure Portal öppnar du logikappresursen som använder nyckeln som du vill återskapa.

  2. På resursmenyn för logikappen går du till Inställningar och väljer Åtkomstnycklar.

  3. Välj den nyckel som du vill återskapa och slutföra processen.

Viktigt!

Se till att skydda din åtkomstnyckel precis som du skyddar en kontonyckel från obehörig användning. Konfigurera eller ha en plan för att återkalla en komprometterad åtkomstnyckel. Använd diskretion när du distribuerar URI:er som använder åtkomstnycklar och endast distribuerar sådana URI:er via en säker anslutning, till exempel HTTPS. Se till att endast utföra åtgärder som använder en åtkomstnyckel via en HTTPS-anslutning. Alla som har en URI med giltig nyckel kan komma åt den associerade resursen.

Om du använder en SAS-nyckel för att få åtkomst till lagringstjänster rekommenderar Microsoft att du skapar en SAS för användardelegering som skyddas med Microsoft Entra-ID i stället för en kontonyckel.

För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för autentisering när det är möjligt. Det här alternativet ger överlägsen säkerhet utan att behöva ange autentiseringsuppgifter. 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. Information om hur du konfigurerar en hanterad identitet för Azure Logic Apps finns i Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps.

Skapa url:er för motringning som upphör att gälla

Om du delar slutpunkts-URL:en för en begärandebaserad utlösare med andra parter kan du generera url:er för återanrop som använder specifika nycklar och har förfallodatum. På så sätt kan du sömlöst rulla nycklar eller begränsa åtkomsten till att utlösa logikappen baserat på ett visst tidsintervall. Om du vill ange ett förfallodatum för en URL använder du Rest-API:et för Azure Logic Apps, till exempel:

POST /subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Logic/workflows/{workflow-name}/triggers/{trigger-name}/listCallbackUrl?api-version=2016-06-01

I brödtexten NotAfter tar du med egenskapen med hjälp av en JSON-datumsträng. Den här egenskapen returnerar en motringnings-URL som endast är giltig fram till NotAfter datum och tid.

Skapa URL:er med primär eller sekundär hemlig nyckel

När du genererar eller listar url:er för återanrop för en begärandebaserad utlösare kan du ange den nyckel som ska användas för att signera URL:en. Om du vill generera en URL som är signerad av en specifik nyckel använder du Rest-API:et för Azure Logic Apps, till exempel:

POST /subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Logic/workflows/{workflow-name}/triggers/{trigger-name}/listCallbackUrl?api-version=2016-06-01

I brödtexten tar du KeyType med egenskapen som antingen Primary eller Secondary. Den här egenskapen returnerar en URL som är signerad av den angivna säkerhetsnyckeln.

Exponera arbetsflödet för logikappen med Azure API Management

Om du vill ha fler autentiseringsprotokoll och alternativ kan du överväga att exponera logikappens arbetsflöde som ett API med hjälp av Azure API Management. Den här tjänsten tillhandahåller omfattande funktioner för övervakning, säkerhet, princip och dokumentation för alla slutpunkter. API Management kan exponera en offentlig eller privat slutpunkt för din logikapp. Om du vill auktorisera åtkomst till den här slutpunkten kan du använda OAuth med Microsoft Entra-ID, klientcertifikat eller andra säkerhetsstandarder. När API Management tar emot en begäran skickar tjänsten begäran till logikappen och gör alla nödvändiga omvandlingar eller begränsningar längs vägen. Om du bara vill låta API Management anropa logikappens arbetsflöde kan du begränsa logikappens inkommande IP-adresser.

Mer information finns i följande dokumentation:

Begränsa inkommande IP-adresser

Tillsammans med signatur för delad åtkomst (SAS) kanske du specifikt vill begränsa de klienter som kan anropa logikappens arbetsflöde. Om du till exempel hanterar din slutpunkt för begäran med hjälp av Azure API Management kan du begränsa arbetsflödet för logikappen till att endast acceptera begäranden från IP-adressen för den API Management-tjänstinstans som du skapar.

Oavsett vilka IP-adresser du anger kan du fortfarande köra ett logikapparbetsflöde som har en begäransbaserad utlösare med hjälp av arbetsflödesutlösare – Kör åtgärdsbegäran eller med hjälp av API Management. Det här scenariot kräver dock fortfarande autentisering mot Azure REST API. Alla händelser visas i Azure-granskningsloggen. Kontrollera att du anger principer för åtkomstkontroll i enlighet med detta.

Om du vill begränsa inkommande IP-adresser för logikappens arbetsflöde följer du motsvarande steg för antingen Azure Portal eller din Azure Resource Manager-mall. Ett giltigt IP-intervall använder följande format: x.x.x.x/x eller x.x.x.x.x.x.x.x.x

I Azure Portal påverkar BEGRÄNSNING av IP-adresser både utlösare och åtgärder, i motsats till beskrivningen i portalen under Tillåtna inkommande IP-adresser. Om du vill konfigurera det här filtret separat för utlösare och åtgärder använder du accessControl objektet i en Azure Resource Manager-mall för din logikappresurs eller åtgärden Arbetsflöde – Skapa eller uppdatera i REST-API:et för Azure Logic Apps.

Förbrukningsarbetsflöden
  1. Öppna logikappen Förbrukning i arbetsflödesdesignern i Azure Portal.

  2. På logikappmenyn går du till Inställningar och väljer Arbetsflödesinställningar.

  3. I avsnittet Konfiguration av åtkomstkontroll under Tillåtna inkommande IP-adresser väljer du sökvägen för ditt scenario:

    • Om du vill göra arbetsflödet anropbart med hjälp av den inbyggda åtgärden Azure Logic Apps, men bara som ett kapslat arbetsflöde, väljer du Endast andra Logic Apps. Det här alternativet fungerar bara när du använder Azure Logic Apps-åtgärden för att anropa det kapslade arbetsflödet.

      Det här alternativet skriver en tom matris till logikappresursen och kräver att endast anrop från överordnade arbetsflöden som använder den inbyggda Azure Logic Apps-åtgärden kan utlösa det kapslade arbetsflödet.

    • Om du vill göra arbetsflödet anropbart med http-åtgärden, men bara som ett kapslat arbetsflöde, väljer du Specifika IP-intervall. När rutan IP-intervall för utlösare visas anger du det överordnade arbetsflödets utgående IP-adresser. Ett giltigt IP-intervall använder följande format: x.x.x.x/x eller x.x.x.x.x.x.x.x.x

      Kommentar

      Om du använder alternativet Endast andra Logic Apps och HTTP-åtgärden för att anropa ditt kapslade arbetsflöde blockeras anropet och du får felet "401 Obehörig".

    • För scenarier där du vill begränsa inkommande anrop från andra IP-adresser anger du de IP-adressintervall som utlösaren accepterar när rutan IP-intervall för utlösare visas. Ett giltigt IP-intervall använder följande format: x.x.x.x/x eller x.x.x.x.x.x.x.x.x

  4. Under Begränsa anrop för att hämta in- och utdatameddelanden från körningshistoriken till de angivna IP-adresserna kan du också ange IP-adressintervallen för inkommande anrop som kan komma åt in- och utdatameddelanden i körningshistoriken.

Standardarbetsflöden
  1. Öppna din standardlogikappresurs i Azure Portal.

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

  3. I avsnittet Konfiguration av inkommande trafik bredvid Åtkomst till offentligt nätverk väljer du Aktiverad utan åtkomstbegränsning.

  4. På sidan Åtkomstbegränsningar går du till Appåtkomst och väljer Aktiverad från välj virtuella nätverk och IP-adresser.

  5. Under Webbplatsåtkomst och reglerfliken Huvudwebbplats lägger du till en eller flera regler i antingen Tillåt eller Neka begäranden från specifika IP-intervall. Ett giltigt IP-intervall använder följande format: x.x.x.x/x eller x.x.x.x.x.x.x.x.x

    Mer information finns i Blockera inkommande IP-adresser i Azure Logic Apps (Standard).

Åtkomst för utgående anrop till andra tjänster och system

Baserat på målslutpunktens kapacitet stöder utgående anrop som skickas av HTTP-utlösaren eller HTTP-åtgärden kryptering och skyddas med TLS (Transport Layer Security) 1.0, 1.1 eller 1.2, som tidigare kallades Secure Sockets Layer (SSL). Azure Logic Apps förhandlar med målslutpunkten om att använda den högsta möjliga versionen som stöds. Om målslutpunkten till exempel stöder 1.2 använder HTTP-utlösaren eller åtgärden 1.2 först. Annars använder anslutningsappen den näst högsta versionen som stöds.

Den här listan innehåller information om självsignerade TLS/SSL-certifikat:

  • För arbetsflöden för förbrukningslogikappar i Azure Logic Apps-miljön med flera klientorganisationer tillåter HTTP-åtgärder inte självsignerade TLS/SSL-certifikat. Om logikappen gör ett HTTP-anrop till en server och visar ett självsignerat TLS/SSL-certifikat misslyckas HTTP-anropet med ett TrustFailure fel.

  • För standardarbetsflöden för logikappar i Azure Logic Apps-miljön med en enda klient stöder HTTP-åtgärder självsignerade TLS/SSL-certifikat. Du måste dock utföra några extra steg för den här autentiseringstypen. Annars misslyckas anropet. Mer information finns i TLS/SSL-certifikatautentisering för Azure Logic Apps med en klientorganisation.

    Om du vill använda klientcertifikat eller OAuth med Microsoft Entra-ID med certifikatautentiseringstypen i stället måste du fortfarande utföra några extra steg för den här autentiseringstypen. Annars misslyckas anropet. Mer information finns i Klientcertifikat eller OAuth med Microsoft Entra-ID med autentiseringstypen "Certifikat" för Azure Logic Apps med en enda klientorganisation.

Här är fler sätt att skydda slutpunkter som hanterar anrop som skickas från logikappens arbetsflöden:

  • Lägg till autentisering i utgående begäranden.

    När du använder HTTP-utlösaren eller åtgärden för att skicka utgående anrop kan du lägga till autentisering i begäran som skickas av logikappen. Du kan till exempel välja dessa autentiseringstyper:

  • Begränsa åtkomsten från IP-adresser för logikappens arbetsflöde.

    Alla anrop till slutpunkter från logikappens arbetsflöden kommer från specifika avsedda IP-adresser som baseras på dina logikappars regioner. Du kan lägga till filtrering som endast accepterar begäranden från dessa IP-adresser. Information om hur du hämtar dessa IP-adresser finns i Gränser och konfiguration för Azure Logic Apps.

  • Förbättra säkerheten för anslutningar till lokala system.

    Azure Logic Apps tillhandahåller integrering med dessa tjänster för att ge säkrare och mer tillförlitlig lokal kommunikation.

    • Lokal datagateway

      Många hanterade anslutningsappar i Azure Logic Apps underlättar säkra anslutningar till lokala system, till exempel filsystem, SQL, SharePoint och DB2. Gatewayen skickar data från lokala källor i krypterade kanaler via Azure Service Bus. All trafik kommer från en skyddad utgående trafik från gatewayagenten. Lär dig hur den lokala datagatewayen fungerar.

    • Ansluta via Azure API Management

      Azure API Management tillhandahåller lokala anslutningsalternativ, till exempel virtuellt privat nätverk från plats till plats och ExpressRoute-integrering för säker proxy och kommunikation till lokala system. Om du har ett API som ger åtkomst till ditt lokala system och du exponerar API:et genom att skapa en API Management-tjänstinstans, kan du anropa api:et från logikappens arbetsflöde genom att välja motsvarande API Management-åtgärd i arbetsflödesdesignern.

      Kommentar

      Anslutningsappen visar endast de API Management-tjänster där du har behörighet att visa och ansluta, men som inte visar förbrukningsbaserade API Management-tjänster.

      Följ motsvarande steg baserat på resurstypen för logikappen:

      Förbrukningsarbetsflöden

      1. Baserat på om du lägger till en API Management-utlösare eller åtgärd följer du dessa steg:

        • Utlösare:

          1. I arbetsflödesdesignern väljer du Lägg till en utlösare.

          2. När fönstret Lägg till en utlösare öppnas anger du API Management i sökrutan.

          3. I listan med utlösarresultat väljer du Välj en Azure API Management-utlösare.

        • Åtgärd:

          1. I arbetsflödesdesignern väljer du plustecknet (+) där du vill lägga till åtgärden.

          2. När fönstret Lägg till en åtgärd öppnas anger du API Management i sökrutan.

          3. I listan med åtgärdsresultat väljer du Välj en Azure API Management-åtgärd.

        I följande exempel visas hur du hittar en Azure API Management-utlösare:

        Skärmbild som visar Azure Portal, Förbrukningsarbetsflödesdesigner och hitta en API Management-utlösare.

      2. Välj din tidigare skapade API Management-tjänstinstans i listan API Management-tjänstinstans.

      3. I listan ÖVER API-åtgärder väljer du den API-åtgärd som ska anropas och väljer sedan Lägg till åtgärd.

      Standardarbetsflöden

      För Standard-arbetsflöden kan du bara lägga till API Management-åtgärder , inte utlösare.

      1. I arbetsflödesdesignern väljer du plustecknet (+) där du vill lägga till åtgärden.

      2. När fönstret Lägg till en åtgärd öppnas anger du API Management i sökrutan.

      3. I listan med åtgärdsresultat väljer du Anropa ett Azure API Management API.

        Skärmbild som visar åtgärden Azure Portal, Standard workflow designer och Azure API Management.

      4. Välj din tidigare skapade API Management-tjänstinstans i listan API Management-tjänstinstans.

      5. I listan API-åtgärder väljer du den API-åtgärd som ska anropas och väljer sedan Skapa ny.

        Skärmbild som visar Azure Portal, standardarbetsflödesdesigner och valt API som ska anropas.

Lägga till autentisering i utgående anrop

HTTP- och HTTPS-slutpunkter stöder olika typer av autentisering. På vissa utlösare och åtgärder som du använder för att skicka utgående anrop eller begäranden till dessa slutpunkter kan du ange en autentiseringstyp. I arbetsflödesdesignern har utlösare och åtgärder som stöder val av autentiseringstyp en autentiseringsegenskap . Den här egenskapen kanske dock inte alltid visas som standard. I dessa fall öppnar du listan Avancerade parametrar i utlösaren eller åtgärden och väljer Autentisering.

Viktigt!

Om du vill skydda känslig information som arbetsflödet för logikappen hanterar använder du skyddade parametrar och kodar data efter behov. Mer information om hur du använder och skyddar parametrar finns i Åtkomst till parameterindata.

För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för autentisering när det är möjligt. Det här alternativet ger överlägsen säkerhet utan att behöva ange autentiseringsuppgifter. 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. Information om hur du konfigurerar en hanterad identitet för Azure Logic Apps finns i Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps.

Grundläggande autentisering

För HTTP-anrop använder grundläggande autentisering en base64-kodad sträng som innehåller ett användarnamn och lösenord för att göra en begäran. Den här metoden överför autentiseringsuppgifter utan kryptering och medför ökade säkerhetsrisker om du inte använder det här alternativet med HTTPS/SSL-protokollet.

Viktigt!

För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för autentisering när det är möjligt. Det här alternativet ger överlägsen säkerhet utan att behöva ange autentiseringsuppgifter. 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. Information om hur du konfigurerar en hanterad identitet för Azure Logic Apps finns i Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps.

Om alternativet Basic är tillgängligt och valt anger du följande egenskapsvärden:

Egenskap (designer) Egenskap (JSON) Obligatoriskt Värde beskrivning
Autentisering type Ja Grundläggande Den autentiseringstyp som ska användas
Användarnamn username Ja <användarnamn> Användarnamnet för att autentisera åtkomst till måltjänstslutpunkten
Lösenord password Ja <lösenord> Lösenordet för att autentisera åtkomst till måltjänstslutpunkten

När du använder skyddade parametrar för att hantera och skydda känslig information, till exempel i en Azure Resource Manager-mall för att automatisera distributionen, kan du använda uttryck för att komma åt dessa parametervärden vid körning. I det här exemplet anger HTTP-åtgärdsdefinitionen autentiseringen type som Basic och använder funktionen parameters() för att hämta parametervärdena:

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "GET",
      "uri": "@parameters('endpointUrlParam')",
      "authentication": {
         "type": "Basic",
         "username": "@parameters('userNameParam')",
         "password": "@parameters('passwordParam')"
      }
  },
  "runAfter": {}
}

Autentisering med klientcertifikat

Klientcertifikatautentisering tillåter eller kräver att användarna autentiserar direkt med X.509-certifikat mot sitt Microsoft Entra-ID för program och webbläsarinloggning. Den här funktionen hjälper dig att använda en nätfiskebeständig autentisering och autentisera med ett X.509-certifikat mot din offentliga nyckelinfrastruktur (PKI).

Viktigt!

För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för autentisering när det är möjligt. Det här alternativet ger överlägsen säkerhet utan att behöva ange autentiseringsuppgifter. 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. Information om hur du konfigurerar en hanterad identitet för Azure Logic Apps finns i Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps.

Om alternativet Klientcertifikat är tillgängligt och valt anger du följande egenskapsvärden:

Egenskap (designer) Egenskap (JSON) Obligatoriskt Värde beskrivning
Autentisering type Ja Klientcertifikat
eller
ClientCertificate
Den autentiseringstyp som ska användas. Du kan hantera certifikat med Azure API Management.

Obs! Anpassade anslutningsappar stöder inte certifikatbaserad autentisering för både inkommande och utgående anrop.
Pfx pfx Ja <kodat pfx-file-content> Det base64-kodade innehållet från en PFX-fil (Personal Information Exchange)

Om du vill konvertera PFX-filen till base64-kodat format kan du använda PowerShell 7 genom att följa dessa steg:

1. Spara certifikatinnehållet i en variabel:

$pfx_cert = [System.IO.File]::ReadAllBytes('c:\certificate.pfx')

2. Konvertera certifikatinnehållet med hjälp ToBase64String() av funktionen och spara innehållet i en textfil:

[System.Convert]::ToBase64String($pfx_cert) | Out-File 'pfx-encoded-bytes.txt'

Felsökning: Om du använder cert mmc/PowerShell kommandot kan det här felet visas:

Could not load the certificate private key. Please check the authentication certificate password is correct and try again.

Lös det här felet genom att försöka konvertera PFX-filen till en PEM-fil och gå tillbaka igen med hjälp openssl av kommandot :

openssl pkcs12 -in certificate.pfx -out certificate.pem
openssl pkcs12 -in certificate.pem -export -out certificate2.pfx

När du sedan får den base64-kodade strängen för certifikatets nyligen konverterade PFX-fil fungerar strängen nu i Azure Logic Apps.
Lösenord password Nej <password-for-pfx-file> Lösenordet för att komma åt PFX-filen

Kommentar

Om du försöker autentisera med ett klientcertifikat med OpenSSL kan du få följande fel:

BadRequest: Could not load private key

Du åtgärdar felet genom att följa dessa steg:

  1. Avinstallera alla OpenSSL-instanser.
  2. Installera OpenSSL version 1.1.1t.
  3. Avsäg certifikatet med hjälp av den nya uppdateringen.
  4. Lägg till det nya certifikatet i HTTP-åtgärden när du använder klientcertifikatautentisering.

När du använder skyddade parametrar för att hantera och skydda känslig information, till exempel i en Azure Resource Manager-mall för att automatisera distributionen, kan du använda uttryck för att komma åt dessa parametervärden vid körning. I det här exemplet anger HTTP-åtgärdsdefinitionen autentiseringen type som ClientCertificate och använder funktionen parameters() för att hämta parametervärdena:

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "GET",
      "uri": "@parameters('endpointUrlParam')",
      "authentication": {
         "type": "ClientCertificate",
         "pfx": "@parameters('pfxParam')",
         "password": "@parameters('passwordParam')"
      }
   },
   "runAfter": {}
}

Viktigt!

Om du har en standardlogikappresurs i Azure Logic Apps med en enda klientorganisation och vill använda en HTTP-åtgärd med ett TSL/SSL-certifikat, klientcertifikat eller Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth) med Certificate autentiseringstypen måste du slutföra de extra installationsstegen för den här autentiseringstypen. Annars misslyckas anropet. Mer information finns i Autentisering i en klientorganisationsmiljö.

Mer information om hur du skyddar tjänster med hjälp av klientcertifikatautentisering finns i följande avsnitt:

Microsoft Entra-plattform

På begärandeutlösaren kan du använda Microsoft Entra-plattformen för att autentisera inkommande samtal när du har konfigurerat Microsoft Entra-auktoriseringsprinciper för din logikapp.

Viktigt!

För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för autentisering när det är möjligt. Det här alternativet ger överlägsen säkerhet utan att behöva ange autentiseringsuppgifter. 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. Information om hur du konfigurerar en hanterad identitet för Azure Logic Apps finns i Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps.

För alla andra utlösare och åtgärder som stöder autentiseringstypen Active Directory OAuth (OAuth 2.0 med Microsoft Entra ID) anger du följande egenskapsvärden:

Egenskap (designer) Egenskap (JSON) Obligatoriskt Värde beskrivning
Autentisering type Ja Active Directory OAuth (OAuth 2.0 med Microsoft Entra ID)
eller
ActiveDirectoryOAuth
Den autentiseringstyp som ska användas. Azure Logic Apps följer för närvarande OAuth 2.0-protokollet.
Auktoritet authority Nej <URL-for-authority-token-issuer> URL:en för den utfärdare som tillhandahåller åtkomstnyckeln, till exempel https://login.microsoftonline.com/ för globala Azure-tjänstregioner. Andra nationella moln finns i Microsoft Entra-autentiseringsslutpunkter – Välja din identitetsutfärdare.
Klientorganisation tenant Ja <klientorganisations-ID> Klientorganisations-ID för Microsoft Entra-klientorganisationen
Publik audience Ja <resource-to-authorize> Den resurs som du vill använda för auktorisering, till exempel https://management.core.windows.net/
Klient-ID clientId Ja <klient-ID> Klient-ID:t för appen som begär auktorisering
Typ av autentiseringsuppgifter credentialType Ja Intyg
eller
Hemlig
Den typ av autentiseringsuppgifter som klienten använder för att begära auktorisering. Den här egenskapen och värdet visas inte i logikappens underliggande definition, utan avgör vilka egenskaper som visas för den valda autentiseringstypen.
Hemlighet secret Ja, men bara för autentiseringstypen "Hemlig" <klienthemlighet> Klienthemligheten för att begära auktorisering
Pfx pfx Ja, men bara för autentiseringstypen "Certifikat" <kodat pfx-file-content> Det base64-kodade innehållet från en PFX-fil (Personal Information Exchange)
Lösenord password Ja, men bara för autentiseringstypen "Certifikat" <password-for-pfx-file> Lösenordet för att komma åt PFX-filen

När du använder skyddade parametrar för att hantera och skydda känslig information, till exempel i en Azure Resource Manager-mall för att automatisera distributionen, kan du använda uttryck för att komma åt dessa parametervärden vid körning. I det här exemplet anger HTTP-åtgärdsdefinitionen autentiseringen type som ActiveDirectoryOAuth, typ av autentiseringsuppgifter som Secretoch använder funktionen parameters() för att hämta parametervärdena:

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "GET",
      "uri": "@parameters('endpointUrlParam')",
      "authentication": {
         "type": "ActiveDirectoryOAuth",
         "tenant": "@parameters('tenantIdParam')",
         "audience": "https://management.core.windows.net/",
         "clientId": "@parameters('clientIdParam')",
         "credentialType": "Secret",
         "secret": "@parameters('secretParam')"
     }
   },
   "runAfter": {}
}

Viktigt!

Om du har en standardlogikappresurs i Azure Logic Apps med en enda klientorganisation och vill använda en HTTP-åtgärd med ett TSL/SSL-certifikat, klientcertifikat eller Microsoft Entra ID OAuth med Certificate typen autentiseringsuppgifter ska du slutföra de extra installationsstegen för den här autentiseringstypen. Annars misslyckas anropet. Mer information finns i Autentisering i en klientorganisationsmiljö.

Råautentisering

Om alternativet Rådata är tillgängligt kan du använda den här autentiseringstypen när du måste använda autentiseringsscheman som inte följer OAuth 2.0-protokollet. Med den här typen skapar du manuellt det auktoriseringshuvudvärde som du skickar med den utgående begäran och anger det rubrikvärdet i utlösaren eller åtgärden.

Viktigt!

För optimal säkerhet rekommenderar Microsoft att du använder Microsoft Entra-ID med hanterade identiteter för autentisering när det är möjligt. Det här alternativet ger överlägsen säkerhet utan att behöva ange autentiseringsuppgifter. 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. Information om hur du konfigurerar en hanterad identitet för Azure Logic Apps finns i Autentisera åtkomst och anslutningar till Azure-resurser med hanterade identiteter i Azure Logic Apps.

I följande exempel visas ett exempelhuvud för en HTTPS-begäran som följer OAuth 1.0-protokollet:

Authorization: OAuth realm="Photos",
   oauth_consumer_key="dpf43f3p2l4k3l03",
   oauth_signature_method="HMAC-SHA1",
   oauth_timestamp="137131200",
   oauth_nonce="wIjqoS",
   oauth_callback="http%3A%2F%2Fprinter.example.com%2Fready",
   oauth_signature="74KNZJeDHnMBp0EMJ9ZHt%2FXKycU%3D"

I utlösaren eller åtgärden som stöder råautentisering anger du följande egenskapsvärden:

Egenskap (designer) Egenskap (JSON) Obligatoriskt Värde beskrivning
Autentisering type Ja Raw Den autentiseringstyp som ska användas
Värde value Ja <authorization-header-value> Värdet för auktoriseringshuvud som ska användas för autentisering

När du använder skyddade parametrar för att hantera och skydda känslig information, till exempel i en Azure Resource Manager-mall för att automatisera distributionen, kan du använda uttryck för att komma åt dessa parametervärden vid körning. I det här exemplet anger HTTP-åtgärdsdefinitionen autentiseringen type som Rawoch använder funktionen parameters() för att hämta parametervärdena:

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "GET",
      "uri": "@parameters('endpointUrlParam')",
      "authentication": {
         "type": "Raw",
         "value": "@parameters('authHeaderParam')"
      }
   },
   "runAfter": {}
}

Autentisering av hanterad identitet

När alternativet hanterad identitet är tillgängligt för utlösaren eller åtgärden som stöder hanterad identitetsautentisering kan logikappen använda den här identiteten för att autentisera åtkomst till Azure-resurser som skyddas av Microsoft Entra-ID i stället för autentiseringsuppgifter, hemligheter eller Microsoft Entra-token. Azure hanterar den här identiteten åt dig och hjälper dig att skydda dina autentiseringsuppgifter eftersom du inte behöver hantera hemligheter eller använda Microsoft Entra-token direkt. Läs mer om Azure-tjänster som stöder hanterade identiteter för Microsoft Entra-autentisering.

  • En förbrukningslogikappresurs kan använda den systemtilldelade identiteten eller en enda användartilldelad identitet som skapats manuellt.

  • En standardlogikappresurs har stöd för att aktivera den systemtilldelade hanterade identiteten och flera användartilldelade hanterade identiteter samtidigt, även om du fortfarande bara kan välja en identitet att använda när som helst.

    Kommentar

    Som standard är den systemtilldelade identiteten redan aktiverad för att autentisera anslutningar vid körning. Den här identiteten skiljer sig från autentiseringsuppgifterna eller anslutningssträng som du använder när du skapar en anslutning. Om du inaktiverar den här identiteten fungerar inte anslutningar vid körning. Om du vill visa den här inställningen går du till logikappmenyn under Inställningar och väljer Identitet.

  1. Innan logikappen kan använda en hanterad identitet följer du stegen i Autentisera åtkomst till Azure-resurser med hjälp av hanterade identiteter i Azure Logic Apps. De här stegen aktiverar den hanterade identiteten i logikappen och konfigurerar identitetens åtkomst till Azure-målresursen.

  2. Innan en Azure-funktion kan använda en hanterad identitet måste du först aktivera autentisering för Azure-funktioner.

  3. Ange följande information i utlösaren eller åtgärden som stöder användning av en hanterad identitet:

    Inbyggda utlösare och åtgärder

    Egenskap (designer) Egenskap (JSON) Obligatoriskt Värde beskrivning
    Autentisering type Ja Hanterad identitet
    eller
    ManagedServiceIdentity
    Den autentiseringstyp som ska användas
    Hanterad identitet identity Nej <user-assigned-identity-ID> Den användartilldelade hanterade identiteten som ska användas. Obs! Inkludera inte den här egenskapen när du använder den systemtilldelade hanterade identiteten.
    Publik audience Ja <target-resource-ID> Resurs-ID:t för målresursen som du vill komma åt.

    Gör till exempel https://storage.azure.com/ åtkomsttoken för autentisering giltiga för alla lagringskonton. Du kan dock också ange en rottjänst-URL, till exempel https://fabrikamstorageaccount.blob.core.windows.net för ett specifikt lagringskonto.

    Obs! Egenskapen Målgrupp kan vara dold i vissa utlösare eller åtgärder. Om du vill göra den här egenskapen synlig öppnar du listan Avancerade parametrar i utlösaren eller åtgärden och väljer Målgrupp.

    Viktigt: Kontrollera att det här målresurs-ID:t exakt matchar det värde som Microsoft Entra-ID förväntar sig, inklusive eventuella efterföljande snedstreck. Resurs-ID https://storage.azure.com/ :t för alla Azure Blob Storage-konton kräver därför ett avslutande snedstreck. Resurs-ID:t för ett specifikt lagringskonto kräver dock inte ett avslutande snedstreck. Information om hur du hittar dessa resurs-ID:er finns i Azure-tjänster som stöder Microsoft Entra-ID.

    När du använder skyddade parametrar för att hantera och skydda känslig information, till exempel i en Azure Resource Manager-mall för att automatisera distributionen, kan du använda uttryck för att komma åt dessa parametervärden vid körning. Den här HTTP-åtgärdsdefinitionen anger till exempel autentiseringen type som ManagedServiceIdentity och använder funktionen parameters() för att hämta parametervärdena:

    "HTTP": {
       "type": "Http",
       "inputs": {
          "method": "GET",
          "uri": "@parameters('endpointUrlParam')",
          "authentication": {
             "type": "ManagedServiceIdentity",
             "audience": "https://management.azure.com/"
          },
       },
       "runAfter": {}
    }
    

    Utlösare och åtgärder för hanterade anslutningsappar

    Egenskap (designer) Obligatoriskt Värde beskrivning
    Anslutningens namn Ja <anslutningsnamn>
    Hanterade identiteter Ja Systemtilldelad hanterad identitet
    eller
    <user-assigned-managed-identity-name>
    Den autentiseringstyp som ska användas

Blockera skapande av anslutningar

Om din organisation inte tillåter anslutning till specifika resurser med hjälp av sina anslutningsappar i Azure Logic Apps kan du blockera möjligheten att skapa dessa anslutningar för specifika anslutningsappar i logikappens arbetsflöden med hjälp av Azure Policy. Mer information finns i Blockera anslutningar som skapats av specifika anslutningsappar i Azure Logic Apps.

Isoleringsvägledning för logikappar

Mer information om isolering finns i följande dokumentation: