Uwierzytelnianie dostępu i połączeń z zasobami platformy Azure przy użyciu tożsamości zarządzanych w usłudze Azure Logic Apps

Dotyczy: Azure Logic Apps (Zużycie + Standardowa)

Jeśli używasz tożsamości zarządzanej do uwierzytelniania dostępu lub połączeń z zasobami chronionymi przez firmę Microsoft Entra z przepływu pracy aplikacji logiki, nie musisz podawać poświadczeń, wpisów tajnych ani tokenów usługi Microsoft Entra. W usłudze Azure Logic Apps niektóre operacje łącznika obsługują używanie tożsamości zarządzanej, gdy musisz uwierzytelnić dostęp do zasobów chronionych przez identyfikator Entra firmy Microsoft. Platforma Azure zarządza tą tożsamością i pomaga zapewnić bezpieczeństwo informacji uwierzytelniania, ponieważ nie trzeba zarządzać tymi poufnymi informacjami. Aby uzyskać więcej informacji, zobacz Czym są tożsamości zarządzane dla zasobów platformy Azure?.

Usługa Azure Logic Apps obsługuje tożsamość zarządzaną przypisaną przez system i tożsamość zarządzaną przypisaną przez użytkownika. Poniższa lista zawiera opis niektórych różnic między tymi typami tożsamości zarządzanych:

  • Zasób aplikacji logiki może włączać i używać tylko jednej unikatowej tożsamości przypisanej przez system.

  • Zasób aplikacji logiki może współdzielić tę samą tożsamość przypisaną przez użytkownika w grupie innych zasobów aplikacji logiki.

W tym przewodniku pokazano, jak wykonać następujące zadania:

  • Włącz i skonfiguruj tożsamość zarządzaną przypisaną przez system dla zasobu aplikacji logiki. Ten przewodnik zawiera przykład pokazujący, jak używać tożsamości do uwierzytelniania.

  • Utwórz i skonfiguruj tożsamość przypisaną przez użytkownika. W tym przewodniku pokazano, jak utworzyć tożsamość przypisaną przez użytkownika przy użyciu witryny Azure Portal i szablonu usługi Azure Resource Manager (szablonu usługi ARM) oraz jak używać tożsamości do uwierzytelniania. W przypadku programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure i interfejsu API REST platformy Azure zapoznaj się z następującą dokumentacją:

Narzędzie Dokumentacja
Azure PowerShell Tworzenie tożsamości przypisanej przez użytkownika
Interfejs wiersza polecenia platformy Azure Tworzenie tożsamości przypisanej przez użytkownika
Interfejs API REST platformy Azure Tworzenie tożsamości przypisanej przez użytkownika

Użycie a aplikacje logiki w warstwie Standardowa

Na podstawie typu zasobu aplikacji logiki można włączyć tożsamość przypisaną przez system, tożsamość przypisaną przez użytkownika lub obie te elementy w tym samym czasie:

Aplikacja logiki Środowisko Obsługa tożsamości zarządzanej
Zużycie — Wielodostępna usługa Azure Logic Apps

— Środowisko usługi integracji (ISE)
— Aplikacja logiki może włączyć tożsamość przypisaną przez system lub tożsamość przypisaną przez użytkownika.

— Tożsamość zarządzana można używać na poziomie zasobów aplikacji logiki i na poziomie połączenia.

— Jeśli włączysz tożsamość przypisaną przez użytkownika, aplikacja logiki może mieć tylko jedną tożsamość przypisaną przez użytkownika naraz.
Standardowa — Usługa Azure Logic Apps z jedną dzierżawą

- App Service Environment v3 (ASEv3)

— Usługa Logic Apps z obsługą usługi Azure Arc
— Można włączyć zarówno tożsamość przypisaną przez system, która jest domyślnie włączona, jak i tożsamość przypisana przez użytkownika w tym samym czasie.

— Tożsamość zarządzana można używać na poziomie zasobów aplikacji logiki i na poziomie połączenia.

— Jeśli włączysz tożsamość przypisaną przez użytkownika, zasób aplikacji logiki może mieć jednocześnie wiele tożsamości przypisanych przez użytkownika.

Aby uzyskać informacje o limitach tożsamości zarządzanych w usłudze Azure Logic Apps, zobacz Limity tożsamości zarządzanych dla aplikacji logiki. Aby uzyskać więcej informacji o typach zasobów i środowiskach aplikacji logiki Zużycie i Standardowa, zobacz następującą dokumentację:

Gdzie można użyć tożsamości zarządzanej

W usłudze Azure Logic Apps tylko określone wbudowane i zarządzane operacje łącznika, które obsługują uwierzytelnianie OAuth przy użyciu identyfikatora Entra firmy Microsoft, mogą używać tożsamości zarządzanej do uwierzytelniania. Poniższe tabele zawierają tylko przykładowy wybór. Aby uzyskać bardziej pełną listę, zobacz Typy uwierzytelniania wyzwalaczy i akcji, które obsługują uwierzytelnianie i usługi platformy Azure, które obsługują uwierzytelnianie firmy Microsoft Entra przy użyciu tożsamości zarządzanych.

W przypadku przepływu pracy aplikacji logiki Zużycie w poniższej tabeli wymieniono łączniki obsługujące uwierzytelnianie tożsamości zarządzanej:

Typ łącznika Obsługiwane łączniki
Wbudowana — Azure API Management
- aplikacja systemu Azure Services
— Azure Functions
- HTTP
- HTTP + element webhook

Uwaga: Operacje HTTP mogą uwierzytelniać połączenia z kontami usługi Azure Storage za zaporami platformy Azure przy użyciu tożsamości przypisanej przez system. Nie obsługują one jednak tożsamości zarządzanej przypisanej przez użytkownika do uwierzytelniania tych samych połączeń.

Zarządzane - aplikacja systemu Azure Service
— Azure Automation
— Azure Blob Storage
— Wystąpienie kontenera platformy 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
— Kolejki platformy Azure
— Azure Resource Manager
— Azure Service Bus
— Azure Sentinel
— Azure Table Storage
— Maszyna wirtualna platformy Azure
— HTTP z identyfikatorem Entra firmy Microsoft
- SQL Server

