Ověřování přístupu a připojení k prostředkům Azure pomocí spravovaných identit v Azure Logic Apps

Platí pro: Azure Logic Apps (Consumption + Standard)

Pokud používáte spravovanou identitu k ověřování přístupu nebo připojení k prostředkům chráněným Microsoft Entra z pracovního postupu aplikace logiky, nemusíte zadávat přihlašovací údaje, tajné kódy ani tokeny Microsoft Entra. V Azure Logic Apps některé operace konektoru podporují použití spravované identity, když potřebujete ověřit přístup k prostředkům chráněným ID Microsoft Entra. Azure tuto identitu spravuje a pomáhá zabezpečit ověřovací informace, protože tyto citlivé informace nemusíte spravovat. Další informace najdete v tématu, které vysvětluje, co jsou spravované identity pro prostředky Azure.

Azure Logic Apps podporuje spravovanou identitu přiřazenou systémem a spravovanou identitu přiřazenou uživatelem. Následující seznam popisuje některé rozdíly mezi těmito typy spravovaných identit:

  • Prostředek aplikace logiky může povolit a používat pouze jednu jedinečnou identitu přiřazenou systémem.

  • Prostředek aplikace logiky může sdílet stejnou identitu přiřazenou uživatelem napříč skupinou jiných prostředků aplikace logiky.

Tento průvodce ukazuje, jak provést následující úlohy:

  • Povolte a nastavte spravovanou identitu přiřazenou systémem pro prostředek aplikace logiky. Tato příručka obsahuje příklad, který ukazuje, jak používat identitu k ověřování.

  • Vytvoření a nastavení identity přiřazené uživatelem Tato příručka ukazuje, jak vytvořit identitu přiřazenou uživatelem pomocí webu Azure Portal a šablony Azure Resource Manageru (šablony ARM) a použití identity k ověřování. Informace o Azure PowerShellu, Azure CLI a rozhraní Azure REST API najdete v následující dokumentaci:

Nástroj Dokumentace
Azure PowerShell Vytvoření identity přiřazené uživatelem
Azure CLI Vytvoření identity přiřazené uživatelem
Azure REST API Vytvoření identity přiřazené uživatelem

Využití a standardní aplikace logiky

Na základě typu prostředku aplikace logiky můžete povolit identitu přiřazenou systémem, identitu přiřazenou uživatelem nebo obojí najednou:

Aplikace logiky Environment Podpora spravované identity
Využití – Multitenantní Azure Logic Apps

– Prostředí integrační služby (ISE)
– Aplikace logiky může povolit identitu přiřazenou systémem nebo identitu přiřazenou uživatelem.

– Spravovanou identitu můžete použít na úrovni prostředků aplikace logiky a na úrovni připojení.

– Pokud povolíte identitu přiřazenou uživatelem, aplikace logiky může mít současně pouze jednu identitu přiřazenou uživatelem.
Standard – Azure Logic Apps s jedním tenantem

– App Service Environment v3 (ASEv3)

– Logic Apps s podporou Azure Arc
– Můžete povolit identitu přiřazenou systémem, která je ve výchozím nastavení povolená, i identitu přiřazenou uživatelem současně.

– Spravovanou identitu můžete použít na úrovni prostředků aplikace logiky a na úrovni připojení.

– Pokud povolíte identitu přiřazenou uživatelem, prostředek aplikace logiky může mít současně více identit přiřazených uživatelem.

Informace o omezeních spravovaných identit v Azure Logic Apps najdete v tématu Omezení spravovaných identit pro aplikace logiky. Další informace o typech prostředků a prostředích aplikací logiky Consumption a Standard najdete v následující dokumentaci:

Kde můžete použít spravovanou identitu

V Azure Logic Apps můžou pro ověřování používat spravovanou identitu jenom konkrétní integrované a spravované operace konektoru, které podporují OAuth s ID Microsoft Entra. Následující tabulky poskytují pouze výběr vzorku. Úplný seznam najdete v tématu Typy ověřování pro triggery a akce, které podporují ověřování a služby Azure, které podporují ověřování Microsoft Entra s využitím spravovaných identit.

V případě pracovního postupu aplikace logiky Consumption uvádí následující tabulka konektory, které podporují ověřování spravovaných identit:

Typ konektoru Podporované konektory
Integrovaný – Azure API Management
– Aplikace Azure služby
– Azure Functions
– HTTP
- HTTP + Webhook

Poznámka: Operace HTTP můžou ověřovat připojení k účtům Azure Storage za bránami Azure Firewall pomocí identity přiřazené systémem. Nepodporují ale spravovanou identitu přiřazenou uživatelem pro ověřování stejných připojení.

Spravovaná – služba Aplikace Azure
– Azure Automation
– Azure Blob Storage
– Instance kontejneru Azure
– 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
– Fronty Azure
– Azure Resource Manager
– Azure Service Bus
– Azure Sentinel
– Azure Table Storage
– Virtuální počítač Azure
– HTTP s Microsoft Entra ID
– SQL Server

Požadavky

  • Účet a předplatné Azure. Pokud předplatné nemáte, zaregistrujte si bezplatný účet Azure. Spravovaná identita i cílový prostředek Azure, ke které potřebujete přístup, musí používat stejné předplatné Azure.

  • Cílový prostředek Azure, ke kterému chcete získat přístup. V tomto prostředku přidáte potřebnou roli pro spravovanou identitu pro přístup k tomuto prostředku jménem vaší aplikace logiky nebo připojení. Pokud chcete přidat roli ke spravované identitě, potřebujete oprávnění správce Microsoft Entra, která můžou přiřadit role identitám v odpovídajícím tenantovi Microsoft Entra.

  • Prostředek aplikace logiky a pracovní postup, ve kterém chcete použít trigger nebo akce, které podporují spravované identity.

