Udostępnij przez


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 chcesz uniknąć udostępniania, przechowywania poświadczeń, wpisów tajnych lub tokenów usługi Microsoft Entra oraz zarządzania nimi, możesz użyć tożsamości zarządzanej do uwierzytelniania dostępu lub połączeń z przepływu pracy aplikacji logiki do chronionych zasobów firmy Microsoft Entra. W usłudze Azure Logic Apps niektóre operacje łącznika obsługują używanie tożsamości zarządzanej, gdy należy uwierzytelnić dostęp do zasobów chronionych przez Microsoft Entra ID. Platforma Azure zarządza tą tożsamością i pomaga zapewnić bezpieczeństwo informacji uwierzytelniania, aby nie trzeba było zarządzać tymi poufnymi informacjami. Aby uzyskać więcej informacji, zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure?

Usługa Azure Logic Apps obsługuje następujące typy tożsamości zarządzanych:

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 korzystać z tej samej tożsamości przypisanej przez użytkownika w grupie innych zasobów aplikacji logicznych.

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

  • Włącz i skonfiguruj tożsamość 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ć tę tożsamość przy użyciu witryny Azure Portal lub 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 REST API Azure Tworzenie tożsamości przypisanej przez użytkownika

Wymagania wstępne

Różnice tożsamości zarządzanej między aplikacjami logicznymi Konsumpcyjnymi a Standardowymi

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 — Możesz włączyć albo tożsamość przypisaną przez system, albo tożsamość przypisaną przez użytkownika, ale nie obie w swojej aplikacji logicznej.

— Zarządzanej tożsamości można używać na poziomie zasobu aplikacji logiki i na poziomie połączenia.

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

- App Service Environment v3 (ASEv3)
— 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. Do aplikacji logiki można również dodać wiele tożsamości przypisanych przez użytkownika. Jednak aplikacja logiki może używać tylko jednej tożsamości zarządzanej jednocześnie.

— Zarządzanej tożsamości można używać na poziomie zasobu aplikacji logiki i na poziomie połączenia.

Uwaga: w przypadku wdrożenia hybrydowego uwierzytelnianie tożsamości zarządzanej jest obecnie nieobsługiwane. Zamiast tego należy utworzyć i użyć rejestracji aplikacji. Aby uzyskać więcej informacji, zobacz Tworzenie standardowych przepływów pracy aplikacji logiki na potrzeby wdrożenia hybrydowego we własnej infrastrukturze.

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 na temat typów zasobów i środowisk aplikacji logiki Consumption i Standard, zobacz Resource environment differences (Różnice w środowisku zasobów).

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 następującą dokumentację:

W przypadku przepływu pracy aplikacji logiki typu Consumption w poniższej tabeli wymieniono przykładowe connectory obsługujące uwierzytelnianie tożsamości zarządzanej:

Typ łącznika Obsługiwane łączniki
Wbudowana — Azure API Management
- Usługi aplikacyjne Azure
— 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. Jednak operacje HTTP nie obsługują tożsamości przypisanej przez użytkownika do uwierzytelniania tych samych połączeń.
Zarządzana - Azure App Service
— Azure Automation
— Azure Blob Storage
Wystąpienie kontenera 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
-Dzienniki usługi Azure Monitor
— Kolejki platformy Azure
— Azure Resource Manager
— Azure Service Bus
— Azure Sentinel
— Azure Table Storage
Azure – maszyna wirtualna
- SQL Server

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