Wymagania wstępne

  • Konto i subskrypcja platformy Azure. Jeśli nie masz subskrypcji, zarejestruj się w celu założenia bezpłatnego konta platformy Azure. Tożsamość zarządzana i docelowy zasób platformy Azure, do którego potrzebujesz dostępu, musi używać tej samej subskrypcji platformy Azure.

  • Docelowy zasób platformy Azure, do którego chcesz uzyskać dostęp. W tym zasobie dodasz niezbędną rolę dla tożsamości zarządzanej w celu uzyskania dostępu do tego zasobu w imieniu aplikacji logiki lub połączenia. Aby dodać rolę do tożsamości zarządzanej, musisz mieć uprawnienia administratora firmy Microsoft Entra, które mogą przypisywać role do tożsamości w odpowiedniej dzierżawie firmy Microsoft Entra.

  • Zasób aplikacji logiki i przepływ pracy, w którym chcesz użyć wyzwalacza lub akcji obsługujących tożsamości zarządzane.

Włączanie tożsamości przypisanej przez system w witrynie Azure Portal

  1. W witrynie Azure Portal otwórz zasób aplikacji logiki.

  2. W menu aplikacji logiki w obszarze Ustawienia wybierz pozycję Tożsamość.

  3. Na stronie Tożsamość w obszarze System przypisany wybierz pozycję Przy>zapisywaniu. Gdy platforma Azure wyświetli monit o potwierdzenie, wybierz pozycję Tak.

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

    Uwaga

    Jeśli wystąpi błąd, że możesz mieć tylko jedną tożsamość zarządzaną, zasób aplikacji logiki jest już skojarzony z tożsamością przypisaną przez użytkownika. Przed dodaniem tożsamości przypisanej przez system należy najpierw usunąć tożsamość przypisaną przez użytkownika z zasobu aplikacji logiki.

    Zasób aplikacji logiki może teraz używać tożsamości przypisanej przez system. Ta tożsamość jest zarejestrowana w identyfikatorze Entra firmy Microsoft i jest reprezentowana przez identyfikator obiektu.

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

    Właściwości Wartość Opis
    Identyfikator obiektu (podmiotu zabezpieczeń) <identity-resource-ID> Unikatowy identyfikator globalny (GUID), który reprezentuje tożsamość przypisaną przez system dla aplikacji logiki w dzierżawie firmy Microsoft Entra.
  4. Teraz wykonaj kroki, które zapewniają tej tożsamości dostęp do zasobu w dalszej części tego przewodnika.

Włączanie tożsamości przypisanej przez system w szablonie usługi ARM

Aby zautomatyzować tworzenie i wdrażanie zasobów aplikacji logiki, możesz użyć szablonu usługi ARM. Aby włączyć tożsamość przypisaną przez system dla zasobu aplikacji logiki w szablonie, dodaj identity obiekt i type właściwość podrzędną do definicji zasobu aplikacji logiki w szablonie, na przykład:

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

Gdy platforma Azure tworzy definicję zasobu aplikacji logiki, identity obiekt pobiera następujące inne właściwości:

"identity": {
   "type": "SystemAssigned",
   "principalId": "<principal-ID>",
   "tenantId": "<Azure-AD-tenant-ID>"
}
Właściwość (JSON) Wartość Opis
principalId <identyfikator podmiotu zabezpieczeń> Globalnie unikatowy identyfikator (GUID) obiektu jednostki usługi dla tożsamości zarządzanej, która reprezentuje aplikację logiki w dzierżawie firmy Microsoft Entra. Ten identyfikator GUID czasami jest wyświetlany jako "identyfikator obiektu" lub objectID.
tenantId <Azure-AD-tenant-ID> Globalnie unikatowy identyfikator (GUID), który reprezentuje dzierżawę firmy Microsoft Entra, w której aplikacja logiki jest teraz członkiem. W dzierżawie firmy Microsoft Entra jednostka usługi ma taką samą nazwę jak wystąpienie aplikacji logiki.

Tworzenie tożsamości przypisanej przez użytkownika w witrynie Azure Portal

Aby można było włączyć tożsamość przypisaną przez użytkownika na zasobie aplikacji logiki Zużycie lub standardowym zasobie aplikacji logiki, musisz utworzyć tę tożsamość jako oddzielny zasób platformy Azure.

  1. W polu wyszukiwania w witrynie Azure Portal wprowadź tożsamości zarządzane i wybierz pozycję Tożsamości zarządzane.

    Screenshot shows Azure portal with selected option named Managed Identities.

  2. Na stronie Tożsamości zarządzane wybierz pozycję Utwórz.

    Screenshot shows Managed Identities page and selected option for Create.

  3. Podaj informacje o tożsamości zarządzanej, a następnie wybierz pozycję Przejrzyj i utwórz, na przykład:

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

    Właściwości Wymagania Wartość Opis
    Subskrypcja Tak <Azure-subscription-name> Nazwa subskrypcji platformy Azure
    Grupa zasobów: Tak <Azure-resource-group-name> Nazwa grupy zasobów platformy Azure. Utwórz nową grupę lub wybierz istniejącą grupę. W tym przykładzie zostanie utworzona nowa grupa o nazwie fabrikam-managed-identities-RG.
    Region Tak <Region świadczenia usługi Azure> Region świadczenia usługi Azure, w którym mają być przechowywane informacje o zasobie. W tym przykładzie użyto zachodnich stanów USA.
    Nazwa/nazwisko Tak <user-assigned-identity-name> Nazwa, która ma nadać tożsamość przypisaną przez użytkownika. W tym przykładzie użyto tożsamości przypisanej przez użytkownika firmy Fabrikam.

    Po zweryfikowaniu informacji przez platformę Azure platforma Azure utworzy tożsamość zarządzaną. Teraz możesz dodać tożsamość przypisaną przez użytkownika do zasobu aplikacji logiki.

