Ověřování přístupu k prostředkům Azure pomocí spravovaných identit v Azure Logic AppsAuthenticate access to Azure resources by using managed identities in Azure Logic Apps

Pokud chcete získat přístup k prostředkům v jiných klientech Azure Active Directory (Azure AD) a ověřit vaši identitu bez přihlášení, vaše aplikace logiky může používat spravovanou identitu přiřazenou systémem (dřív označovanou jako identita spravované služby nebo MSI), a ne přihlašovací údaje nebo tajné kódy.To access the resources in other Azure Active Directory (Azure AD) tenants and authenticate your identity without signing in, your logic app can use the system-assigned managed identity (formerly known as Managed Service Identity or MSI), rather than credentials or secrets. Azure tuto identitu spravuje za vás a pomáhá zabezpečit vaše přihlašovací údaje, protože nemusíte zadávat ani otáčet tajné klíče.Azure manages this identity for you and helps secure your credentials because you don't have to provide or rotate secrets. Tento článek ukazuje, jak nastavit a používat spravovanou identitu přiřazenou systémem ve vaší aplikaci logiky.This article shows how to set up and use the system-assigned managed identity in your logic app. Spravované identity v současné době fungují jenom s konkrétními integrovanými triggery a akcemi, ne spravovanými konektory nebo připojeními.Currently, managed identities work only with specific built-in triggers and actions, not managed connectors or connections.

Další informace najdete v těchto tématech:For more information, see these topics:

PředpokladyPrerequisites

  • Předplatné Azure, nebo pokud předplatné nemáte, Zaregistrujte si bezplatný účet Azure.An Azure subscription, or if you don't have a subscription, sign up for a free Azure account. Spravovaná identita i cílový prostředek Azure, na kterém chcete mít přístup, musí používat stejné předplatné Azure.Both the managed identity and the target Azure resource where you want access need to use the same Azure subscription.

  • Oprávnění správce Azure AD , která můžou přiřadit role ke spravovaným identitám ve stejném TENANTOVI Azure AD jako cílový prostředek.Azure AD administrator permissions that can assign roles to managed identities in the same Azure AD tenant as the target resource. Pokud chcete spravované identitě udělit přístup k prostředku Azure, musíte do cílového prostředku přidat roli pro tuto identitu.To give a managed identity access to an Azure resource, you need to add a role for that identity on the target resource.

  • Cílový prostředek Azure, ke kterému chcete získat přístupThe target Azure resource that you want to access

  • Aplikace logiky, která používá triggery a akce, které podporují spravované identityA logic app that uses triggers and actions that support managed identities

Povolit identitu přiřazenou systémemEnable system-assigned identity

Na rozdíl od uživatelsky přiřazených identit nemusíte ručně vytvářet identitu přiřazenou systémem.Unlike user-assigned identities, you don't have to manually create the system-assigned identity. Chcete-li nastavit identitu přiřazenou systémem vaší aplikace logiky, můžete použít následující možnosti:To set up your logic app's system-assigned identity, here are the options that you can use:

Povolit identitu přiřazenou systémem v Azure PortalEnable system-assigned identity in Azure portal

  1. V Azure Portalotevřete aplikaci logiky v návrháři aplikace logiky.In the Azure portal, open your logic app in Logic App Designer.

  2. V nabídce aplikace logiky v části Nastavenívyberte Identita > systém přiřazeno.On the logic app menu, under Settings, select Identity > System assigned. V části stavvyberte v > Uložit > Ano.Under Status, select On > Save > Yes.

    Povolit identitu přiřazenou systémem

    Vaše aplikace logiky teď může používat identitu přiřazenou systémem, která je zaregistrovaná ve službě Azure Active Directory a je reprezentovaná ID objektu.Your logic app can now use the system-assigned identity, which is registered with Azure Active Directory and is represented by an object ID.

    ID objektu pro identitu přiřazenou systémem

    VlastnostProperty HodnotaValue PopisDescription
    ID objektuObject ID <identity-Resource-ID><identity-resource-ID> Globálně jedinečný identifikátor (GUID), který představuje identitu přiřazenou systémem pro vaši aplikaci logiky ve vašem tenantovi Azure ADA Globally Unique Identifier (GUID) that represents the system-assigned identity for your logic app in your Azure AD tenant
  3. Nyní postupujte podle kroků, které přidávají identitě přístup k prostředku.Now follow the steps that give the identity access to the resource.

Povolit identitu přiřazenou systémem v šabloně Azure Resource ManagerEnable system-assigned identity in Azure Resource Manager template