W zasobie aplikacji logiki konsumpcji należy ręcznie włączyć tożsamość przypisaną przez system.

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

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

  3. Na stronie Tożsamość, w obszarze System przypisany, wybierz pozycję Włączony>i Zapisz. Gdy platforma Azure wyświetli monit o potwierdzenie, wybierz pozycję Tak.

    Zrzut ekranu przedstawiający witrynę Azure portal, aplikację logiki zużycia, stronę tożsamości i kartę przypisaną przez system z wybranymi opcjami Włączone i Zapisz.

    Uwaga

    Jeśli otrzymasz błąd, że możesz mieć tylko jedną tożsamość zarządzaną, oznacza to, że zasób aplikacji logiki jest już powiązany z przypisaną przez użytkownika tożsamością. 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.

    Zrzut ekranu przedstawia aplikację logiczną Zużycie, stronę Tożsamość oraz identyfikator obiektu dla tożsamości przypisanej przez system.

    Własność Wartość Opis
    Identyfikator obiektu (głównego) < identity-resource-ID> Unikatowy identyfikator globalny (GUID), który reprezentuje tożsamość przydzieloną przez system dla aplikacji logicznej w dzierżawie Microsoft Entra.
  4. Teraz wykonaj kroki, które zapewniają dostęp tożsamości przypisanej przez system do zasobu w dalszej części tego przewodnika.

Włącz tożsamość przypisaną przez system w szablonie 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 obiekt tożsamości i właściwość podrzędną typu 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, obiekt tożsamości pobiera następujące inne właściwości:

"identity": {
   "type": "SystemAssigned",
   "principalId": "<principal-ID>",
   "tenantId": "<Entra-tenant-ID>"
}
Właściwość (JSON) Wartość Opis
principalId < identyfikator podmiotu> Globalnie unikatowy identyfikator (GUID) głównego obiektu usługi dla zarządzanej tożsamości, która reprezentuje aplikację logiczną w dzierżawie Microsoft Entra. Ten identyfikator GUID czasami jest wyświetlany jako "identyfikator obiektu" lub objectID.
tenantId < Microsoft-Entra-ID-tenant-ID-ID> Globalnie unikatowy identyfikator (GUID), który reprezentuje dzierżawę firmy Microsoft Entra, w której aplikacja logiczna 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 w zasobie aplikacji logiki zużycia lub w standardowym zasobie aplikacji logiki, musisz utworzyć tę tożsamość jako oddzielny zasób platformy Azure.

  1. W polu wyszukiwania witryny Azure Portal wprowadź tożsamości zarządzane. Z listy wyników wybierz pozycję Tożsamości zarządzane.

    Zrzut ekranu przedstawiający witrynę Azure Portal z wybraną opcją o nazwie Tożsamości zarządzane.

  2. Na pasku narzędzi tożsamości zarządzanych wybierz pozycję Utwórz.

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

    Zrzut ekranu przedstawiający stronę o nazwie Create User Assigned Managed Identity (Tworzenie tożsamości zarządzanej przypisanej przez użytkownika) ze szczegółami tożsamości zarządzanej.

    Własność Wymagane Wartość Opis
    Subskrypcja Tak < Nazwa subskrypcji platformy Azure> Nazwa subskrypcji platformy Azure
    Grupa zasobów: Tak < nazwa-grupy-zasobów platformy Azure> 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 < nazwa przypisanej przez użytkownika tożsamości> Nazwa do nadania tożsamości przypisanej użytkownikowi. W tym przykładzie użyto Fabrikam-user-assigned-identity.

    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.

Dodaj tożsamość przypisaną przez użytkownika do aplikacji logiki w portalu Azure

  1. W portalu Azure otwórz zasób aplikacji logiki Consumption.

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

  3. Na stronie Tożsamość wybierz pozycję Przypisany użytkownik, a następnie wybierz pozycję Dodaj.

    Zrzut ekranu przedstawia aplikację logiczną Consumption i stronę Tożsamość z wybraną opcją Dodaj.

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

    1. Z listy Wybierz subskrypcję wybierz subskrypcję platformy Azure.

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

      Zrzut ekranu przedstawiający aplikację logiki Zużycie i wybraną tożsamość przypisaną przez użytkownika.

    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 logiczna została 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ą przypisaną przez użytkownika.

    Zrzut ekranu przedstawiający aplikację logiczną Consumption ze skojarzoną tożsamością przypisaną przez użytkownika.

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