Dodawanie tożsamości przypisanej przez użytkownika do aplikacji logiki w witrynie Azure Portal

  1. W witrynie Azure Portal otwórz zasób aplikacji logiki.

  2. W menu aplikacji logiki w obszarze Ustawienia wybierz pozycję Tożsamość.

  3. Na stronie Tożsamość wybierz pozycję Dodaj przypisaną przez> użytkownika.

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

  4. W okienku Dodawanie tożsamości zarządzanej przypisanej przez użytkownika wykonaj następujące kroki:

    1. Z listy Subskrypcja wybierz subskrypcję platformy Azure.

    2. Z listy zawierającej wszystkie tożsamości zarządzane w ramach subskrypcji wybierz odpowiednią tożsamość przypisaną przez użytkownika. Aby przefiltrować listę, w polu wyszukiwania Tożsamości zarządzane przypisane przez użytkownika wprowadź nazwę tożsamości lub grupy zasobów.

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

    3. Gdy wszystko będzie gotowe, wybierz pozycję Dodaj.

      Uwaga

      Jeśli wystąpi błąd, że możesz mieć tylko jedną tożsamość zarządzaną, aplikacja logiki jest już skojarzona z tożsamością przypisaną przez system. Przed dodaniem tożsamości przypisanej przez użytkownika należy najpierw wyłączyć tożsamość przypisaną przez system.

    Aplikacja logiki jest teraz skojarzona z tożsamością zarządzaną przypisaną przez użytkownika.

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

  5. Teraz wykonaj kroki, które zapewniają tej tożsamości dostęp do zasobu w dalszej części tego przewodnika.

Tworzenie tożsamości przypisanej przez użytkownika w szablonie usługi ARM

Aby zautomatyzować tworzenie i wdrażanie zasobów aplikacji logiki, możesz użyć szablonu usługi ARM. Te szablony obsługują tożsamości przypisane przez użytkownika do uwierzytelniania.

W sekcji szablonu resources definicja zasobu aplikacji logiki wymaga następujących elementów:

  • Obiekt identity z właściwością ustawioną type na UserAssigned

  • Obiekt podrzędny userAssignedIdentities określający przypisany przez użytkownika zasób i nazwę

W tym przykładzie pokazano zasób aplikacji logiki Zużycie i definicję przepływu pracy dla żądania HTTP PUT z niesparametryzowanym identity obiektem. Odpowiedź na żądanie PUT i kolejna operacja GET obejmuje również ten identity obiekt:

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

Jeśli szablon zawiera również definicję zasobu tożsamości zarządzanej, możesz sparametryzować identity obiekt. W poniższym przykładzie pokazano, jak obiekt podrzędny userAssignedIdentitiesuserAssignedIdentityName odwołuje się do zmiennej zdefiniowanej w sekcji szablonu variables . Ta zmienna odwołuje się do identyfikatora zasobu tożsamości przypisanej przez użytkownika.

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

Przyznawanie tożsamości dostępu do zasobów

Aby można było użyć tożsamości zarządzanej aplikacji logiki do uwierzytelniania, musisz skonfigurować dostęp do tożsamości w zasobie platformy Azure, w którym chcesz użyć tożsamości. Sposób konfigurowania dostępu zależy od zasobu, do którego ma uzyskać dostęp tożsamość.

Uwaga

Gdy tożsamość zarządzana ma dostęp do zasobu platformy Azure w tej samej subskrypcji, tożsamość może uzyskać dostęp tylko do tego zasobu. Jednak w niektórych wyzwalaczach i akcjach obsługujących tożsamości zarządzane należy najpierw wybrać grupę zasobów platformy Azure zawierającą zasób docelowy. Jeśli tożsamość nie ma dostępu na poziomie grupy zasobów, żadne zasoby w tej grupie nie są wyświetlane, pomimo dostępu do zasobu docelowego.

Aby obsłużyć to zachowanie, należy również udzielić tożsamości dostępu do grupy zasobów, a nie tylko zasobu. Podobnie, jeśli musisz wybrać subskrypcję przed wybraniem zasobu docelowego, musisz udzielić tożsamości dostępu do subskrypcji.

W niektórych przypadkach może być potrzebna tożsamość, aby uzyskać dostęp do skojarzonego zasobu. Załóżmy na przykład, że masz tożsamość zarządzaną dla aplikacji logiki, która wymaga dostępu do aktualizowania ustawień aplikacji dla tej samej aplikacji logiki z przepływu pracy. Musisz przyznać tej tożsamości dostęp do skojarzonej aplikacji logiki.

Aby na przykład uzyskać dostęp do konta usługi Azure Blob Storage przy użyciu tożsamości zarządzanej, musisz skonfigurować dostęp przy użyciu kontroli dostępu opartej na rolach platformy Azure (Azure RBAC) i przypisać odpowiednią rolę dla tej tożsamości do konta magazynu. W krokach w tej sekcji opisano sposób wykonywania tego zadania przy użyciu witryny Azure Portal i szablonu usługi Azure Resource Manager (szablonu arm). W przypadku programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure i interfejsu API REST platformy Azure zapoznaj się z następującą dokumentacją:

Narzędzie Dokumentacja
Azure PowerShell Dodawanie przypisania roli
Interfejs wiersza polecenia platformy Azure Dodawanie przypisania roli
Interfejs API REST platformy Azure Dodawanie przypisania roli

Jednak aby uzyskać dostęp do magazynu kluczy platformy Azure przy użyciu tożsamości zarządzanej, musisz utworzyć zasady dostępu dla tej tożsamości w magazynie kluczy i przypisać odpowiednie uprawnienia dla tej tożsamości w tym magazynie kluczy. W kolejnych krokach w tej sekcji opisano sposób wykonywania tego zadania przy użyciu witryny Azure Portal. W przypadku szablonów usługi Resource Manager, programu PowerShell i interfejsu wiersza polecenia platformy Azure zapoznaj się z następującą dokumentacją:

Narzędzie Dokumentacja
Szablon usługi Azure Resource Manager (szablon ARM) Definicja zasobu zasad dostępu usługi Key Vault
Azure PowerShell Przypisywanie zasad dostępu do usługi Key Vault
Interfejs wiersza polecenia platformy Azure Przypisywanie zasad dostępu do usługi Key Vault

Przypisywanie dostępu opartego na rolach tożsamości zarządzanej w witrynie Azure Portal