Povolení identity přiřazené systémem na webu Azure Portal

  1. Na webu Azure Portal otevřete prostředek aplikace logiky.

  2. V nabídce aplikace logiky v části Nastavení vyberte Identita.

  3. Na stránce Identita v části Systém přiřazený vyberte Při>uložení. Když Vás Azure vyzve k potvrzení, vyberte Ano.

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

    Poznámka:

    Pokud se zobrazí chyba, že můžete mít jenom jednu spravovanou identitu, prostředek aplikace logiky je už přidružený k identitě přiřazené uživatelem. Než budete moct přidat identitu přiřazenou systémem, musíte nejprve odebrat identitu přiřazenou uživatelem z prostředku aplikace logiky.

    Prostředek aplikace logiky teď může používat identitu přiřazenou systémem. Tato identita je zaregistrovaná s ID Microsoft Entra a je reprezentována ID objektu.

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

    Vlastnost Hodnota Popis
    ID objektu (objektu zabezpečení) <identity-resource-ID> Globálně jedinečný identifikátor (GUID), který představuje identitu přiřazenou systémem pro vaši aplikaci logiky v tenantovi Microsoft Entra.
  4. Teď postupujte podle kroků, které této identitě poskytují přístup k prostředku dál v této příručce.

Povolení identity přiřazené systémem v šabloně ARM

K automatizaci vytváření a nasazování prostředků aplikace logiky můžete použít šablonu ARM. Pokud chcete v šabloně povolit identitu přiřazenou systémem pro prostředek aplikace logiky, přidejte identity objekt a podřízenou type vlastnost do definice prostředku aplikace logiky v šabloně, například:

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

Když Azure vytvoří definici prostředku aplikace logiky, identity objekt získá tyto další vlastnosti:

"identity": {
   "type": "SystemAssigned",
   "principalId": "<principal-ID>",
   "tenantId": "<Azure-AD-tenant-ID>"
}
Vlastnost (JSON) Hodnota Popis
principalId <principal-ID> Globálně jedinečný identifikátor (GUID) instančního objektu pro spravovanou identitu, která představuje vaši aplikaci logiky v tenantovi Microsoft Entra. Tento identifikátor GUID se někdy zobrazuje jako "ID objektu" nebo objectID.
tenantId <Azure-AD-tenant-ID> Globálně jedinečný identifikátor (GUID), který představuje tenanta Microsoft Entra, kde je aplikace logiky nyní členem. V tenantovi Microsoft Entra má instanční objekt stejný název jako instance aplikace logiky.

Vytvoření identity přiřazené uživatelem na webu Azure Portal

Než budete moct povolit identitu přiřazenou uživatelem pro prostředek aplikace logiky Consumption nebo prostředek aplikace logiky Standard, musíte tuto identitu vytvořit jako samostatný prostředek Azure.

  1. Do vyhledávacího pole webu Azure Portal zadejte spravované identity a vyberte Spravované identity.

    Screenshot shows Azure portal with selected option named Managed Identities.

  2. Na stránce Spravované identity vyberte Vytvořit.

    Screenshot shows Managed Identities page and selected option for Create.

  3. Zadejte informace o spravované identitě a vyberte Zkontrolovat a vytvořit, například:

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

    Vlastnost Požaduje se Hodnota Popis
    Předplatné Ano <Azure-subscription-name> Název předplatného Azure
    Skupina prostředků Ano <Azure-resource-group-name> Název skupiny prostředků Azure Vytvořte novou skupinu nebo vyberte existující skupinu. Tento příklad vytvoří novou skupinu s názvem fabrikam-managed-identityies-RG.
    Oblast Ano <Oblast Azure> Oblast Azure, kam se mají ukládat informace o vašem prostředku. V tomto příkladu se používá USA – západ.
    Název Ano <user-assigned-identity-name> Jméno, kterým chcete přiřadit identitu přiřazenou uživatelem. V tomto příkladu se používá Fabrikam-user-assigned-identity.

    Jakmile Azure ověří informace, Azure vytvoří vaši spravovanou identitu. Teď můžete do prostředku aplikace logiky přidat identitu přiřazenou uživatelem.

Přidání identity přiřazené uživatelem do aplikace logiky na webu Azure Portal

  1. Na webu Azure Portal otevřete prostředek aplikace logiky.

  2. V nabídce aplikace logiky v části Nastavení vyberte Identita.

  3. Na stránce Identita vyberte Přidat přiřazeného>uživatelem.

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

  4. V podokně Přidat spravovanou identitu přiřazenou uživatelem postupujte takto:

    1. V seznamu Předplatné vyberte své předplatné Azure.

    2. V seznamu se všemi spravovanými identitami ve vašem předplatném vyberte požadovanou identitu přiřazenou uživatelem. Pokud chcete seznam filtrovat, zadejte do vyhledávacího pole spravované identity přiřazené uživatelem název identity nebo skupiny prostředků.

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

    3. Až budete hotovi, vyberte Přidat.

      Poznámka:

      Pokud se zobrazí chyba, že můžete mít jenom jednu spravovanou identitu, je vaše aplikace logiky už přidružená k identitě přiřazené systémem. Než budete moct přidat identitu přiřazenou uživatelem, musíte nejprve zakázat identitu přiřazenou systémem.

    Vaše aplikace logiky je teď přidružená ke spravované identitě přiřazené uživatelem.

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

  5. Teď postupujte podle kroků, které této identitě poskytují přístup k prostředku dál v této příručce.