Tworzenie tożsamości przypisanej użytkownika w szablonie 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 zasobów szablonu definicja zasobów aplikacji logiki wymaga następujących elementów:

  • Obiekt tożsamości z właściwością type ustawioną na UserAssigned

  • Podrzędny obiekt userAssignedIdentities określający zasób i nazwę przypisaną przez użytkownika

W tym przykładzie przedstawiono definicję zasobu aplikacji logicznej typu Consumption oraz definicję przepływu pracy dla żądania HTTP PUT z nieparametryzowanym obiektem tożsamości. Odpowiedź na żądanie PUT i kolejna operacja GET obejmuje również ten obiekt tożsamości :

{
   "$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ć obiekt tożsamości . W poniższym przykładzie pokazano, jak obiekt userAssignedIdentities odwołuje się do zmiennej userAssignedIdentityName zdefiniowanej w sekcji zmiennych szablonu. Ta zmienna odwołuje się do identyfikatora zasobu przypisanego przez użytkownika dla jego tożsamości.

{
   "$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 dostępu do zasobów na podstawie tożsamości

Aby móc użyć tożsamości zarządzanej aplikacji logiki do celów uwierzytelniania, musisz skonfigurować dostęp dla tej tożsamości w docelowym zasobie platformy Azure, w którym zamierzasz z niej skorzystać. Sposób konfigurowania dostępu zależy od zasobu docelowego.

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, nawet jeśli istnieje dostęp do zasobu docelowego.

Aby obsłużyć to zachowanie, należy udzielić tożsamości dostępu zarówno do grupy zasobów, jak i do samego 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 logicznej, która wymaga dostępu do aktualizowania ustawień dla tej samej aplikacji logicznej z przepływu pracy. Musisz przyznać tej tożsamości dostęp do skojarzonej aplikacji logiki.

Aby na przykład użyć tożsamości zarządzanej do uwierzytelniania dostępu do konta usługi Blob Storage lub magazynu kluczy na platformie Azure, należy odpowiednio skonfigurować kontrolę dostępu opartą na rolach platformy Azure (Azure RBAC) i przypisać odpowiednią rolę dla tej tożsamości do konta magazynu lub magazynu kluczy.

W krokach w tej sekcji opisano sposób przypisywania dostępu opartego na rolach przy użyciu 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 Dodaj przypisanie roli
Interfejs wiersza polecenia platformy Azure Dodaj przypisanie roli
Interfejs REST API Azure Dodaj przypisanie roli

W przypadku usługi Azure Key Vault możesz również utworzyć zasady dostępu dla tożsamości zarządzanej 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 do tożsamości zarządzanej przy użyciu witryny 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, obsługują wiele opcji. Możesz wybrać dostęp oparty na rolach lub zasady dostępu, które mają odpowiednie uprawnienia do zasobu docelowego dla tej tożsamości.

  1. W portalu Azure 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. 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 obiektów blob usługi Azure 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 ról kontenerów magazynowych, które mogą uzyskiwać dostęp do blobów, zobacz Role, które mogą uzyskać 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 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 Członek
    Przypisana przez system Aplikacja logiki < Nazwa subskrypcji platformy Azure> < Twoja nazwa aplikacji logiki>
    Przypisana przez użytkownika Nie dotyczy < Nazwa subskrypcji platformy Azure> < nazwa tożsamości przypisanej użytkownikowi>

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

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

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

Tworzenie zasad dostępu przy użyciu witryny Azure Portal

Aby użyć tożsamości zarządzanej do uwierzytelniania, inne zasoby platformy Azure obsługują również lub 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 docelowy zasób platformy Azure jest używany magazyn kluczy.

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

    Uwaga

    Jeśli zasób nie ma opcji polityki dostępu, spróbuj zamiast tego przypisać rolę.

    Zrzut ekranu przedstawia przykład witryny Azure Portal i magazynu kluczy z otwartym okienkiem o nazwie Zasady dostępu.

  3. Na karcie Uprawnienia wybierz wymagane uprawnienia, które są potrzebne tożsamości do uzyskania dostępu do zasobu docelowego.

    Aby na przykład użyć tożsamości z operacją List secrets zarządzanego łącznika Azure Key Vault, tożsamość musi mieć uprawnienia listy. W kolumnie Uprawnienia tajne wybierz Listę.

    Zrzut ekranu przedstawia kartę Uprawnienia z zaznaczonymi uprawnieniami do listy.

  4. Gdy wszystko będzie gotowe, wybierz pozycję Dalej. Na karcie Principal 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 pokazano, jak używać tożsamości zarządzanej z wyzwalaczem lub akcją w celu uwierzytelnienia dostępu. W przykładzie przedstawione są kroki z wcześniejszej sekcji, gdzie skonfigurowano dostęp do tożsamości zarządzanej przy użyciu kontroli dostępu opartej na rolach oraz konta usługi Azure Storage jako przykład. 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 docelowego zasobu lub usługi platformy Azure 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 poniższych krokach pokazano, jak używać tożsamości zarządzanej z wyzwalaczem lub akcją przy użyciu 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 Zużycie.

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

    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 działania łącznika obsługujące uwierzytelnianie tożsamości zarządzanej

      Te kroki są kontynuowane, używając akcji HTTP jako przykładu.

      1. Z listy Parametry zaawansowane dodaj właściwość Uwierzytelnianie, jeśli właściwość nie jest jeszcze dostępna.

        Zrzut ekranu przedstawiający przepływ pracy Konsumpcja z wbudowaną akcją i otwartą listą o nazwie Parametry zaawansowane z wybraną opcją Uwierzytelniania.

        Teraz zarówno właściwość Authentication , jak i lista Typ uwierzytelniania są wyświetlane w akcji.

        Zrzut ekranu przedstawiający sekcję zaawansowanych parametrów z dodaną właściwością uwierzytelniania i listą Typów uwierzytelniania.

      2. Z listy Typ uwierzytelniania wybierz pozycję Zarządzana tożsamość.

        Zrzut ekranu przedstawiający przepływ pracy Zużycie z wbudowaną akcją, otwartą listą Typ uwierzytelniania i wybraną opcją tożsamości zarządzanej.

        Sekcja Uwierzytelnianie zawiera teraz następujące opcje:

        • Lista Tożsamości Zarządzanych, z której można wybrać określoną tożsamość zarządzaną

        • Właściwość Odbiorcy jest wyświetlana na określonych wyzwalaczach i akcjach, aby można było ustawić identyfikator zasobu dla zasobu docelowego lub usługi platformy Azure. W przeciwnym razie właściwość Audience domyślnie używa identyfikatora zasobu , który jest identyfikatorem zasobu dla Azure Resource Manager.

      3. Z listy tożsamości zarządzanej wybierz tożsamość, której chcesz użyć, na przykład:

        Zrzut ekranu przedstawiający sekcję Uwierzytelnianie z listą Typów uwierzytelniania i właściwością Odbiorców.

        Uwaga

        Wybrana opcja domyślna to tożsamość zarządzana przypisana przez system, nawet jeśli nie masz włączonej żadnej tożsamości zarządzanej.

        Aby pomyślnie użyć tożsamości zarządzanej, musisz najpierw włączyć tę tożsamość w aplikacji Logic Apps. W aplikacji logiki Zużycie można mieć tożsamość zarządzaną przypisaną przez system lub tożsamość przypisaną przez użytkownika, ale nie obie.

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

    • Operacje zarządzanych łączników obsługujące uwierzytelnianie przy użyciu tożsamości zarządzanej

      1. W okienku Tworzenie połączenia, z listy Uwierzytelnianie, wybierz Tożsamość zarządzana, na przykład:

        Zrzut ekranu przedstawia przepływ pracy dotyczący Zużycia z akcją Azure Resource Manager i wybraną opcją dla tożsamości zarządzanej.

      2. W następnym okienku w polu Nazwa połączenia 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, który jest tożsamością zarządzaną w tym przypadku.

          1. Z listy Tożsamość zarządzana wybierz obecnie włączoną tożsamość zarządzaną.

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

        • Uwierzytelnianie wieloskładnikowe: te łączniki obsługują wiele typów uwierzytelniania, ale można wybrać i użyć tylko jednego typu jednocześnie.

          Te kroki są kontynuowane przy użyciu akcji usługi Azure Blob Storage jako przykładu.

          1. Z listy Typ uwierzytelniania wybierz opcję Zarządzana tożsamość Logic Apps.

            Zrzut ekranu przedstawia przepływ pracy dotyczący zużycia, okno tworzenia połączenia oraz wybraną opcję dla tożsamości zarządzanej usługi Logic Apps.

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

        Aby uzyskać więcej informacji, zobacz Przykład: Uwierzytelnianie wyzwalacza lub akcji zarządzanego łącznika za pomocą 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łasność Wymagane 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 docelowego 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. Jakiekolwiek parametry zapytania, które są potrzebne lub które chcesz 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 docelowego zasobu lub usługi platformy Azure

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

Ważne

Aby uzyskać dostęp do kont usługi Azure Storage za zaporami przy użyciu łącznika usługi Azure Blob Storage i tożsamości zarządzanych, upewnij się, że skonfigurujesz również konto magazynu z wyjątkiem umożliwiającym dostęp do zaufanych usług firmy Microsoft.

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

Własność Wymagane Przykładowa wartość Opis
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
Metoda Tak PUT Metoda HTTP używana przez operację migawki obiektu blob
Nagłówki Dla usługi Azure Storage x-ms-blob-type = BlockBlob

x-ms-version = 2024-05-05

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 żądaniach wyzwalacza HTTP i akcji wychodzących dla usługi Azure Storage nagłówek wymaga parametru x-ms-version oraz wersji interfejsu API dla operacji, którą zamierzasz 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
- Wersjonowanie dla usług Azure Storage
Zapytania Tylko dla operacji migawki obiektu blob comp = snapshot Nazwa parametru zapytania i wartość operacji.
  1. W projektancie przepływu pracy dodaj dowolny wyzwalacz, a następnie dodaj akcję HTTP .

    W następującym przykładzie pokazano przykład działania HTTP ze wszystkimi wcześniej opisanymi wartościami właściwości do użycia w operacji tworzenia migawki obiektu blob.

    Zrzut ekranu przedstawiający portal Azure, przepływ pracy dotyczący użycia i akcję HTTP skonfigurowaną w celu uzyskania dostępu do zasobów.

  2. W akcji HTTP dodaj właściwość Authentication. Z listy Parametry zaawansowane wybierz pozycję Uwierzytelnianie.

    Zrzut ekranu przedstawia przepływ pracy Zużycie z akcją HTTP oraz otwartą listą parametrów zaawansowanych z wybraną właściwością o nazwie Uwierzytelnianie.

    Sekcja Uwierzytelnianie jest teraz wyświetlana w akcji HTTP .

    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.

  3. Z listy Typ uwierzytelniania wybierz pozycję Zarządzana tożsamość.

    Zrzut ekranu przedstawia przepływ pracy dotyczący zużycia, akcję HTTP oraz właściwość Typ uwierzytelniania z wybraną opcją tożsamości zarządzanej.

  4. Z listy Tożsamości Zarządzanej wybierz odpowiednią opcję na podstawie danego scenariusza.

    • Jeśli skonfigurujesz tożsamość przypisaną przez system, wybierz pozycję Tożsamość zarządzana przypisana przez system.

      Zrzut ekranu przedstawiający przepływ pracy użycia, akcję HTTP i właściwość tożsamości zarządzanej z wybraną opcją dla tożsamości zarządzanej przypisanej przez system.

    • Jeśli skonfigurujesz tożsamość przypisaną przez użytkownika, wybierz tę tożsamość.

      Zrzut ekranu przedstawia przepływ pracy zużycia, akcję HTTP oraz właściwość Tożsamości zarządzanej z wybraną tożsamością przypisaną przez użytkownika.

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

  5. W niektórych wyzwalaczach i akcjach zostanie wyświetlona właściwość Odbiorcy, aby można było ustawić identyfikator zasobu dla docelowego zasobu lub usługi platformy Azure.

    Na przykład aby uwierzytelnić dostęp do zasobu usługi Key Vault w globalnej chmurze platformy Azure, należy ustawić właściwość Audience na dokładnie następujący identyfikator zasobu: https://vault.azure.net

    Jeśli nie ustawisz właściwości Audience, domyślnie właściwość Audience używa https://management.azure.com/ identyfikatora zasobu, który jest identyfikatorem zasobu dla Azure Resource Manager.

    Ważne

    Upewnij się, że identyfikator zasobu docelowego dokładnie odpowiada wartości oczekiwanej przez identyfikator Entra firmy Microsoft. W przeciwnym razie może wystąpić błąd 400 Bad Request lub błąd 401 Unauthorized. Jeśli więc identyfikator zasobu zawiera jakiekolwiek ukośniki końcowe, pamiętaj, aby je uwzględnić. W przeciwnym razie nie uwzględnij ich.

    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 magazynowego 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 jest ustawiana na wartość https://storage.azure.com/, tak 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.net dla określonego konta magazynowego.

    Zrzut ekranu przedstawia przepływ pracy Zużycie i akcję HTTP z właściwością Odbiorcy ustawioną na identyfikator zasobu docelowego.

    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ę:

  6. 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 Azure Resource Manager ma akcja o nazwie Odczyt zasobu, która może używać tożsamości zarządzanej, którą włączasz na Twoim zasobie aplikacji logiki. W tym przykładzie pokazano, jak używać tożsamości zarządzanej przypisanej przez system z łącznikiem zarządzanym.

  1. W projektancie przepływu pracy dodaj akcję usługi Azure Resource Manager o nazwie Odczyt zasobu.

  2. W okienku Tworzenie połączenia z listy Uwierzytelnianie wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję Zaloguj.

    Uwaga

    W innych łącznikach lista Typ uwierzytelniania wyświetla zamiast tego tożsamość zarządzaną usługi Logic Apps, więc wybierz tę opcję.

    Zrzut ekranu przedstawiający przepływ pracy Zużycie, akcję usługi Azure Resource Manager, otwartą listę uwierzytelniania i wybraną opcję tożsamości zarządzanej.

  3. Podaj nazwę połączenia i wybierz tożsamość zarządzaną, której chcesz użyć.

    Jeśli włączono tożsamość przypisaną przez system, lista Tożsamości zarządzanej automatycznie wybiera tożsamość zarządzaną przypisaną przez system. Jeśli zamiast tego włączono tożsamość przypisaną przez użytkownika, lista automatycznie wybiera tożsamość przypisaną przez użytkownika.

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

    Zrzut ekranu przedstawia przepływ pracy dotyczący Zużycia oraz akcję Azure Resource Manager z wprowadzoną nazwą połączenia i wybraną opcją tożsamości zarządzanej przydzielonej przez system.

    Uwaga

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

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

  5. 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.

  6. 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ą. Podczas uruchamiania, połączenie korzysta z tożsamości zarządzanej, która jest włączona w zasobie Logic App. Usługa Azure Logic Apps sprawdza, czy jakiekolwiek operacje łącznika zarządzanego w przepływie pracy są skonfigurowane do korzystania z tożsamości zarządzanej i czy istnieją wszystkie wymagane uprawnienia do uzyskiwania dostępu do zasobów docelowych określonych przez operacje łącznika. Jeśli to sprawdzenie powiedzie się, usługa Azure Logic Apps pobiera token firmy Microsoft Entra skojarzony z tożsamością zarządzaną, używa tej tożsamości do uwierzytelniania dostępu do docelowego zasobu platformy Azure i wykonuje skonfigurowane operacje w przepływie pracy.

W zasobie aplikacji logiki typu Consumption konfiguracja połączenia jest zapisywana w obiekcie definicji zasobu parameters, który zawiera obiekt $connections z wskaźnikami do identyfikatora zasobu połączenia oraz do identyfikatora zasobu zarządzanej tożsamości, gdy włączona jest tożsamość przypisana przez użytkownika.

W tym przykładzie pokazano konfigurację parameters obiektu, gdy aplikacja logiki włącza tożsamość przypisaną przez system:

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

W tym przykładzie pokazano konfigurację parameters obiektu, 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/<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>"
         }
      }
   }
}