Aby użyć tożsamości zarządzanej do uwierzytelniania, niektóre zasoby platformy Azure, takie jak konta usługi Azure Storage, wymagają przypisania tej tożsamości do roli, która ma odpowiednie uprawnienia do zasobu docelowego. Inne zasoby platformy Azure, takie jak magazyny kluczy platformy Azure, wymagają utworzenia zasad dostępu, które mają odpowiednie uprawnienia do zasobu docelowego dla tej tożsamości.

  1. W witrynie Azure Portal otwórz zasób, w którym chcesz użyć tożsamości.

  2. W menu zasobów wybierz pozycję Kontrola dostępu (IAM)>Dodaj>przypisanie roli.

    Uwaga

    Jeśli opcja Dodaj przypisanie roli jest wyłączona, nie masz uprawnień do przypisywania ról. Aby uzyskać więcej informacji, zobacz Wbudowane role usługi Microsoft Entra.

  3. Teraz przypisz niezbędną rolę do tożsamości zarządzanej. Na karcie Rola przypisz rolę, która daje tożsamości wymagany dostęp do bieżącego zasobu.

    W tym przykładzie przypisz rolę o nazwie Współautor danych obiektu blob usługi Storage, która obejmuje dostęp do zapisu dla obiektów blob w kontenerze usługi Azure Storage. Aby uzyskać więcej informacji na temat określonych ról kontenera magazynu, zobacz Role, które mogą uzyskiwać dostęp do obiektów blob w kontenerze usługi Azure Storage.

  4. Następnie wybierz tożsamość zarządzaną, w której chcesz przypisać rolę. W obszarze Przypisz dostęp do wybierz pozycję Tożsamość>zarządzana Dodaj członków.

  5. Na podstawie typu tożsamości zarządzanej wybierz lub podaj następujące wartości:

    Typ Wystąpienie usługi platformy Azure Subskrypcja Element członkowski
    Przypisana przez system Aplikacja logiki <Azure-subscription-name> <Twoja nazwa aplikacji logiki>
    Przypisana przez użytkownika Nie dotyczy <Azure-subscription-name> <nazwa-tożsamości przypisanej przez użytkownika>

    Aby uzyskać więcej informacji na temat przypisywania ról, zobacz Przypisywanie ról przy użyciu witryny Azure Portal.

  6. Po zakończeniu możesz użyć tożsamości do uwierzytelniania dostępu dla wyzwalaczy i akcji obsługujących tożsamości zarządzane.

Aby uzyskać więcej ogólnych informacji na temat tego zadania, zobacz Przypisywanie dostępu tożsamości zarządzanej do innego zasobu przy użyciu kontroli dostępu opartej na rolach platformy Azure.

Tworzenie zasad dostępu w witrynie Azure Portal

Aby użyć tożsamości zarządzanej do uwierzytelniania, niektóre zasoby platformy Azure, takie jak magazyny kluczy platformy Azure, wymagają utworzenia zasad dostępu, które mają odpowiednie uprawnienia do zasobu docelowego dla tej tożsamości. Inne zasoby platformy Azure, takie jak konta usługi Azure Storage, wymagają przypisania tej tożsamości do roli, która ma odpowiednie uprawnienia do zasobu docelowego.

  1. W witrynie Azure Portal otwórz zasób docelowy, w którym chcesz użyć tożsamości. W tym przykładzie jako zasób docelowy jest używany magazyn kluczy platformy Azure.

  2. W menu zasobu wybierz pozycję Zasady>dostępu Utwórz, co spowoduje otwarcie okienka Tworzenie zasad dostępu.

    Uwaga

    Jeśli zasób nie ma opcji Zasady dostępu, spróbuj przypisać przypisanie roli.

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

  3. Na karcie Uprawnienia wybierz wymagane uprawnienia, które tożsamość musi uzyskać dostęp do zasobu docelowego.

    Aby na przykład użyć tożsamości z operacją Listy wpisów tajnych zarządzanego łącznika usługi Azure Key Vault, tożsamość musi mieć uprawnienia Lista. W kolumnie Uprawnienia wpisu tajnego wybierz pozycję Lista.

    Screenshot shows Permissions tab with selected List permissions.

  4. Gdy wszystko będzie gotowe, wybierz pozycję Dalej. Na karcie Podmiot zabezpieczeń znajdź i wybierz tożsamość zarządzaną, która jest tożsamością przypisaną przez użytkownika w tym przykładzie.

  5. Pomiń opcjonalny krok Aplikacja , wybierz pozycję Dalej i zakończ tworzenie zasad dostępu.

W następnej sekcji omówiono używanie tożsamości zarządzanej do uwierzytelniania dostępu do wyzwalacza lub akcji. W przykładzie przedstawiono kroki z wcześniejszej sekcji, w której skonfigurowaliśmy dostęp dla tożsamości zarządzanej przy użyciu kontroli dostępu opartej na rolach i nie używamy usługi Azure Key Vault jako przykładu. Jednak ogólne kroki używania tożsamości zarządzanej do uwierzytelniania są takie same.

Uwierzytelnianie dostępu za pomocą tożsamości zarządzanej

Po włączeniu tożsamości zarządzanej dla zasobu aplikacji logiki i udzieleniu tej tożsamości dostępu do zasobu docelowego lub jednostki można użyć tej tożsamości w wyzwalaczach i akcjach obsługujących tożsamości zarządzane.

Ważne

Jeśli masz funkcję platformy Azure, w której chcesz użyć tożsamości przypisanej przez system, najpierw włącz uwierzytelnianie dla usługi Azure Functions.

