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 se chcete vyhnout poskytování, ukládání a správě přihlašovacích údajů, tajných kódů nebo tokenů Microsoft Entra, můžete použít spravovanou identitu k ověření přístupu nebo připojení z pracovního postupu aplikace logiky k prostředkům chráněným Microsoft Entra. V Azure Logic Apps podporují některé operace konektoru použití spravované identity, když musíte 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, abyste tyto citlivé informace nemuseli spravovat. Další informace najdete v tématu Co jsou spravované identity pro prostředky Azure?
Azure Logic Apps podporuje následující typy spravovaných identit:
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 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 Tento průvodce ukazuje, jak vytvořit tuto identitu pomocí webu Azure Portal nebo š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
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. U tohoto prostředku musíte přidat 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.
Rozdíly mezi spravovanou identitou mezi aplikacemi logiky Consumption a Standard
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 | Prostředí | Podpora spravované identity |
---|---|---|
Využití | – Multitenantní Azure Logic Apps | – Můžete povolit identitu přiřazenou systémem nebo identitu přiřazenou uživatelem, ale ne obě v aplikaci logiky. – Spravovanou identitu můžete použít na úrovni prostředku aplikace logiky a na úrovni připojení. – Pokud vytvoříte a povolíte identitu přiřazenou uživatelem, aplikace logiky může mít najednou jenom 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ě. Do aplikace logiky můžete také přidat více identit přiřazených uživatelem. Aplikace logiky ale může současně používat jenom jednu spravovanou identitu. – Spravovanou identitu můžete použít na úrovni prostředku aplikace logiky a na úrovni připojení. |
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. Podrobnější seznam najdete v následující dokumentaci:
Typy ověřování pro triggery a akce, které podporují ověřování
Služby Azure, které podporují spravované identity pro prostředky Azure
V případě pracovního postupu aplikace logiky Consumption uvádí následující tabulka příklady konektorů, 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. Operace HTTP ale nepodporují 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 Digital Twins – Azure Event Grid – Azure Event Hubs – Azure IoT Central V2 – Azure Key Vault –Protokoly služby Azure Monitor – Fronty Azure – Azure Resource Manager – Azure Service Bus – Azure Sentinel – Azure Table Storage – Virtuální počítač Azure – SQL Server |
Povolení identity přiřazené systémem na webu Azure Portal
U prostředku aplikace logiky Consumption musíte identitu přiřazenou systémem povolit ručně.
Na webu Azure Portal otevřete prostředek aplikace logiky Consumption.
V nabídce aplikace logiky v části Nastavení vyberte Identita.
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.
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.
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. Teď postupujte podle kroků, které poskytují identitě přiřazené systémem 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 objekt identity a podřízenou vlastnost typu 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, objekt identity získá následující další vlastnosti:
"identity": {
"type": "SystemAssigned",
"principalId": "<principal-ID>",
"tenantId": "<Entra-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 ID objektu. |
tenantId | <Microsoft-Entra-ID-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ž povolíte identitu přiřazenou uživatelem u prostředku aplikace logiky Consumption nebo prostředku aplikace logiky Standard, musíte tuto identitu vytvořit jako samostatný prostředek Azure.
Do vyhledávacího pole webu Azure Portal zadejte spravované identity. V seznamu výsledků vyberte Spravované identity.
Na panelu nástrojů stránky Spravované identity vyberte Vytvořit.
Zadejte informace o spravované identitě a vyberte Zkontrolovat a vytvořit, například:
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
Na webu Azure Portal otevřete prostředek aplikace logiky Consumption.
V nabídce aplikace logiky v části Nastavení vyberte Identita.
Na stránce Identita vyberte Přiřazený uživatel a pak vyberte Přidat.
V podokně Přidat spravovanou identitu přiřazenou uživatelem postupujte takto:
V seznamu Vybrat předplatné vyberte své předplatné Azure.
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ů.
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á k identitě přiřazené uživatelem.
Teď postupujte podle kroků, které poskytují identitě 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 oddílu prostředků šablony vyžaduje definice prostředku vaší aplikace logiky následující položky:
Objekt identity s vlastností typu nastavenou na UserAssigned
Podřízený objekt userAssignedIdentities , 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 objektem identity . Odpověď na požadavek PUT a následná operace GET obsahuje také tento objekt identity :
{
"$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 parametrizovat objekt identity . Následující příklad ukazuje, jak podřízený objekt userAssignedIdentities odkazuje na proměnnou userAssignedIdentityName, kterou definujete v oddílu proměnných š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ě
Abyste mohli použít spravovanou identitu aplikace logiky k ověřování, musíte nastavit přístup pro identitu v cílovém prostředku Azure, ve kterém chcete identitu použít. Způsob nastavení přístupu se liší v závislosti na cílovém prostředku.
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 služby Azure Blob Storage nebo trezoru klíčů Azure se spravovanou identitou, musíte nastavit ří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ě nebo trezoru klíčů.
Kroky v této části popisují, jak přiřadit přístup na základě role 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řidat přiřazení role |
Azure CLI | Přidat přiřazení role |
Azure REST API | Přidat přiřazení role |
Pro trezor klíčů Azure máte také možnost vytvořit zásadu přístupu pro spravovanou 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 ke spravované identitě pomocí 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, podporují více možností, takže můžete zvolit přístup na základě role nebo zásadu přístupu, která má příslušná oprávnění k cílovému prostředku pro danou identitu.
Na webu Azure Portal otevřete prostředek, ve kterém chcete identitu použít.
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.
Přiřaďte spravované identitě 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.
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>.
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.
Po dokončení můžete pomocí identity ověřit přístup k triggerům a akcím, které podporují spravované identity.
Další obecné informace o této úloze najdete v tématu Přiřazení přístupu spravované identity k prostředku Azure nebo jinému prostředku.
Vytvoření zásady přístupu pomocí webu Azure Portal
Pokud chcete použít spravovanou identitu pro ověřování, ostatní prostředky Azure také podporují nebo 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, místo toho vyžadují, abyste tuto identitu přiřadili k roli, která má příslušná oprávnění k cílovému prostředku.
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.
V nabídce prostředků vyberte Zásady>přístupu Vytvořit, čímž se 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.
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ýpis 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.
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.
Přeskočte volitelný krok Aplikace , vyberte Další a dokončete vytváření zásad přístupu.
V další části se dozvíte, jak použít spravovanou identitu s triggerem nebo akcí k ověření přístupu. Příklad pokračuje kroky z předchozí části, kde jako příklad nastavíte přístup pro spravovanou identitu pomocí RBAC a účtu úložiště Azure. 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 službě Azure 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.
Následující kroky ukazují, jak používat spravovanou identitu s triggerem nebo akcí pomocí 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.
Na webu Azure Portal otevřete prostředek aplikace logiky Consumption.
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í.
Na přidaném triggeru nebo akci postupujte takto:
Integrované operace konektoru, které podporují ověřování spravovaných identit
Tento postup pokračuje v použití akce HTTP jako příkladu.
V seznamu Rozšířených parametrů přidejte vlastnost Ověřování, pokud se tato vlastnost ještě nezobrazuje.
Nyní se v akci zobrazí vlastnost Ověřování i seznam Typ ověřování.
V seznamu Typ ověřování vyberte Spravovaná identita.
V části Ověřování se teď zobrazují následující možnosti:
Seznam spravovaných identit, ze kterého můžete vybrat konkrétní spravovanou identitu
Vlastnost Cílová skupina se zobrazí u konkrétních triggerů a akcí, abyste mohli nastavit ID prostředku pro cílový prostředek nebo službu Azure. 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.
V seznamu spravované identity vyberte identitu, kterou chcete použít, například:
Poznámka:
Výchozí vybranou možností je spravovaná identita přiřazená systémem, i když nemáte povolené žádné spravované identity.
Pokud chcete úspěšně používat spravovanou identitu, musíte tuto identitu nejprve povolit ve vaší aplikaci logiky. V aplikaci logiky Consumption můžete mít spravovanou identitu přiřazenou systémem nebo přiřazenou uživatelem, ale ne obě.
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
V podokně Vytvořit připojení v seznamu Ověřování vyberte spravovanou identitu, například:
V dalším podokně pro název připojení zadejte název, který se má pro připojení použít.
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í, což je v tomto případě spravovaná identita.
V seznamu Spravované identity vyberte aktuálně povolenou spravovanou identitu.
Až budete připraveni, vyberte Vytvořit nový.
Více ověřování: Tyto konektory podporují více typů ověřování, ale můžete vybrat a používat vždy jenom jeden typ.
Tento postup pokračuje v použití akce Azure Blob Storage jako příkladu.
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 zahrnuje ID prostředku pro cílový 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 službě Azure |
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 Storage 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 Snapshot Blob, akce HTTP určuje následující vlastnosti:
Vlastnost | Požaduje se | Příklad hodnoty | Popis |
---|---|---|---|
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 |
Metoda | Ano | PUT |
Metoda HTTP, kterou používá operace Snapshot Blob |
Záhlaví | Pro Azure Storage | x-ms-blob-type = BlockBlob x-ms-version = 2024-05-05 x-ms-date = formatDateTime(utcNow(),'r') |
Hodnoty , x-ms-version a x-ms-date hlavičky x-ms-blob-type jsou 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. |
V návrháři pracovního postupu přidejte libovolnou požadovanou aktivační událost a pak přidejte akci HTTP .
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:
V akci HTTP přidejte vlastnost Ověřování. V seznamu Upřesnit parametry vyberte Ověřování.
Oddíl Ověřování se teď zobrazí v akci HTTP .
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í.
V seznamu Typ ověřování vyberte Spravovaná identita.
V seznamu Spravované identity vyberte z dostupných možností podle vašeho scénáře.
Pokud nastavíte identitu přiřazenou systémem, vyberte spravovanou identitu přiřazenou systémem.
Pokud nastavíte identitu přiřazenou uživatelem, vyberte tuto identitu.
Tento příklad pokračuje se spravovanou identitou přiřazenou systémem.
U některých triggerů a akcí se zobrazí vlastnost Cílová skupina, abyste mohli nastavit ID prostředku pro cílový prostředek nebo službu Azure.
Pokud chcete například ověřit přístup k prostředku služby Key Vault v globálním cloudu Azure, musíte vlastnost Cílové skupiny nastavit na přesně následující ID prostředku:
https://vault.azure.net
Pokud vlastnost Cílová skupina nenastavíte ve výchozím nastavení, použije
https://management.azure.com/
vlastnost Cílová skupina ID prostředku, což je ID prostředku pro Azure Resource Manager.Důležité
Ujistěte se, že ID cílového prostředku přesně odpovídá hodnotě, kterou očekává ID Microsoft Entra. V opačném případě se může zobrazit
400 Bad Request
chyba nebo401 Unauthorized
chyba. Pokud tedy ID prostředku obsahuje koncové lomítka, nezapomeňte je zahrnout. Jinak je nezahrnujte.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 prohttps://<your-storage-account>.blob.core.windows.net
konkrétní účet úložiště.Další informace o autorizaci přístupu pomocí MICROSOFT Entra ID pro Azure Storage najdete v následující dokumentaci:
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 se spravovaným konektorem.
V návrháři pracovního postupu přidejte akci Azure Resource Manageru s názvem Číst prostředek.
V podokně Vytvořit připojení v seznamu Ověřování vyberte Spravovaná identita a pak vyberte Přihlásit se.
Poznámka:
V jiných konektorech se v seznamu Typ ověřování místo toho zobrazuje spravovaná identita Logic Apps, takže tuto možnost vyberte.
Zadejte název připojení a vyberte spravovanou identitu, kterou chcete použít.
Pokud jste povolili identitu přiřazenou systémem, seznam spravovaných identit automaticky vybere spravovanou identitu přiřazenou systémem. Pokud jste místo toho povolili identitu přiřazenou uživatelem, seznam automaticky vybere identitu přiřazenou uživatelem.
V tomto příkladu je jediná dostupná spravovaná identita přiřazená systémem.
Poznámka:
Pokud spravovaná identita není povolená při pokusu o vytvoření nebo změnu připojení nebo pokud byla spravovaná identita odebrána, pokud spravované připojení s povolenou identitou stále existuje, zobrazí se chybová zpráva, že musíte identitu povolit a udělit přístup k cílovému prostředku.
Až budete připraveni, vyberte Vytvořit nový.
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.
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é umožňuje 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. Azure Logic Apps zkontroluje, jestli jsou v pracovním postupu nastavené nějaké operace spravovaného konektoru tak, aby používaly spravovanou identitu a jestli existují všechna požadovaná oprávnění pro přístup k cílovým prostředkům určeným operacemi konektoru. Pokud je tato kontrola úspěšná, Azure Logic Apps načte token Microsoft Entra přidružený ke spravované identitě, použije tuto identitu k ověření přístupu k cílovému prostředku Azure a provede nakonfigurované operace v pracovním postupu.
V prostředku aplikace logiky Consumption se konfigurace připojení uloží do objektu definice parameters
prostředku, který obsahuje objekt, který obsahuje $connections
ukazatele na ID prostředku připojení spolu s ID prostředku spravované identity při povolení identity přiřazené uživatelem.
Tento příklad ukazuje konfiguraci objektuparameters
, když aplikace logiky povolí identitu přiřazenou systémem:
"parameters": {
"$connections": {
"value": {
"<action-name>": {
"connectionId": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>",
"connectionName": "<connector-name>",
"connectionProperties": {
"authentication": {
"type": "ManagedServiceIdentity"
}
},
"id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/<managed-connector-type>"
}
}
}
}
Tento příklad ukazuje konfiguraci objektuparameters
, 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/<connector-name>",
"connectionName": "<connector-name>",
"connectionProperties": {
"authentication": {
"type": "ManagedServiceIdentity",
"identity": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/microsoft.managedidentity/userassignedidentities/<managed-identity-name>"
}
},
"id": "/subscriptions/<Azure-subscription-ID>/providers/Microsoft.Web/locations/<Azure-region>/managedApis/<managed-connector-type>"
}
}
}
}
Šablona ARM pro připojení rozhraní API a spravované identity
Pokud k automatizaci nasazení použijete šablonu ARM a váš pracovní postup zahrnuje připojení rozhraní API vytvořené spravovaným konektorem, který používá spravovanou identitu, máte k dispozici další krok.
V šabloně ARM se základní definice prostředku konektoru liší podle toho, jestli máte prostředek aplikace logiky Consumption nebo Standard a jestli konektor zobrazuje možnosti s jední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 a konektorem pro více ověřování.
Jedno ověřování
Tento příklad ukazuje definici prostředku základního připojení pro akci konektoru, která podporuje pouze jeden typ ověřování a používá spravovanou identitu v pracovním postupu aplikace logiky Consumption, kde definice obsahuje následující atributy:
Vlastnost je nastavená
kind
naV1
aplikaci logiky Consumption.Vlastnost
parameterValueType
je nastavena na hodnotuAlternative
.
{
"type": "Microsoft.Web/connections",
"apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
"name": "[variables('connections_<connector-name>_name')]",
"location": "[parameters('location')]",
"kind": "V1",
"properties": {
"alternativeParameterValues": {},
"api": {
"id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), 'azureautomation')]"
},
"authenticatedUser": {},
"connectionState": "Enabled",
"customParameterValues": {},
"displayName": "[variables('connections_<connector-name>_name')]",
"parameterValueSet": {},
"parameterValueType": "Alternative"
}
},
Více ověřování
Tento příklad ukazuje definici základního prostředku připojení pro akci konektoru, která podporuje více typů ověřování a používá spravovanou identitu v pracovním postupu aplikace logiky Consumption, kde definice obsahuje následující atributy:
Vlastnost je nastavená
kind
naV1
aplikaci logiky Consumption.Objekt
parameterValueSet
obsahuje vlastnost nastavenouname
namanagedIdentityAuth
prázdnou vlastnost avalues
vlastnost, která je nastavená na prázdný objekt.
{
"type": "Microsoft.Web/connections",
"apiVersion": "[providers('Microsoft.Web','connections').apiVersions[0]]",
"name": "[variables('connections_<connector-name>_name')]",
"location": "[parameters('location')]",
"kind": "V1",
"properties": {
"alternativeParameterValues":{},
"api": {
"id": "[subscriptionResourceId('Microsoft.Web/locations/managedApis', parameters('location'), 'azureblob')]"
},
"authenticatedUser": {},
"connectionState": "Enabled",
"customParameterValues": {},
"displayName": "[variables('connections_<connector-name>_name')]",
"parameterValueSet":{
"name": "managedIdentityAuth",
"values": {}
},
"parameterValueType": "Alternative"
}
}
Nastavení pokročilé kontroly nad ověřováním připojení rozhraní API
Když pracovní postup standardní aplikace logiky používá připojení rozhraní API vytvořené spravovaným konektorem, 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í:
Připojení č. 1 je nastavené s ověřováním pro interní úložiště tokenů.
Připojení č. 2 je nastavené s ověřováním pro cílový prostředek.
Pokud ale pracovní postup aplikace logiky Consumption používá připojení rozhraní API, připojení č. 1 se od vás abstrahuje bez jakýchkoli možností konfigurace. S prostředkem aplikace logiky Standard máte větší kontrolu nad aplikací logiky a pracovními postupy. Ve výchozím nastavení je připojení č. 1 automaticky nastaveno tak, aby používalo identitu přiřazenou systémem.
Pokud váš scénář vyžaduje důkladnou 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 aplikace standardní 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/<Azure-region>/managedApis/keyvault"
},
"authentication": {
"type": "ManagedServiceIdentity",
},
"connection": {
"id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>"
},
"connectionProperties": {
"authentication": {
"audience": "https://vault.azure.net",
"type": "ManagedServiceIdentity"
}
},
"connectionRuntimeUrl": "<connection-runtime-URL>"
}
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 prostředky aplikace logiky, ale nepřidávejte identitu přiřazenou systémem pro každý prostředek aplikace 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ů
Na webu Azure Portal otevřete prostředek aplikace logiky Standard.
V nabídce prostředků v části Pracovní postupy vyberte Připojení.
V podokně Připojení vyberte zobrazení JSON.
V editoru
managedApiConnections
JSON vyhledejte část, která obsahuje připojení rozhraní API napříč všemi pracovními postupy v prostředku aplikace logiky.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/<Azure-region>/managedApis/keyvault" }, "authentication": { "type": "ManagedServiceIdentity" }, "connection": { "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>" }, "connectionProperties": { "authentication": { "audience": "https://vault.azure.net", "type": "ManagedServiceIdentity" } }, "connectionRuntimeUrl": "<connection-runtime-URL>" }
V definici připojení proveďte následující kroky:
Najděte první
authentication
oddíl. Pokud v tétoauthentication
části neexistuje žádnáidentity
vlastnost, aplikace logiky implicitně používá identitu přiřazenou systémem.identity
Přidejte vlastnost pomocí příkladu v tomto kroku.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/<Azure-region>/managedApis/keyvault" }, "authentication": { "type": "ManagedServiceIdentity", // Add "identity" property here "identity": "/subscriptions/<Azure-subscription-ID>/resourcegroups/<resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-resource-ID>" }, "connection": { "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Web/connections/<connector-name>" }, "connectionProperties": { "authentication": { "audience": "https://vault.azure.net", "type": "ManagedServiceIdentity" } }, "connectionRuntimeUrl": "<connection-runtime-URL>" }
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. |
Další informace najdete v tématu věnovaném odebrání přiřazení rolí v Azure.
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í rolí
Následující postup odebere přístup k cílovému prostředku ze spravované identity:
Na webu Azure Portal přejděte do cílového prostředku Azure, ve kterém chcete odebrat přístup ke spravované identitě.
V nabídce cílového prostředku vyberte Řízení přístupu (IAM). Pod panelem nástrojů vyberte Přiřazení rolí.
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 Oprávnění role správce v Microsoft Entra ID.
Zakázání spravované identity u prostředku aplikace logiky
Na webu Azure Portal otevřete prostředek aplikace logiky.
V nabídce prostředků aplikace logiky v části Nastavení vyberte Identita a pak postupujte podle pokynů 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 identity
type
na None
.
"identity": {
"type": "None"
}