Vytvoření identity přiřazené uživatelem v šabloně ARM

K automatizaci vytváření a nasazování prostředků aplikace logiky můžete použít šablonu ARM. Tyto šablony podporují identity přiřazené uživatelem pro ověřování.

V části šablony vyžaduje definice prostředku aplikace logiky resources tyto položky:

  • Objekt identity s vlastností nastavenou type na UserAssigned

  • Podřízený userAssignedIdentities objekt, který určuje prostředek přiřazený uživatelem a název

Tento příklad ukazuje prostředek aplikace logiky Consumption a definici pracovního postupu pro požadavek HTTP PUT s neparametrizovaným identity objektem. Odpověď na požadavek PUT a následná operace GET obsahuje také tento identity objekt:

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

Pokud vaše šablona obsahuje také definici prostředku spravované identity, můžete objekt parametrizovat identity . Následující příklad ukazuje, jak podřízený userAssignedIdentities objekt odkazuje na proměnnou userAssignedIdentityName , kterou definujete v oddílu variables šablony. Tato proměnná odkazuje na ID prostředku pro vaši identitu přiřazenou uživatelem.

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

Udělení přístupu k prostředkům identitě

Než budete moct použít spravovanou identitu aplikace logiky k ověřování, musíte pro identitu nastavit přístup k prostředku Azure, ve kterém chcete identitu použít. Způsob nastavení přístupu se liší podle prostředku, ke kterému má identita přístup.

Poznámka:

Pokud má spravovaná identita přístup k prostředku Azure ve stejném předplatném, může identita přistupovat pouze k danému prostředku. V některých triggerech a akcích, které podporují spravované identity, ale musíte nejprve vybrat skupinu prostředků Azure, která obsahuje cílový prostředek. Pokud identita nemá přístup na úrovni skupiny prostředků, nejsou uvedené žádné prostředky v této skupině, i když mají přístup k cílovému prostředku.

Pokud chcete toto chování zpracovat, musíte také udělit identitě přístup ke skupině prostředků, nejen k prostředku. Podobně platí, že pokud před výběrem cílového prostředku musíte vybrat své předplatné, musíte identitě udělit přístup k předplatnému.

V některých případech může být potřeba, aby identita získala přístup k přidruženému prostředku. Předpokládejme například, že máte spravovanou identitu pro aplikaci logiky, která potřebuje přístup k aktualizaci nastavení aplikace pro stejnou aplikaci logiky z pracovního postupu. Tuto identitu musíte udělit přístup k přidružené aplikaci logiky.

Pokud například chcete získat přístup k účtu azure Blob Storage se spravovanou identitou, musíte nastavit přístup pomocí řízení přístupu na základě role v Azure (Azure RBAC) a přiřadit příslušnou roli pro tuto identitu k účtu úložiště. Kroky v této části popisují, jak tuto úlohu dokončit pomocí webu Azure Portal a šablony Azure Resource Manageru (šablona ARM). Informace o Azure PowerShellu, Azure CLI a rozhraní Azure REST API najdete v následující dokumentaci:

Nástroj Dokumentace
Azure PowerShell Přidání přiřazení role
Azure CLI Přidání přiřazení role
Azure REST API Přidání přiřazení role

Pokud ale chcete získat přístup k trezoru klíčů Azure se spravovanou identitou, musíte vytvořit zásadu přístupu pro tuto identitu ve vašem trezoru klíčů a přiřadit příslušná oprávnění pro tuto identitu v daném trezoru klíčů. Následující kroky v této části popisují, jak tuto úlohu dokončit pomocí webu Azure Portal. Šablony Resource Manageru, PowerShell a Azure CLI najdete v následující dokumentaci:

Nástroj Dokumentace
Šablona ARM (Azure Resource Manager) Definice prostředku zásad přístupu ke službě Key Vault
Azure PowerShell Přiřazení zásad přístupu ke službě Key Vault
Azure CLI Přiřazení zásad přístupu ke službě Key Vault

Přiřazení přístupu na základě role spravované identity na webu Azure Portal

Pokud chcete použít spravovanou identitu pro ověřování, některé prostředky Azure, jako jsou účty úložiště Azure, vyžadují, abyste tuto identitu přiřadili roli, která má příslušná oprávnění k cílovému prostředku. Jiné prostředky Azure, jako jsou trezory klíčů Azure, vyžadují, abyste vytvořili zásadu přístupu, která má příslušná oprávnění k cílovému prostředku pro danou identitu.

  1. Na webu Azure Portal otevřete prostředek, ve kterém chcete identitu použít.

  2. V nabídce prostředků vyberte Řízení přístupu (IAM)>Přidat>přiřazení role.

    Poznámka:

    Pokud je možnost Přidat přiřazení role zakázaná, nemáte oprávnění k přiřazování rolí. Další informace najdete v tématu Předdefinované role Microsoft Entra.

  3. Teď přiřaďte spravovanou identitu potřebnou roli. Na kartě Role přiřaďte roli, která vaší identitě poskytne požadovaný přístup k aktuálnímu prostředku.

    V tomto příkladu přiřaďte roli s názvem Přispěvatel dat objektů blob služby Storage, která zahrnuje přístup k zápisu pro objekty blob v kontejneru Azure Storage. Další informace o konkrétních rolích kontejneru úložiště najdete v tématu Role, které mají přístup k objektům blob v kontejneru Azure Storage.

  4. Dále zvolte spravovanou identitu, ve které chcete roli přiřadit. V části Přiřadit přístup vyberte Přidat členy spravované identity>.

  5. Na základě typu spravované identity vyberte nebo zadejte následující hodnoty:

    Typ Instance služby Azure Předplatné Člen
    Přiřazené systémem Aplikace logiky <Azure-subscription-name> <název_vaší_aplikace_logiky>
    Přiřazené uživatelem Nelze použít <Azure-subscription-name> <your-user-assigned-identity-name>

    Další informace o přiřazování rolí najdete v tématu Přiřazení rolí pomocí webu Azure Portal.

  6. Po dokončení můžete pomocí identity ověřit přístup pro triggery a akce, které podporují spravované identity.