Szablon ARM dla łącza API i tożsamości zarządzanych

Jeśli używasz szablonu ARM do automatyzacji wdrażania, a przepływ pracy zawiera połączenie API, które jest tworzone przez łącznik zarządzany korzystający z tożsamości zarządzanej, musisz podjąć dodatkowy krok.

W szablonie ARM podstawowa definicja zasobu łącznika różni się w zależności od tego, czy korzystasz z zasobu aplikacji logicznej typu Consumption czy Standard oraz czy łącznik oferuje opcje uwierzytelniania pojedynczego lub wielokrotnego.

Poniższe przykłady dotyczą zasobów aplikacji logiki Consumption i pokazują, jak podstawowa definicja zasobu łącznika różni się między łącznikiem pojedynczego uwierzytelniania a łącznikiem z wieloma możliwościami uwierzytelniania.

Jednouwierzytelnianie

W tym przykładzie przedstawiono podstawową definicję zasobu połączenia dla akcji łącznika, która obsługuje tylko jeden typ uwierzytelniania i używa tożsamości zarządzanej w przepływie pracy aplikacji logicznej w planie Consumption, w którym definicja zawiera następujące atrybuty:

  • Właściwość kind jest ustawiona na V1 dla aplikacji logiki typu Zużycie.

  • Właściwość parameterValueType ma ustawioną wartość Alternative.