W tych krokach pokazano, jak używać tożsamości zarządzanej z wyzwalaczem lub akcją za pośrednictwem witryny Azure Portal. Aby określić tożsamość zarządzaną w podstawowej definicji JSON wyzwalacza lub akcji, zobacz Uwierzytelnianie tożsamości zarządzanej.

  1. W witrynie Azure Portal otwórz zasób aplikacji logiki.

  2. Jeśli jeszcze tego nie zrobiono, dodaj wyzwalacz lub akcję, która obsługuje tożsamości zarządzane.

    Uwaga

    Nie wszystkie operacje łącznika obsługują dodawanie typu uwierzytelniania. Aby uzyskać więcej informacji, zobacz Typy uwierzytelniania dla wyzwalaczy i akcji obsługujących uwierzytelnianie.

  3. W dodanym wyzwalaczu lub akcji wykonaj następujące kroki:

    • Wbudowane operacje łącznika obsługujące uwierzytelnianie tożsamości zarządzanej

      1. Z listy Dodaj nowy parametr dodaj właściwość Authentication, jeśli właściwość nie jest jeszcze wyświetlana.

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

      2. Z listy Typ uwierzytelniania wybierz pozycję Tożsamość zarządzana.

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

      Aby uzyskać więcej informacji, zobacz Przykład: Uwierzytelnianie wbudowanego wyzwalacza lub akcji przy użyciu tożsamości zarządzanej.

    • Operacje łącznika zarządzanego obsługujące uwierzytelnianie tożsamości zarządzanej

      1. Na stronie wyboru dzierżawy wybierz pozycję Połączenie z tożsamością zarządzaną, na przykład:

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

      2. Na następnej stronie w polu nazwa Połączenie ion podaj nazwę do użycia dla połączenia.

      3. Dla typu uwierzytelniania wybierz jedną z następujących opcji na podstawie łącznika zarządzanego:

        • Jednouwierzytelnianie: te łączniki obsługują tylko jeden typ uwierzytelniania. Z listy Tożsamość zarządzana wybierz obecnie włączoną tożsamość zarządzaną, jeśli nie została jeszcze wybrana, a następnie wybierz pozycję Utwórz, na przykład:

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

        • Uwierzytelnianie wieloskładnikowe: te łączniki pokazują wiele typów uwierzytelniania, ale nadal można wybrać tylko jeden typ. Z listy Typ uwierzytelniania wybierz pozycję Tworzenie tożsamości>zarządzanej usługi Logic Apps, na przykład:

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

        Aby uzyskać więcej informacji, zobacz Przykład: Wyzwalacz lub akcja uwierzytelnienia łącznika zarządzanego przy użyciu tożsamości zarządzanej.

Przykład: Uwierzytelnianie wbudowanego wyzwalacza lub akcji przy użyciu tożsamości zarządzanej

Wbudowany wyzwalacz HTTP lub akcja mogą używać tożsamości przypisanej przez system, która jest włączona w zasobie aplikacji logiki. Ogólnie rzecz biorąc, wyzwalacz HTTP lub akcja używa następujących właściwości, aby określić zasób lub jednostkę, do której chcesz uzyskać dostęp:

Właściwości Wymagania opis
Metoda Tak Metoda HTTP używana przez operację, którą chcesz uruchomić
Identyfikator URI Tak Adres URL punktu końcowego umożliwiający uzyskanie dostępu do docelowego zasobu lub jednostki platformy Azure. Składnia identyfikatora URI zwykle zawiera identyfikator zasobu dla zasobu lub usługi platformy Azure.
Nagłówki Nie. Wszelkie potrzebne wartości nagłówka lub które mają zostać uwzględnione w żądaniu wychodzącym, takie jak typ zawartości
Zapytania Nie. Wszystkie wymagane parametry zapytania lub chcesz je uwzględnić w żądaniu. Na przykład parametry zapytania dla określonej operacji lub dla wersji interfejsu API operacji, którą chcesz uruchomić.
Authentication Tak Typ uwierzytelniania używany do uwierzytelniania dostępu do zasobu docelowego lub jednostki

W konkretnym przykładzie załóżmy, że chcesz uruchomić operację migawki obiektu blob na obiekcie blob na koncie usługi Azure Storage, na którym wcześniej skonfigurowaliśmy dostęp dla tożsamości. Jednak łącznik usługi Azure Blob Storage nie oferuje obecnie tej operacji. Zamiast tego można uruchomić tę operację przy użyciu akcji HTTP lub innej operacji interfejsu API REST usługi Blob Service.

Ważne

Aby uzyskać dostęp do kont usługi Azure Storage za zaporami przy użyciu łącznika obiektów blob platformy Azure i tożsamości zarządzanych, upewnij się, że konto magazynu zostało również skonfigurowane z wyjątkiem umożliwiającym dostęp przez zaufane usługi firmy Microsoft.

Aby uruchomić operację migawki obiektu blob, akcja HTTP określa następujące właściwości:

Właściwości Wymagania Przykładowa wartość opis
Metoda Tak PUT Metoda HTTP używana przez operację migawki obiektu blob
Identyfikator URI Tak https://<storage-account-name>/<folder-name>/{name} Identyfikator zasobu dla pliku usługi Azure Blob Storage w środowisku globalnym (publicznym) platformy Azure, który używa tej składni
Nagłówki Dla usługi Azure Storage x-ms-blob-type = BlockBlob

x-ms-version = 2019-02-02

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

Wartości nagłówków x-ms-blob-type, x-ms-versioni i x-ms-date są wymagane dla operacji usługi Azure Storage.

Ważne: W wychodzących żądaniach wyzwalacza HTTP i akcji dla usługi Azure Storage nagłówek wymaga x-ms-version właściwości i wersji interfejsu API dla operacji, którą chcesz uruchomić. Musi x-ms-date być bieżącą datą. W przeciwnym razie przepływ pracy kończy się niepowodzeniem z powodu błędu 403 FORBIDDEN . Aby uzyskać bieżącą datę w wymaganym formacie, możesz użyć wyrażenia w przykładowej wartości.

Aby uzyskać więcej informacji, zobacz następującą dokumentację:

- Nagłówki żądań — migawka obiektu blob
- Przechowywanie wersji dla usług Azure Storage

Zapytania Tylko dla operacji migawki obiektu blob comp = snapshot Nazwa parametru zapytania i wartość operacji.