Další obecné informace o této úloze najdete v tématu Přiřazení přístupu spravované identity k jinému prostředku pomocí Azure RBAC.

Vytvoření zásad přístupu na webu Azure Portal

Pokud chcete použít spravovanou identitu pro ověřování, některé prostředky Azure, jako jsou trezory klíčů Azure, vyžadují, abyste vytvořili zásadu přístupu, která má příslušná oprávnění k cílovému prostředku pro danou identitu. Jiné prostředky Azure, jako jsou účty úložiště Azure, vyžadují, abyste tuto identitu přiřadili k roli, která má příslušná oprávnění k cílovému prostředku.

  1. Na webu Azure Portal otevřete cílový prostředek, ve kterém chcete identitu použít. V tomto příkladu se jako cílový prostředek používá trezor klíčů Azure.

  2. V nabídce prostředku vyberte Vytvořit zásady>přístupu, které otevře podokno Vytvořit zásadu přístupu.

    Poznámka:

    Pokud prostředek nemá možnost Zásady přístupu, zkuste místo toho přiřadit přiřazení role.

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

  3. Na kartě Oprávnění vyberte požadovaná oprávnění, která identita potřebuje pro přístup k cílovému prostředku.

    Pokud například chcete použít identitu s operací výpisu tajných kódů spravovaného konektoru služby Azure Key Vault, potřebuje identita oprávnění Seznam. Ve sloupci Oprávnění tajných kódů tedy vyberte Seznam.

    Screenshot shows Permissions tab with selected List permissions.

  4. Až budete připraveni, vyberte Další. Na kartě Objekt zabezpečení vyhledejte a vyberte spravovanou identitu, což je identita přiřazená uživatelem v tomto příkladu.

  5. Přeskočte volitelný krok Aplikace , vyberte Další a dokončete vytváření zásad přístupu.

Další část popisuje použití spravované identity k ověření přístupu pro trigger nebo akci. Příklad pokračuje kroky z předchozí části, kde nastavíte přístup pro spravovanou identitu pomocí RBAC a jako příklad nepoužíváte Azure Key Vault. Obecné kroky pro použití spravované identity pro ověřování jsou ale stejné.

Ověřování přístupu pomocí spravované identity

Po povolení spravované identity pro prostředek aplikace logiky a udělení přístupu k cílovému prostředku nebo entitě můžete tuto identitu použít v triggerech a akcích, které podporují spravované identity.

Důležité

Pokud máte funkci Azure, ve které chcete použít identitu přiřazenou systémem, nejprve povolte ověřování pro Azure Functions.

Tyto kroky ukazují, jak používat spravovanou identitu s triggerem nebo akcí prostřednictvím webu Azure Portal. Pokud chcete určit spravovanou identitu v podkladové definici JSON triggeru nebo akce, přečtěte si téma Ověřování spravované identity.

  1. Na webu Azure Portal otevřete prostředek aplikace logiky.

  2. Pokud jste to ještě neudělali, přidejte trigger nebo akci, která podporuje spravované identity.

    Poznámka:

    Ne všechny operace konektoru podporují přidání typu ověřování. Další informace najdete v tématu Typy ověřování pro triggery a akce, které podporují ověřování.

  3. Na přidaném triggeru nebo akci postupujte takto:

    • Integrované operace konektoru, které podporují ověřování spravovaných identit

      1. V seznamu Přidat nový parametr přidejte vlastnost Ověřování, pokud se vlastnost ještě nezobrazuje.

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

      2. V seznamu Typ ověřování vyberte Spravovaná identita.

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

      Další informace najdete v tématu Příklad: Ověření integrované aktivační události nebo akce pomocí spravované identity.

    • Operace spravovaného konektoru, které podporují ověřování spravovaných identit

      1. Na stránce výběru tenanta vyberte Připojení se spravovanou identitou, například:

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

      2. Na další stránce zadejte název Připojení ionu, který se má pro připojení použít.

      3. Jako typ ověřování zvolte jednu z následujících možností na základě spravovaného konektoru:

        • Jedno ověřování: Tyto konektory podporují pouze jeden typ ověřování. V seznamu spravované identity vyberte aktuálně povolenou spravovanou identitu, pokud ještě není vybraná, a pak vyberte Vytvořit, například:

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

        • Vícenásobné ověřování: Tyto konektory zobrazují více typů ověřování, ale přesto můžete vybrat pouze jeden typ. V seznamu Typ ověřování vyberte Možnost Vytvořit spravovanou identitu>Logic Apps, například:

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

        Další informace najdete v tématu Příklad: Ověření triggeru spravovaného konektoru nebo akce se spravovanou identitou.