K automatizaci vytváření a nasazování prostředků Azure, jako jsou Logic Apps, můžete použít šablony Azure Resource Manager.To automate creating and deploying Azure resources such as logic apps, you can use Azure Resource Manager templates. Pokud chcete pro vaši aplikaci logiky v šabloně povolit spravovanou identitu přiřazenou systémem, přidejte do definice prostředků aplikace logiky v šabloně objekt identity a vlastnost type podřízenou položku, například:To enable the system-assigned managed identity for your logic app in the template, add the identity object and the type child property to the logic app's resource definition in the template, for example:

{
   "apiVersion": "2016-06-01",
   "type": "Microsoft.logic/workflows",
   "name": "[variables('logicappName')]",
   "location": "[resourceGroup().location]",
   "identity": {
      "type": "SystemAssigned"
   },
   "properties": {
      "definition": {
         "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
         "actions": {},
         "parameters": {},
         "triggers": {},
         "contentVersion": "1.0.0.0",
         "outputs": {}
   },
   "parameters": {},
   "dependsOn": []
}

Když Azure vytvoří definici prostředků aplikace logiky, objekt identity získá tyto další vlastnosti:When Azure creates your logic app resource definition, the identity object gets these additional properties:

"identity": {
   "type": "SystemAssigned",
   "principalId": "<principal-ID>",
   "tenantId": "<Azure-AD-tenant-ID>"
}
Property (JSON)Property (JSON) HodnotaValue PopisDescription
principalId ID objektu zabezpečení <><principal-ID> Globálně jedinečný identifikátor (GUID) instančního objektu služby pro spravovanou identitu, která představuje vaši aplikaci logiky v tenantovi Azure AD.The Globally Unique Identifier (GUID) of the service principal object for the managed identity that represents your logic app in the Azure AD tenant. Tento identifikátor GUID se někdy zobrazuje jako "ID objektu" nebo objectID.This GUID sometimes appears as an "object ID" or objectID.
tenantId <Azure-AD-tenant-ID><Azure-AD-tenant-ID> Globálně jedinečný identifikátor (GUID), který představuje tenanta Azure AD, ve kterém je teď aplikace logiky členem.The Globally Unique Identifier (GUID) that represents the Azure AD tenant where the logic app is now a member. V tenantovi služby Azure AD má instanční objekt stejný název jako instance aplikace logiky.Inside the Azure AD tenant, the service principal has the same name as the logic app instance.

Udělení přístupu k prostředkům v identitěGive identity access to resources

Po nastavení spravované identity pro vaši aplikaci logiky můžete této identitě udělit přístup k jiným prostředkům Azure.After you set up a managed identity for your logic app, you can give that identity access to other Azure resources. Tuto identitu pak můžete použít k ověřování.You can then use that identity for authentication.

  1. V Azure Portalpřejděte do prostředku Azure, ke kterému chcete mít přístup ke spravované identitě.In the Azure portal, go to the Azure resource where you want your managed identity to have access.

  2. V nabídce prostředku vyberte řízení přístupu (IAM) > přiřazení rolí , kde můžete zkontrolovat aktuální přiřazení rolí pro daný prostředek.From the resource's menu, select Access control (IAM) > Role assignments where you can review the current role assignments for that resource. Na panelu nástrojů vyberte přidat > Přidat přiřazení role.On the toolbar, select Add > Add role assignment.

    Vyberte Přidat > přidat přiřazení role.

    Tip

    Pokud je možnost Přidat přiřazení role zakázaná, pravděpodobně nemáte oprávnění.If the Add role assignment option is disabled, you most likely don't have permissions. Další informace o oprávněních, která umožňují spravovat role pro prostředky, najdete v tématu oprávnění role správce v Azure Active Directory.For more information about the permissions that let you manage roles for resources, see Administrator role permissions in Azure Active Directory.

  3. V části Přidat přiřazení rolevyberte roli , která poskytuje vaší identitě potřebný přístup k cílovému prostředku.Under Add role assignment, select a Role that gives your identity the necessary access to the target resource.

    V tomto tématu musí vaše identita mít roli, která má přístup k objektu BLOB v kontejneru Azure Storage:For this topic's example, your identity needs a role that can access the blob in an Azure Storage container:

    Vyberte roli Přispěvatel dat objektů BLOB úložiště.

  4. V poli přiřadit přístup k vyberte možnost uživatel, skupina nebo instanční objekt služby Azure AD.In the Assign access to box, select Azure AD user, group, or service principal.

    Vybrat přístup pro identitu přiřazenou systémem

  5. V poli Vybrat vyhledejte a vyberte svou aplikaci logiky.In the Select box, find and select your logic app.

    Vyberte aplikaci logiky pro systémově přiřazenou identitu.

  6. Jakmile budete mít hotovo, vyberte Uložit.When you're done, select Save.

    V seznamu přiřazení role cílového prostředku se teď zobrazuje vybraná spravovaná identita a role.The target resource's role assignments list now shows the selected managed identity and role.

    Do cílového prostředku se přidaly spravované identity a role.

  7. Nyní postupujte podle pokynů k ověření přístupu k identitě v aktivační události nebo akci, která podporuje spravované identity.Now follow the steps to authenticate access with the identity in a trigger or action that supports managed identities.

Ověření přístupu pomocí spravované identityAuthenticate access with managed identity

Po Povolení spravované identity pro vaši aplikaci logiky a udělení této identity přístup k cílovému prostředku nebo entitěmůžete tuto identitu použít v aktivačních událostech a akcích, které podporují spravované identity.After you enable the managed identity for your logic app and give that identity access to the target resource or entity, you can use that identity in triggers and actions that support managed identities.

Důležité

Pokud máte funkci Azure, kde chcete používat identitu přiřazenou systémem, nejdřív Povolte ověřování pro službu Azure Functions.If you have an Azure function where you want to use the system-assigned identity, first enable authentication for Azure functions.

Tyto kroky ukazují, jak používat spravovanou identitu s triggerem nebo akcí prostřednictvím Azure Portal.These steps show how to use the managed identity with a trigger or action through the Azure portal. Pokud chcete určit spravovanou identitu v aktivační události nebo v základní definici JSON akce, přečtěte si téma ověřování spravované identity.To specify the managed identity in a trigger or action's underlying JSON definition, see Managed identity authentication.

  1. V Azure Portalotevřete aplikaci logiky v návrháři aplikace logiky.In the Azure portal, open your logic app in the Logic App Designer.

  2. Pokud jste to ještě neudělali, přidejte Trigger nebo akci, která podporuje spravované identity.If you haven't done so yet, add the trigger or action that supports managed identities.

    Například Trigger nebo akce HTTP může používat identitu přiřazenou systémem, kterou jste povolili pro vaši aplikaci logiky.For example, the HTTP trigger or action can use the system-assigned identity that you enabled for your logic app. V obecném případě Trigger HTTP nebo akce tyto vlastnosti používá k určení prostředku nebo entity, ke které chcete získat přístup:In general, the HTTP trigger or action uses these properties to specify the resource or entity that you want to access:

    VlastnostProperty Požaduje seRequired PopisDescription
    MetodaMethod AnoYes Metoda HTTP, kterou používá operace, kterou chcete spustitThe HTTP method that's used by the operation that you want to run
    IDENTIFIKÁTOR URIURI AnoYes Adresa URL koncového bodu pro přístup k cílovému prostředku Azure nebo entitě.The endpoint URL for accessing the target Azure resource or entity. Syntaxe identifikátoru URI obvykle zahrnuje ID prostředku pro prostředek nebo službu Azure.The URI syntax usually includes the resource ID for the Azure resource or service.
    HlavičkyHeaders NeNo Všechny hodnoty hlaviček, které potřebujete nebo chcete zahrnout do odchozího požadavku, jako je typ obsahuAny header values that you need or want to include in the outgoing request, such as the content type
    DotazyQueries NeNo Všechny parametry dotazů, které potřebujete nebo chcete zahrnout do žádosti, jako je například parametr konkrétní operace nebo verze rozhraní API pro operaci, kterou chcete spustitAny query parameters that you need or want to include in the request, such as the parameter for a specific operation or the API version for the operation that you want to run
    OvěřováníAuthentication AnoYes Typ ověřování, který se má použít pro ověřování přístupu k cílovému prostředku nebo entitěThe authentication type to use for authenticating access to the target resource or entity

    Jako konkrétní příklad Předpokládejme, že chcete spustit operaci Snapshot BLOB u objektu BLOB v účtu Azure Storage, kde jste předtím nastavili přístup k vaší identitě.As a specific example, suppose that you want to run the Snapshot Blob operation on a blob in the Azure Storage account where you previously set up access for your identity. Ale konektor Azure Blob Storage v současnosti tuto operaci nenabízí.However, the Azure Blob Storage connector doesn't currently offer this operation. Místo toho můžete tuto operaci spustit pomocí akce http nebo jiné operace REST API služby BLOB Service.Instead, you can run this operation by using the HTTP action or another Blob Service REST API operation.

    Důležité

    Pokud chcete získat přístup k účtům Azure Storage za brány firewall pomocí požadavků HTTP 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žbami Microsoftu.To access Azure storage accounts behind firewalls by using HTTP requests and managed identities, make sure that you also set up your storage account with the exception that allows access by trusted Microsoft services.

    Pokud chcete spustit operaci objektu BLOB snímku, akce http určuje tyto vlastnosti:To run the Snapshot Blob operation, the HTTP action specifies these properties:

    VlastnostProperty Požaduje seRequired Příklad hodnotyExample value PopisDescription
    MetodaMethod AnoYes PUT Metoda HTTP, kterou používá operace objektu BLOB snímkuThe HTTP method that the Snapshot Blob operation uses
    IDENTIFIKÁTOR URIURI AnoYes https://{storage-account-name}.blob.core.windows.net/{blob-container-name}/{folder-name-if-any}/{blob-file-name-with-extension} ID prostředku pro soubor Azure Blob Storage v globálním (veřejném) prostředí Azure, které používá tuto syntaxiThe resource ID for an Azure Blob Storage file in the Azure Global (public) environment, which uses this syntax
    HlavičkyHeaders Ano, pro Azure StorageYes, for Azure Storage x-ms-blob-type = BlockBlob

    x-ms-version = 2019-02-02

    Hodnoty hlaviček x-ms-blob-type a x-ms-version, které jsou požadovány pro operace Azure Storage.The x-ms-blob-type and x-ms-version header values that are required for Azure Storage operations.

    Důležité: v odchozích triggerech http a požadavcích akcí pro Azure Storage hlavička vyžaduje vlastnost x-ms-version a verzi rozhraní API pro operaci, kterou chcete spustit.Important: In outgoing HTTP trigger and action requests for Azure Storage, the header requires the x-ms-version property and the API version for the operation that you want to run.

    Další informace najdete v těchto tématech:For more information, see these topics:

    - hlaviček žádostí – objekt BLOB snímku- Request headers - Snapshot Blob
    - Správa verzí pro Azure Storage služby- Versioning for Azure Storage services

    DotazyQueries Ano, pro tuto operaciYes, for this operation comp = snapshot Název a hodnota parametru dotazu pro operaci objektu BLOB snímku.The query parameter name and value for the Snapshot Blob operation.
    OvěřováníAuthentication AnoYes Managed Identity Typ ověřování, který se má použít pro ověřování přístupu k objektu blob AzureThe authentication type to use for authenticating access to the Azure blob

    Tady je příklad akce HTTP, která zobrazuje všechny tyto hodnoty vlastností:Here is the example HTTP action that shows all these property values:

    Přidání akce HTTP pro přístup k prostředku Azure

    Další informace o všech dostupných operacích Azure REST API najdete v referenčních informacích k azure REST API.For more information about all the available Azure REST API operations, see the Azure REST API Reference.

  3. V seznamu ověřování vyberte spravovaná identita.From the Authentication list, select Managed Identity. Pokud je vlastnost ověřování podporovaná , ale skrytá, otevřete seznam Přidat nový parametr a vyberte ověřování.If the Authentication property is supported but hidden, open the Add new parameter list, and select Authentication.

    Poznámka

    Ne všechny triggery a akce umožňují vybrat typ ověřování.Not all triggers and actions let you select an authentication type. Další informace najdete v tématu Přidání ověřování do odchozích volání.For more information, see Add authentication to outbound calls.

    Ve vlastnosti ověřování vyberte spravovaná identita.

  4. Po výběru možnosti spravovaná identitase pro některé triggery a akce zobrazí vlastnost cílová skupina .After you select Managed Identity, the Audience property appears for some triggers and actions. Pokud je vlastnost cílová skupina podporovaná, ale skrytá, otevřete seznam Přidat nový parametr a vyberte cílovou skupinu.If the Audience property is supported but hidden, open the Add new parameter list, and select Audience.

  5. Ujistěte se, že jste u cílového prostředku nebo služby nastavili hodnotu cílové skupiny na ID prostředku.Make sure that you set the Audience value to the resource ID for the target resource or service. Jinak ve výchozím nastavení vlastnost cílová skupina používá id prostředku https://management.azure.com/, což je ID prostředku pro Azure Resource Manager.Otherwise, by default, the Audience property uses the https://management.azure.com/ resource ID, which is the resource ID for Azure Resource Manager.

    Důležité

    Ujistěte se, že ID cílového prostředku přesně odpovídá hodnotě, kterou Azure Active Directory (AD) očekává, včetně požadovaných koncových lomítek.Make sure that the target resource ID exactly matches the value that Azure Active Directory (AD) expects, including any required trailing slashes. ID prostředku pro všechny účty Azure Blob Storage například vyžaduje koncové lomítko.For example, the resource ID for all Azure Blob Storage accounts requires a trailing slash. ID prostředku pro konkrétní účet úložiště ale nevyžaduje koncové lomítko.However, the resource ID for a specific storage account doesn't require a trailing slash. Ověřte ID prostředků služeb Azure, které podporují Azure AD.Check the resource IDs for the Azure services that support Azure AD.

    Tento příklad nastaví vlastnost cílové skupiny na https://storage.azure.com/ tak, aby přístupové tokeny používané pro ověřování byly platné pro všechny účty úložiště.This example sets the Audience property to https://storage.azure.com/ so that the access tokens used for authentication are valid for all storage accounts. Pro určitý účet úložiště ale taky můžete zadat adresu URL kořenové služby https://fabrikamstorageaccount.blob.core.windows.net.However, you can also specify the root service URL, https://fabrikamstorageaccount.blob.core.windows.net, for a specific storage account.

    Zadejte ID cílového prostředku ve vlastnosti cílová skupina.

    Další informace o autorizaci přístupu ke službě Azure AD pro Azure Storage najdete v těchto tématech:For more information about authorizing access with Azure AD for Azure Storage, see these topics:

Odebrat identitu přiřazenou systémemRemove system-assigned identity

K zastavení používání identity přiřazené systémem pro vaši aplikaci logiky máte tyto možnosti:To stop using the system-assigned identity for your logic app, you have these options:

Pokud odstraníte aplikaci logiky, Azure automaticky odebere spravovanou identitu ze služby Azure AD.If you delete your logic app, Azure automatically removes the managed identity from Azure AD.

Odebrat identitu přiřazenou systémem v Azure PortalRemove system-assigned identity in the Azure portal

V Azure Portal z aplikace logiky odeberte identitu přiřazenou systémem a přístup k této identitě z cílového prostředku.In the Azure portal, remove the system-assigned identity from your logic app and that identity's access from your target resource.

Odebrání identity přiřazené systémem z aplikace logikyRemove system-assigned identity from logic app

  1. V Azure Portalotevřete aplikaci logiky v návrháři aplikace logiky.In the Azure portal, open your logic app in Logic App Designer.

  2. V nabídce aplikace logiky v části Nastavenívyberte Identita > systém přiřazeno.On the logic app menu, under Settings, select Identity > System assigned. V části stavvyberte vypnuto > Uložit > Ano.Under Status, select Off > Save > Yes.

    Ukončení používání identity přiřazené systémem

Odebrání přístupu k identitám z prostředkůRemove identity access from resources

  1. V Azure Portalpřejděte do cílového prostředku Azure, ve kterém chcete odebrat přístup pro spravovanou identitu.In the Azure portal, go to the target Azure resource where you want to remove access for a managed identity.

  2. V nabídce cílového prostředku vyberte řízení přístupu (IAM) .From the target resource's menu, select Access control (IAM). Na panelu nástrojů vyberte přiřazení rolí.Under the toolbar, select Role assignments.

  3. V seznamu role vyberte spravované identity, které chcete odebrat.In the roles list, select the managed identities that you want to remove. Na panelu nástrojů vyberte Odebrat.On the toolbar, select Remove.

    Tip

    Pokud je možnost Odebrat zakázaná, pravděpodobně nemáte oprávnění.If the Remove option is disabled, you most likely don't have permissions. Další informace o oprávněních, která umožňují spravovat role pro prostředky, najdete v tématu oprávnění role správce v Azure Active Directory.For more information about the permissions that let you manage roles for resources, see Administrator role permissions in Azure Active Directory.

Spravovaná identita je nyní odebrána a již nemá přístup k cílovému prostředku.The managed identity is now removed and no longer has access to the target resource.

Zakázat spravovanou identitu v šabloně Azure Resource ManagerDisable managed identity in Azure Resource Manager template

Pokud jste povolili identitu spravovanou systémem aplikace logiky pomocí Azure Resource Manager šablony, nastavte vlastnost type podřízenosti objektu identity na None.If you enabled the logic app's system-managed identity by using an Azure Resource Manager template, set the identity object's type child property to None. Tato akce také odstraní ID objektu zabezpečení pro identitu spravovanou systémem ze služby Azure AD.This action also deletes the principal ID for the system-managed identity from Azure AD.

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

Další krokyNext steps