W poniższym przykładzie pokazano przykładową akcję HTTP ze wszystkimi wcześniej opisanymi wartościami właściwości do użycia dla operacji migawki obiektu blob:

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

  1. Po dodaniu akcji HTTP dodaj właściwość Authentication do akcji HTTP. Z listy Dodaj nowy parametr wybierz pozycję Uwierzytelnianie.

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

    Uwaga

    Nie wszystkie wyzwalacze i akcje obsługują dodawanie typu uwierzytelniania. Aby uzyskać więcej informacji, zobacz Typy uwierzytelniania dla wyzwalaczy i akcji obsługujących uwierzytelnianie.

  2. Z listy Typ uwierzytelniania wybierz pozycję Tożsamość zarządzana.

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

  3. Z listy tożsamości zarządzanej wybierz z dostępnych opcji na podstawie danego scenariusza.

    • Jeśli skonfigurujesz tożsamość przypisaną przez system, wybierz opcję Tożsamość zarządzana przypisana przez system, jeśli nie została jeszcze wybrana.

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

    • Jeśli skonfigurujesz tożsamość przypisaną przez użytkownika, wybierz tę tożsamość, jeśli nie została jeszcze wybrana.

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

    W tym przykładzie jest kontynuowana tożsamość zarządzana przypisana przez system.

  4. W przypadku niektórych wyzwalaczy i akcji właściwość Odbiorcy jest również wyświetlana, aby ustawić identyfikator zasobu docelowego. Ustaw właściwość Audience na identyfikator zasobu dla zasobu docelowego lub usługi. W przeciwnym razie właściwość Audience domyślnie używa identyfikatora https://management.azure.com/ zasobu, który jest identyfikatorem zasobu dla usługi Azure Resource Manager.

    Jeśli na przykład chcesz uwierzytelnić dostęp do zasobu usługi Key Vault w globalnej chmurze platformy Azure, musisz ustawić właściwość Audience na dokładnie następujący identyfikator zasobu: https://vault.azure.net. Ten konkretny identyfikator zasobu nie ma żadnych ukośników końcowych. W rzeczywistości dołączenie końcowego ukośnika może spowodować błąd 400 Bad Request lub 401 Unauthorized błąd.

    Ważne

    Upewnij się, że identyfikator zasobu docelowego dokładnie odpowiada wartości oczekiwanej przez identyfikator Entra firmy Microsoft, w tym wszelkich wymaganych ukośników końcowych. Na przykład identyfikator zasobu dla wszystkich kont usługi Azure Blob Storage wymaga końcowego ukośnika. Jednak identyfikator zasobu dla określonego konta magazynu nie wymaga końcowego ukośnika. Sprawdź identyfikatory zasobów dla usług platformy Azure, które obsługują identyfikator Entra firmy Microsoft.

    W tym przykładzie właściwość Audience ustawia wartość tak https://storage.azure.com/ , aby tokeny dostępu używane do uwierzytelniania były prawidłowe dla wszystkich kont magazynu. Można jednak również określić adres URL usługi głównej , https://<your-storage-account>.blob.core.windows.netdla określonego konta magazynu.

    Screenshot shows Consumption workflow, HTTP action, and Audience

    Aby uzyskać więcej informacji na temat autoryzowania dostępu za pomocą identyfikatora Entra firmy Microsoft dla usługi Azure Storage, zobacz następującą dokumentację:

  5. Kontynuuj tworzenie przepływu pracy w żądany sposób.

Przykład: Uwierzytelnianie wyzwalacza lub akcji łącznika zarządzanego przy użyciu tożsamości zarządzanej

Łącznik zarządzany usługi Azure Resource Manager ma akcję o nazwie Odczyt zasobu, która może używać tożsamości zarządzanej włączonej w zasobie aplikacji logiki. W tym przykładzie pokazano, jak używać tożsamości zarządzanej przypisanej przez system.

  1. Po dodaniu akcji do przepływu pracy i wybraniu dzierżawy usługi Microsoft Entra wybierz pozycję Połączenie z tożsamością zarządzaną.

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

  2. Na stronie nazwa połączenia podaj nazwę połączenia i wybierz tożsamość zarządzaną, której chcesz użyć.

    Akcja usługi Azure Resource Manager jest akcją pojedynczego uwierzytelniania, dlatego w polu Informacje o połączeniu jest wyświetlana lista tożsamości zarządzanej, która automatycznie wybiera tożsamość zarządzaną, która jest obecnie włączona w zasobie aplikacji logiki. Jeśli włączono tożsamość zarządzaną przypisaną przez system, na liście Tożsamość zarządzana zostanie wybrana tożsamość zarządzana przypisana przez system. Jeśli zamiast tego włączono tożsamość zarządzaną przypisaną przez użytkownika, lista wybiera tę tożsamość.

    Jeśli używasz wyzwalacza lub akcji z wieloma uwierzytelnianiem, takiego jak usługa Azure Blob Storage, w polu informacje o połączeniu zostanie wyświetlona lista Typów uwierzytelniania zawierająca opcję Tożsamość zarządzana usługi Logic Apps wśród innych typów uwierzytelniania.

    W tym przykładzie tożsamość zarządzana przypisana przez system jest jedynym dostępnym wyborem.

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

    Uwaga

    Jeśli tożsamość zarządzana nie jest włączona podczas próby utworzenia połączenia, zmień połączenie lub została usunięta, gdy nadal istnieje połączenie z włączoną tożsamością zarządzaną, pojawia się błąd, że musisz włączyć tożsamość i udzielić dostępu do zasobu docelowego.

  3. Gdy wszystko będzie gotowe, wybierz pozycję Utwórz.

  4. Po pomyślnym utworzeniu połączenia projektant może pobrać dowolne wartości dynamiczne, zawartość lub schemat przy użyciu uwierzytelniania tożsamości zarządzanej.

  5. Kontynuuj tworzenie przepływu pracy w żądany sposób.

Definicja zasobu aplikacji logiki i połączenia korzystające z tożsamości zarządzanej

Połączenie, które włącza tożsamość zarządzaną i używa jej, to specjalny typ połączenia, który działa tylko z tożsamością zarządzaną. W czasie wykonywania połączenie korzysta z tożsamości zarządzanej włączonej w zasobie aplikacji logiki. W czasie wykonywania usługa Azure Logic Apps sprawdza, czy dowolny wyzwalacz i akcje łącznika zarządzanego w przepływie pracy aplikacji logiki są skonfigurowane do korzystania z tożsamości zarządzanej oraz że wszystkie wymagane uprawnienia są skonfigurowane do używania tożsamości zarządzanej na potrzeby uzyskiwania dostępu do zasobów docelowych określonych przez wyzwalacz i akcje. W przypadku powodzenia usługa Azure Logic Apps pobiera token entra firmy Microsoft skojarzony z tożsamością zarządzaną i używa tej tożsamości do uwierzytelniania dostępu do zasobu docelowego i wykonywania skonfigurowanej operacji w wyzwalaczu i akcjach.