Příklad: Ověření integrované aktivační události nebo akce pomocí spravované identity

Integrovaná aktivační událost HTTP nebo akce může používat identitu přiřazenou systémem, kterou povolíte u prostředku aplikace logiky. Obecně platí, že trigger nebo akce HTTP používá následující vlastnosti k určení prostředku nebo entity, ke které chcete získat přístup:

Vlastnost Požadováno Popis
Metoda Ano Metoda HTTP, kterou používá operace, kterou chcete spustit
Identifikátor URI Ano Adresa URL koncového bodu pro přístup k cílovému prostředku nebo entitě Azure. Syntaxe identifikátoru URI obvykle obsahuje ID prostředku pro prostředek nebo službu Azure.
Záhlaví No Všechny hodnoty záhlaví, které potřebujete nebo chcete zahrnout do odchozího požadavku, například typ obsahu
Dotazy No Všechny parametry dotazu, které potřebujete nebo chcete zahrnout do požadavku. Například parametry dotazu pro konkrétní operaci nebo verzi rozhraní API operace, kterou chcete spustit.
Authentication Ano Typ ověřování, který se má použít k ověřování přístupu k cílovému prostředku nebo entitě

Jako konkrétní příklad předpokládejme, že chcete spustit operaci Snapshot Blob na objektu blob v účtu služby Azure Storage, kde jste dříve nastavili přístup pro vaši identitu. Konektor Azure Blob Storage ale v současné době tuto operaci nenabízí. Místo toho můžete tuto operaci spustit pomocí akce HTTP nebo jiné operace rozhraní REST API služby Blob Service.

Důležité

Pokud chcete získat přístup k účtům úložiště Azure za branami firewall pomocí konektoru Azure Blob a spravovaných identit, ujistěte se, že jste také nastavili účet úložiště s výjimkou, která umožňuje přístup důvěryhodnými služby Microsoft.

Pokud chcete spustit operaci Objekt blob snímku, akce HTTP určuje tyto vlastnosti:

Vlastnost Požaduje se Příklad hodnoty Popis
Metoda Ano PUT Metoda HTTP, kterou používá operace Snapshot Blob
Identifikátor URI Ano https://<storage-account-name>/<folder-name>/{name} ID prostředku pro soubor Azure Blob Storage v globálním (veřejném) prostředí Azure, které používá tuto syntaxi
Záhlaví Pro Azure Storage x-ms-blob-type = BlockBlob

x-ms-version = 2019-02-02

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

Hodnoty , x-ms-versiona x-ms-date hlavičky x-ms-blob-typejsou vyžadovány pro operace Azure Storage.

Důležité: V odchozích triggerech HTTP a požadavcích na akce pro Azure Storage vyžaduje hlavička x-ms-version vlastnost a verzi rozhraní API pro operaci, kterou chcete spustit. Musí x-ms-date to být aktuální datum. Jinak pracovní postup selže s chybou 403 FORBIDDEN . Pokud chcete získat aktuální datum v požadovaném formátu, můžete použít výraz v ukázkové hodnotě.

Další informace najdete v následující dokumentaci:

- Hlavičky požadavku – Objekt blob snímku
- Správa verzí pro služby Azure Storage

Dotazy Pouze pro operaci Vytvoření snímku objektu blob comp = snapshot Název a hodnota parametru dotazu pro operaci.

Následující příklad ukazuje ukázkovou akci HTTP se všemi dříve popsanými hodnotami vlastností, které se mají použít pro operaci Snapshot Blob:

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

  1. Po přidání akce HTTP přidejte vlastnost Ověřování do akce HTTP. V seznamu Přidat nový parametr vyberte Ověřování.

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

    Poznámka:

    Ne všechny triggery a akce podporují přidání typu ověřování. Další informace najdete v tématu Typy ověřování pro triggery a akce, které podporují ověřování.

  2. V seznamu Typ ověřování vyberte Spravovaná identita.

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

  3. V seznamu spravovaných identit vyberte z dostupných možností na základě vašeho scénáře.

    • Pokud nastavíte identitu přiřazenou systémem, vyberte spravovanou identitu přiřazenou systémem, pokud ještě není vybraná.

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

    • Pokud nastavíte identitu přiřazenou uživatelem, vyberte tuto identitu, pokud ještě není vybraná.

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

    Tento příklad pokračuje se spravovanou identitou přiřazenou systémem.

  4. U některých triggerů a akcí se také zobrazí vlastnost Cílová skupina, abyste nastavili ID cílového prostředku. Nastavte vlastnost Cílová skupina na ID prostředku cílového prostředku nebo služby. V opačném případě vlastnost Cílová skupina ve výchozím nastavení používá https://management.azure.com/ ID prostředku, což je ID prostředku pro Azure Resource Manager.

    Pokud například chcete ověřit přístup k prostředku služby Key Vault v globálním cloudu Azure, musíte vlastnost Audience nastavit na přesně následující ID prostředku: https://vault.azure.net Toto konkrétní ID prostředku nemá koncové lomítka. Ve skutečnosti, včetně koncové lomítko může způsobit 400 Bad Request chybu nebo 401 Unauthorized chybu.

    Důležité

    Ujistěte se, že ID cílového prostředku přesně odpovídá hodnotě, kterou očekává MICROSOFT Entra ID, včetně všech požadovaných koncových lomítek. NAPŘÍKLAD ID prostředku pro všechny účty Azure Blob Storage vyžaduje koncové lomítko. ID prostředku pro konkrétní účet úložiště ale nevyžaduje koncové lomítko. Zkontrolujte ID prostředků pro služby Azure, které podporují ID Microsoft Entra.

    Tento příklad nastaví vlastnost Audience tak https://storage.azure.com/ , aby přístupové tokeny použité k ověřování byly platné pro všechny účty úložiště. Můžete však také zadat adresu URL kořenové služby pro https://<your-storage-account>.blob.core.windows.netkonkrétní účet úložiště.

    Screenshot shows Consumption workflow, HTTP action, and Audience

    Další informace o autorizaci přístupu pomocí MICROSOFT Entra ID pro Azure Storage najdete v následující dokumentaci:

  5. Pokračujte v vytváření pracovního postupu požadovaným způsobem.