{
    "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'), '<connector-name>')]"
        },
        "authenticatedUser": {},
        "connectionState": "Enabled",
        "customParameterValues": {},
        "displayName": "[variables('connections_<connector-name>_name')]",
        "parameterValueSet": {},
        "parameterValueType": "Alternative"
    }
},

Uwierzytelnianie wielokrotne

W tym przykładzie przedstawiono podstawową definicję zasobu połączenia dla akcji łącznika, która obsługuje wiele typów uwierzytelniania i używa tożsamości zarządzanej w przepływie pracy aplikacji logiki Zużycie, gdzie definicja zawiera następujące atrybuty:

  • Właściwość kind jest ustawiona na V1 dla aplikacji logiki typu Zużycie.

  • Obiekt parameterValueSet zawiera właściwość name, która jest ustawiona do managedIdentityAuth, oraz właściwość values, która jest ustawiona do pustego obiektu.

{
    "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'), '<connector-name>')]"
        },
        "authenticatedUser": {},
        "connectionState": "Enabled",
        "customParameterValues": {},
        "displayName": "[variables('connections_<connector-name>_name')]",
        "parameterValueSet": {
            "name": "managedIdentityAuth",
            "values": {}
        }
    }
}

Konfigurowanie zaawansowanej kontroli nad uwierzytelnianiem połączenia interfejsu API