W zasobie aplikacji logiki Zużycie konfiguracja połączenia jest zapisywana w obiekcie definicji parameters zasobu aplikacji logiki, który zawiera $connections obiekty zawierające wskaźniki do identyfikatora zasobu połączenia wraz z identyfikatorem zasobu tożsamości, jeśli tożsamość przypisana przez użytkownika jest włączona.

W tym przykładzie pokazano, jak wygląda konfiguracja, gdy aplikacja logiki włącza tożsamość zarządzaną przypisaną przez system:

"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}"
         }
      }
   }
}

W tym przykładzie pokazano, jak wygląda konfiguracja, gdy aplikacja logiki włącza tożsamość zarządzaną przypisaną przez użytkownika:

"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}"
         }
      }
   }
}

Szablon usługi ARM dla połączeń interfejsu API i tożsamości zarządzanych

Jeśli używasz szablonu usługi ARM do automatyzacji wdrażania, a przepływ pracy zawiera połączenie interfejsu API, które jest tworzone przez łącznik zarządzany, taki jak Office 365 Outlook, Azure Key Vault i tak dalej, że używa tożsamości zarządzanej, musisz wykonać dodatkowy krok.

W szablonie usługi ARM podstawowa definicja zasobu łącznika różni się w zależności od tego, czy masz aplikację logiki Zużycie, czy Standardowa oraz czy łącznik zawiera opcje pojedynczego uwierzytelniania lub wielu uwierzytelniania.

Poniższe przykłady dotyczą zasobów aplikacji logiki Zużycie i pokazują, jak podstawowa definicja zasobu łącznika różni się między łącznikiem pojedynczego uwierzytelniania, takim jak usługa Azure Automation, i łącznik z wieloma uwierzytelnianiem, taki jak usługa Azure Blob Storage.

Jednouwierzytelnianie

W tym przykładzie przedstawiono podstawową definicję zasobu połączenia dla akcji usługi Azure Automation w aplikacji logiki Zużycie, która używa tożsamości zarządzanej, w której definicja zawiera atrybuty:

  • Właściwość jest ustawiona kind na V1 wartość dla aplikacji logiki Zużycie.
  • Właściwość parameterValueType ma ustawioną wartość 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"
    }
},

Uwierzytelnianie wieloskładnikowe

W tym przykładzie przedstawiono podstawową definicję zasobu połączenia dla akcji usługi Azure Blob Storage w aplikacji logiki Zużycie korzystającej z tożsamości zarządzanej, w której definicja zawiera następujące atrybuty:

  • Właściwość jest ustawiona kind na V1 wartość dla aplikacji logiki Zużycie.
  • Obiekt parameterValueSet zawiera właściwość ustawioną name na managedIdentityAuth i values właściwość ustawioną na pusty obiekt.
{
    "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"
    }
}

Konfigurowanie zaawansowanej kontroli nad uwierzytelnianiem połączenia interfejsu API

Gdy przepływ pracy używa połączenia interfejsu API, które jest tworzone przez łącznik zarządzany, taki jak Office 365 Outlook, Azure Key Vault itd., usługa Azure Logic Apps komunikuje się z zasobem docelowym, takim jak konto e-mail, magazyn kluczy itd., przy użyciu dwóch połączeń:

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

  • Połączenie ion #1 jest konfigurowany przy użyciu uwierzytelniania dla wewnętrznego magazynu tokenów.

  • Połączenie ion #2 jest skonfigurowany z uwierzytelnianiem dla zasobu docelowego.

W zasobie aplikacji logiki Zużycie połączenie #1 jest abstrahowane od Użytkownika bez żadnych opcji konfiguracji. W typie zasobu aplikacji logiki w warstwie Standardowa masz większą kontrolę nad aplikacją logiki. Domyślnie połączenie #1 jest automatycznie konfigurowane do korzystania z tożsamości przypisanej przez system.

Jeśli jednak twój scenariusz wymaga bardziej precyzyjnej kontroli nad uwierzytelnianiem połączeń interfejsu API, opcjonalnie możesz zmienić uwierzytelnianie dla połączenia #1 z domyślnej tożsamości przypisanej przez system do dowolnej tożsamości przypisanej przez użytkownika, która została dodana do aplikacji logiki. To uwierzytelnianie dotyczy każdego połączenia interfejsu API, dzięki czemu można mieszać tożsamości przypisane przez system i przypisane przez użytkownika między różnymi połączeniami z tym samym zasobem docelowym.

W pliku connections.json aplikacji logiki w warstwie Standardowa, który przechowuje informacje o każdym połączeniu interfejsu API, każda definicja połączenia ma dwie authentication sekcje, na przykład:

"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>"
}
  • authentication Pierwsza sekcja mapuje na połączenie nr 1. W tej sekcji opisano uwierzytelnianie używane do komunikowania się z wewnętrznym magazynem tokenów. W przeszłości ta sekcja była zawsze ustawiona na ManagedServiceIdentity wartość dla aplikacji wdrażanej na platformie Azure i nie miała konfigurowalnych opcji.

  • Druga authentication sekcja mapuje na połączenie nr 2. W tej sekcji opisano uwierzytelnianie używane do komunikowania się z zasobem docelowym może się różnić w zależności od typu uwierzytelniania wybranego dla tego połączenia.

Dlaczego warto zmienić uwierzytelnianie magazynu tokenów?

W niektórych scenariuszach można współużytkować i używać tego samego połączenia interfejsu API w wielu aplikacjach logiki, ale nie dodawać tożsamości przypisanej przez system dla każdej aplikacji logiki do zasad dostępu zasobu docelowego.

W innych scenariuszach możesz nie chcieć całkowicie skonfigurować tożsamości przypisanej przez system w aplikacji logiki, aby można było całkowicie zmienić uwierzytelnianie na tożsamość przypisaną przez użytkownika i całkowicie wyłączyć tożsamość przypisaną przez system.