Příklad: Ověření triggeru spravovaného konektoru nebo akce se spravovanou identitou

Spravovaný konektor Azure Resource Manageru má akci s názvem Číst prostředek, který může používat spravovanou identitu, kterou povolíte pro prostředek aplikace logiky. Tento příklad ukazuje, jak používat spravovanou identitu přiřazenou systémem.

  1. Po přidání akce do pracovního postupu a výběru tenanta Microsoft Entra vyberte Připojení se spravovanou identitou.

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

  2. Na stránce s názvem připojení zadejte název připojení a vyberte spravovanou identitu, kterou chcete použít.

    Akce Azure Resource Manageru je akce s jedním ověřováním, takže v poli s informacemi o připojení se zobrazí seznam spravovaných identit , který automaticky vybere spravovanou identitu, která je aktuálně povolená u prostředku aplikace logiky. Pokud jste povolili spravovanou identitu přiřazenou systémem, seznam spravovaných identit vybere spravovanou identitu přiřazenou systémem. Pokud jste místo toho povolili spravovanou identitu přiřazenou uživatelem, seznam tuto identitu vybere.

    Pokud používáte trigger nebo akci s více ověřováními, jako je Azure Blob Storage, zobrazí se v poli s informacemi o připojení seznam typů ověřování, který obsahuje možnost Spravovaná identita Logic Apps mimo jiné typy ověřování.

    V tomto příkladu je jediná dostupná spravovaná identita přiřazená systémem.

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

    Poznámka:

    Pokud spravovaná identita není povolená při pokusu o vytvoření připojení, změně připojení nebo byla odebrána, pokud spravované připojení s povolenou identitou stále existuje, zobrazí se chyba, že musíte identitu povolit a udělit přístup k cílovému prostředku.

  3. Až budete připraveni, vyberte Vytvořit.

  4. Jakmile návrhář úspěšně vytvoří připojení, může návrhář načíst všechny dynamické hodnoty, obsah nebo schéma pomocí ověřování spravované identity.

  5. Pokračujte v vytváření pracovního postupu požadovaným způsobem.

Definice prostředku aplikace logiky a připojení, která používají spravovanou identitu

Připojení, které povoluje a používá spravovanou identitu, je speciální typ připojení, který funguje jenom se spravovanou identitou. Připojení za běhu používá spravovanou identitu, která je povolená u prostředku aplikace logiky. Za běhu služba Azure Logic Apps zkontroluje, jestli jsou v pracovním postupu aplikace logiky nastavené nějaké triggery a akce spravovaného konektoru a jestli jsou všechna požadovaná oprávnění nastavená tak, aby používala spravovanou identitu pro přístup k cílovým prostředkům určeným triggerem a akcemi. V případě úspěchu služba Azure Logic Apps načte token Microsoft Entra přidružený ke spravované identitě a použije tuto identitu k ověření přístupu k cílovému prostředku a provedení nakonfigurované operace v triggeru a akcích.

V prostředku aplikace logiky Consumption se konfigurace připojení uloží do objektu definice parameters prostředku aplikace logiky, který obsahuje objekt, který obsahuje $connections ukazatele na ID prostředku připojení spolu s ID prostředku identity, pokud je povolená identita přiřazená uživatelem.

Tento příklad ukazuje, jak konfigurace vypadá, když aplikace logiky povolí spravovanou identitu přiřazenou systémem:

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

Tento příklad ukazuje, jak konfigurace vypadá, když aplikace logiky povolí spravovanou identitu přiřazenou uživatelem:

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

Šablona ARM pro připojení rozhraní API a spravované identity

Pokud k automatizaci nasazení použijete šablonu ARM a váš pracovní postup obsahuje připojení rozhraní API, které je vytvořené spravovaným konektorem, jako je Office 365 Outlook, Azure Key Vault atd., který používá spravovanou identitu, musíte provést další krok.

V šabloně ARM se základní definice prostředku konektoru liší podle toho, jestli máte aplikaci logiky Consumption nebo Standard a jestli konektor zobrazuje možnosti s jedním ověřováním nebo více ověřováním.

Následující příklady platí pro prostředky aplikace logiky Consumption a ukazují, jak se definice prostředku základního konektoru liší mezi konektorem s jedním ověřováním, jako je Azure Automation, a konektorem pro více ověřování, jako je Azure Blob Storage.

Jedno ověřování