Gdy przepływ pracy aplikacji Logic Apps warstwy Standardowej używa połączenia API utworzonego przez zarządzany łącznik, usługa Azure Logic Apps komunikuje się z zasobem docelowym, takim jak: konto e-mail, magazyn kluczy itd., używając dwóch takich połączeń.

Diagram koncepcyjny przedstawia pierwsze połączenie z uwierzytelnianiem między aplikacją logiki a magazynem tokenów oraz drugim połączeniem między magazynem tokenów a zasobem docelowym.

  • Połączenie nr 1 zostało skonfigurowane przy użyciu uwierzytelniania dla wewnętrznego magazynu tokenów.

  • Połączenie nr 2 jest skonfigurowane z uwierzytelnianiem dla zasobu docelowego.

Jednak gdy przepływ pracy aplikacji logiki w modelu zużycia używa połączenia API, połączenie #1 jest ukryte przed użytkownikiem i nie ma żadnych opcji konfiguracji. Standardowy zasób aplikacji logicznej daje większą kontrolę nad aplikacją logiczną i przepływami pracy. Domyślnie połączenie #1 jest automatycznie konfigurowane do korzystania z tożsamości przypisanej przez system.

Jeśli 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 dodanej 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 Logic Apps w warstwie Standard, 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/<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>"
}
  • Pierwsza sekcja odpowiada połączeniu 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 wartość ManagedServiceIdentity dla aplikacji, które były wdrażane na platformie Azure i które nie miały konfigurowalnych opcji.

  • Druga authentication sekcja odpowiada połączeniu numer 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 zmienić uwierzytelnianie dla magazynu tokenów?