Zmienianie uwierzytelniania magazynu tokenów

  1. W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.

  2. W menu zasobów w obszarze Przepływy pracy wybierz pozycję Połączenie ions.

  3. W okienku Połączenie ions wybierz pozycję Widok JSON.

    Screenshot showing the Azure portal, Standard logic app resource,

  4. W edytorze JSON znajdź sekcję managedApiConnections zawierającą połączenia interfejsu API we wszystkich przepływach pracy w zasobie aplikacji logiki.

  5. Znajdź połączenie, w którym chcesz dodać tożsamość zarządzaną przypisaną przez użytkownika. Załóżmy na przykład, że przepływ pracy ma połączenie usługi 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. W definicji połączenia wykonaj następujące kroki:

    1. Znajdź pierwszą authentication sekcję. Jeśli żadna właściwość nie identity istnieje już w tej authentication sekcji, aplikacja logiki niejawnie używa tożsamości przypisanej przez system.

    2. identity Dodaj właściwość przy użyciu przykładu w tym kroku.

    3. Ustaw wartość właściwości na identyfikator zasobu dla tożsamości przypisanej przez użytkownika.

    "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. W witrynie Azure Portal przejdź do zasobu docelowego i przyznaj dostęp do tożsamości zarządzanej przypisanej przez użytkownika na podstawie potrzeb zasobu docelowego.

    Na przykład w przypadku usługi Azure Key Vault dodaj tożsamość do zasad dostępu magazynu kluczy. W przypadku usługi Azure Blob Storage przypisz niezbędną rolę dla tożsamości na koncie magazynu.

Wyłączanie tożsamości zarządzanej

Aby przestać używać tożsamości zarządzanej do uwierzytelniania, najpierw usuń dostęp tożsamości do zasobu docelowego. Następnie w zasobie aplikacji logiki wyłącz tożsamość przypisaną przez system lub usuń tożsamość przypisaną przez użytkownika.

Po wyłączeniu tożsamości zarządzanej w zasobie aplikacji logiki usuniesz możliwość żądania dostępu do zasobów platformy Azure, do których tożsamość miała dostęp.

Uwaga

Jeśli wyłączysz tożsamość przypisaną przez system, wszystkie połączenia używane przez przepływy pracy w przepływie pracy tej aplikacji logiki nie będą działać w czasie wykonywania, nawet jeśli tożsamość zostanie natychmiast włączona. Dzieje się tak, ponieważ wyłączenie tożsamości powoduje usunięcie identyfikatora obiektu. Za każdym razem, gdy włączysz tożsamość, platforma Azure generuje tożsamość z innym i unikatowym identyfikatorem obiektu. Aby rozwiązać ten problem, należy ponownie utworzyć połączenia, aby używały bieżącego identyfikatora obiektu dla bieżącej tożsamości przypisanej przez system.

Spróbuj uniknąć jak największego wyłączenia tożsamości przypisanej przez system. Jeśli chcesz usunąć dostęp tożsamości do zasobów platformy Azure, usuń przypisanie roli tożsamości z zasobu docelowego. Jeśli usuniesz zasób aplikacji logiki, platforma Azure automatycznie usunie tożsamość zarządzaną z identyfikatora Entra firmy Microsoft.

Kroki opisane w tej sekcji dotyczą witryny Azure Portal i szablonu usługi Azure Resource Manager (szablonu usługi ARM). W przypadku programu Azure PowerShell, interfejsu wiersza polecenia platformy Azure i interfejsu API REST platformy Azure zapoznaj się z następującą dokumentacją:

Narzędzie Dokumentacja
Azure PowerShell 1. Usuń przypisanie roli.
2. Usuń tożsamość przypisaną przez użytkownika.
Interfejs wiersza polecenia platformy Azure 1. Usuń przypisanie roli.
2. Usuń tożsamość przypisaną przez użytkownika.
Interfejs API REST platformy Azure 1. Usuń przypisanie roli.
2. Usuń tożsamość przypisaną przez użytkownika.

Wyłączanie tożsamości zarządzanej w witrynie Azure Portal

Aby usunąć dostęp dla tożsamości zarządzanej, usuń przypisanie roli tożsamości z zasobu docelowego, a następnie wyłącz tożsamość zarządzaną.

Usuwanie przypisania roli

Następujące kroki powodują usunięcie dostępu do zasobu docelowego z tożsamości zarządzanej:

  1. W witrynie Azure Portal przejdź do docelowego zasobu platformy Azure, w którym chcesz usunąć dostęp dla tożsamości zarządzanej.

  2. Z menu zasobu docelowego wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami). Na pasku narzędzi wybierz pozycję Przypisania ról.

  3. Na liście ról wybierz tożsamości zarządzane, które chcesz usunąć. Na pasku narzędzi wybierz pozycję Usuń.

    Napiwek

    Jeśli opcja Usuń jest wyłączona, najprawdopodobniej nie masz uprawnień. Aby uzyskać więcej informacji na temat uprawnień umożliwiających zarządzanie rolami dla zasobów, zobacz Administracja istrator role permissions in Microsoft Entra ID (Uprawnienia roli Administracja istratora w identyfikatorze Entra firmy Microsoft).

Wyłączanie tożsamości zarządzanej w zasobie aplikacji logiki

  1. W witrynie Azure Portal otwórz zasób aplikacji logiki.

  2. W menu nawigacji aplikacji logiki w obszarze Ustawienia wybierz pozycję Tożsamość, a następnie wykonaj kroki dotyczące tożsamości:

    • Wybierz pozycję System przypisany>przy>zapisywaniu. Gdy platforma Azure wyświetli monit o potwierdzenie, wybierz pozycję Tak.

    • Wybierz pozycję Przypisane przez użytkownika i tożsamość zarządzaną, a następnie wybierz pozycję Usuń. Gdy platforma Azure wyświetli monit o potwierdzenie, wybierz pozycję Tak.

Wyłączanie tożsamości zarządzanej w szablonie usługi ARM

Jeśli tożsamość zarządzana aplikacji logiki została utworzona przy użyciu szablonu usługi ARM, ustaw identity właściwość podrzędną type obiektu na None.

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

Następne kroki