Tento příklad ukazuje definici základního prostředku připojení pro akci Azure Automation v aplikaci logiky Consumption, která používá spravovanou identitu, ve které definice obsahuje atributy:

  • Vlastnost je nastavená kind na V1 aplikaci logiky Consumption.
  • Vlastnost parameterValueType je nastavena na hodnotu Alternative.
{
    "type": "Microsoft.Web/connections",
    "apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
    "name": "[variables('connections_azureautomation_name')]",
    "location": "[parameters('location')]",
    "kind": "V1",
    "properties": {
        "alternativeParameterValues": {},
        "api": {
            "id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), 'azureautomation')]"
        },
        "authenticatedUser": {},
        "connectionState": "Enabled",
        "customParameterValues": {},
        "displayName": "[variables('connections_azureautomation_name')]",
        "parameterValueSet": {},
        "parameterValueType": "Alternative"
    }
},

Více ověřování

Tento příklad ukazuje definici základního prostředku připojení pro akci služby Azure Blob Storage v aplikaci logiky Consumption, která používá spravovanou identitu, ve které definice obsahuje následující atributy:

  • Vlastnost je nastavená kind na V1 aplikaci logiky Consumption.
  • Objekt parameterValueSet obsahuje vlastnost nastavenou name na managedIdentityAuth prázdnou vlastnost a values vlastnost, která je nastavená na prázdný objekt.
{
    "type": "Microsoft.Web/connections",
    "apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
    "name": "[variables('connections_azureblob_name')]",
    "location": "[parameters('location')]",
    "kind": "V1",
    "properties": {
        "alternativeParameterValues":{},
        "api": {
            "id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), 'azureblob')]"
        },
        "authenticatedUser": {},
        "connectionState": "Enabled",
        "customParameterValues": {},
        "displayName": "[variables('connections_azureblob_name')]",
        "parameterValueSet":{
            "name": "managedIdentityAuth",
            "values": {}
        },
        "parameterValueType": "Alternative"
    }
}

Nastavení pokročilé kontroly nad ověřováním připojení rozhraní API

Pokud váš pracovní postup používá připojení rozhraní API vytvořené spravovaným konektorem , jako je Office 365 Outlook, Azure Key Vault atd., služba Azure Logic Apps komunikuje s cílovým prostředkem, jako je váš e-mailový účet, trezor klíčů atd., pomocí dvou připojení:

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

  • Připojení ion #1 je nastaveno s ověřováním pro interní úložiště tokenů.

  • Připojení ion #2 je nastaveno s ověřováním pro cílový prostředek.

V prostředku aplikace logiky Consumption se připojení č. 1 abstrahuje bez jakýchkoli možností konfigurace. Ve standardním typu prostředku aplikace logiky máte větší kontrolu nad aplikací logiky. Ve výchozím nastavení je připojení č. 1 automaticky nastaveno tak, aby používalo identitu přiřazenou systémem.

Pokud ale váš scénář vyžaduje přesnou kontrolu nad ověřováním připojení rozhraní API, můžete volitelně změnit ověřování pro připojení č. 1 z výchozí identity přiřazené systémem na libovolnou identitu přiřazenou uživatelem, kterou jste přidali do aplikace logiky. Toto ověřování platí pro každé připojení rozhraní API, takže můžete kombinovat identity přiřazené systémem a uživatelem napříč různými připojeními ke stejnému cílovému prostředku.

V souboru connections.json standardní aplikace logiky, který ukládá informace o každém připojení rozhraní API, má každá definice připojení dvě authentication části, například:

"keyvault": {
   "api": {
      "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{region}/managedApis/keyvault"
   },
   "authentication": {
      "type": "ManagedServiceIdentity",
   },
   "connection": {
      "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/connections/<connection-name>"
   },
   "connectionProperties": {
      "authentication": {
         "audience": "https://vault.azure.net",
         "type": "ManagedServiceIdentity"
      }
   },
   "connectionRuntimeUrl": "<connection-runtime-URL>"
}
  • První authentication oddíl se mapuje na připojení č. 1. Tato část popisuje ověřování používané pro komunikaci s interním úložištěm tokenů. V minulosti byla tato část vždy nastavená na ManagedServiceIdentity aplikaci, která se nasazuje do Azure, a neměla žádné konfigurovatelné možnosti.

  • Druhý authentication oddíl se mapuje na připojení č. 2. Tato část popisuje ověřování používané pro komunikaci s cílovým prostředkem se může lišit v závislosti na typu ověřování, který pro toto připojení vyberete.

Proč změnit ověřování úložiště tokenů?

V některých scénářích můžete chtít sdílet a používat stejné připojení rozhraní API napříč několika aplikacemi logiky, ale nepřidávejte identitu přiřazenou systémem pro každou aplikaci logiky do zásad přístupu cílového prostředku.

V jiných scénářích možná nebudete chtít mít identitu přiřazenou systémem nastavenou v aplikaci logiky úplně, takže můžete změnit ověřování na identitu přiřazenou uživatelem a úplně zakázat identitu přiřazenou systémem.