W niektórych scenariuszach można współużytkować i używać tego samego połączenia interfejsu API w wielu zasobach aplikacji logiki, ale nie dodawać tożsamości przypisanej przez system dla każdego zasobu 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.

Zmień uwierzytelnianie dla magazynu tokenów

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

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

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

    Zrzut ekranu przedstawiający portal usługi Azure, zasób standardowej aplikacji logiki, okienko Połączenia z wybranym widokiem JSON.

  4. W edytorze JSON, znajdź sekcję managedApiConnections, która zawiera połączenia 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.

    Na przykład, załóżmy, że proces roboczy pracuje z połączeniem usługi 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>"
    }
    
  6. W definicji połączenia wykonaj następujące kroki:

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

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

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

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

    Na przykład, w przypadku usługi Azure Key Vault, dodaj tożsamość do polityk dostępu Key Vault. W przypadku usługi Azure Blob Storage przypisz odpowiednią rolę tożsamości w koncie magazynowym.

Wyłącz tożsamość zarządzaną

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 tej aplikacji logiki nie będą działać podczas wykonywania, nawet jeśli zaraz potem ponownie włączysz tożsamość. 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 unikać jak najczęściej wyłączania 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ą portalu Azure i szablonu 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 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 REST API Azure 1. Usuń przypisanie roli.
2. Usuń tożsamość przypisaną przez użytkownika.

Aby uzyskać więcej informacji, zobacz Usuwanie przypisań ról platformy Azure.

Wyłącz tożsamość zarządzaną w portalu Azure

Aby usunąć dostęp do tożsamości zarządzanej, najpierw usuń przypisanie roli tej 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 Uprawnienia roli administratora w identyfikatorze Entra firmy Microsoft.

Wyłącz tożsamość zarządzaną w zasobie logiki aplikacji

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

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

    • Wybierz System przypisany>Wyłączony>Zapisz. Gdy platforma Azure wyświetli monit o potwierdzenie, wybierz pozycję Tak.

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

Wyłącz tożsamość zarządzaną w szablonie ARM

Tożsamość zarządzana aplikacji Logic Apps, utworzona przy użyciu szablonu ARM, wymaga ustawienia właściwości podrzędnej identity obiektu na type.

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