Změna ověřování úložiště tokenů

  1. Na webu Azure Portal otevřete prostředek aplikace logiky Standard.

  2. V nabídce prostředků v části Pracovní postupy vyberte Připojení ions.

  3. V podokně Připojení iony vyberte Zobrazení JSON.

    Screenshot showing the Azure portal, Standard logic app resource,

  4. V editoru managedApiConnections JSON vyhledejte část, která obsahuje připojení rozhraní API napříč všemi pracovními postupy v prostředku aplikace logiky.

  5. Vyhledejte připojení, ke kterému chcete přidat spravovanou identitu přiřazenou uživatelem. Předpokládejme například, že váš pracovní postup má připojení ke službě Azure Key Vault:

    "keyvault": {
       "api": {
          "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{region}/managedApis/keyvault"
       },
       "authentication": {
          "type": "ManagedServiceIdentity"
       },
       "connection": {
          "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/connections/<connection-name>"
       },
       "connectionProperties": {
          "authentication": {
             "audience": "https://vault.azure.net",
             "type": "ManagedServiceIdentity"
          }
       },
       "connectionRuntimeUrl": "<connection-runtime-URL>"
    }
    
  6. V definici připojení proveďte následující kroky:

    1. Najděte první authentication oddíl. Pokud v této authentication části ještě žádná identity vlastnost neexistuje, aplikace logiky implicitně používá identitu přiřazenou systémem.

    2. identity Přidejte vlastnost pomocí příkladu v tomto kroku.

    3. Nastavte hodnotu vlastnosti na ID prostředku pro identitu přiřazenou uživatelem.

    "keyvault": {
       "api": {
          "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{region}/managedApis/keyvault"
       },
       "authentication": {
          "type": "ManagedServiceIdentity",
          // Add "identity" property here
          "identity": "/subscriptions/{Azure-subscription-ID}/resourcegroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity-resource-ID}" 
       },
       "connection": {
          "id": "/subscriptions/{Azure-subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Web/connections/<connection-name>"
       },
       "connectionProperties": {
          "authentication": {
             "audience": "https://vault.azure.net",
             "type": "ManagedServiceIdentity"
          }
       },
       "connectionRuntimeUrl": "<connection-runtime-URL>"
    }
    
  7. Na webu Azure Portal přejděte k cílovému prostředku a na základě potřeb cílového prostředku udělte přístup ke spravované identitě přiřazené uživatelem.

    Například pro Azure Key Vault přidejte identitu do zásad přístupu trezoru klíčů. Pro Azure Blob Storage přiřaďte k účtu úložiště potřebnou roli pro identitu.

Zákaz spravované identity

Pokud chcete přestat používat spravovanou identitu pro ověřování, nejprve odeberte přístup identity k cílovému prostředku. Dále v prostředku aplikace logiky vypněte identitu přiřazenou systémem nebo odeberte identitu přiřazenou uživatelem.

Když ve svém prostředku aplikace logiky zakážete spravovanou identitu, odeberete pro tuto identitu možnost požádat o přístup k prostředkům Azure, ke kterým měla identita přístup.

Poznámka:

Pokud zakážete identitu přiřazenou systémem, nebudou za běhu fungovat všechna připojení používaná pracovními postupy aplikace logiky, a to ani v případě, že identitu okamžitě povolíte znovu. K tomuto chování dochází, protože zakázání identity odstraní ID objektu. Pokaždé, když identitu povolíte, Azure vygeneruje identitu s jiným a jedinečným ID objektu. Chcete-li tento problém vyřešit, musíte znovu vytvořit připojení, aby používaly aktuální ID objektu pro aktuální identitu přiřazenou systémem.

Snažte se vyhnout zakázání identity přiřazené systémem co nejvíce. Pokud chcete odebrat přístup identity k prostředkům Azure, odeberte přiřazení role identity z cílového prostředku. Pokud odstraníte prostředek aplikace logiky, Azure automaticky odebere spravovanou identitu z ID Microsoft Entra.

Postup v této části popisuje použití webu Azure Portal a šablony Azure Resource Manageru (šablona ARM). Informace o Azure PowerShellu, Azure CLI a rozhraní Azure REST API najdete v následující dokumentaci:

Nástroj Dokumentace
Azure PowerShell 1. Odeberte přiřazení role.
2. Odstraňte identitu přiřazenou uživatelem.
Azure CLI 1. Odeberte přiřazení role.
2. Odstraňte identitu přiřazenou uživatelem.
Azure REST API 1. Odeberte přiřazení role.
2. Odstraňte identitu přiřazenou uživatelem.

Zakázání spravované identity na webu Azure Portal

Pokud chcete odebrat přístup ke spravované identitě, odeberte přiřazení role identity z cílového prostředku a potom spravovanou identitu zakažte.

Odebrání přiřazení role

Následující postup odebere přístup k cílovému prostředku ze spravované identity:

  1. Na webu Azure Portal přejděte do cílového prostředku Azure, ve kterém chcete odebrat přístup ke spravované identitě.

  2. V nabídce cílového prostředku vyberte Řízení přístupu (IAM). Pod panelem nástrojů vyberte Přiřazení rolí.

  3. V seznamu rolí vyberte spravované identity, které chcete odebrat. Na panelu nástrojů vyberte Odebrat.

    Tip

    Pokud je možnost Odebrat zakázaná, pravděpodobně nemáte oprávnění. Další informace o oprávněních, která umožňují spravovat role pro prostředky, naleznete v tématu Správa istrator oprávnění role v Microsoft Entra ID.

Zakázání spravované identity u prostředku aplikace logiky

  1. Na webu Azure Portal otevřete prostředek aplikace logiky.

  2. V navigační nabídce aplikace logiky v části Nastavení vyberte Identita a pak postupujte podle kroků pro vaši identitu:

    • Vyberte Systém přiřazený>při>uložení. Když Vás Azure vyzve k potvrzení, vyberte Ano.

    • Vyberte Přiřazený uživatel a spravovanou identitu a pak vyberte Odebrat. Když Vás Azure vyzve k potvrzení, vyberte Ano.

Zakázání spravované identity v šabloně ARM

Pokud jste vytvořili spravovanou identitu aplikace logiky pomocí šablony ARM, nastavte podřízenou vlastnost objektu identitytype na None.

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

Další kroky