Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Azure Logic Apps (Consumption + Standard)
Настройте управляемое удостоверение , если требуется пройти проверку подлинности подключений из рабочих процессов приложения логики к ресурсам Azure, защищенным Microsoft Entra. Данное удостоверение дает доступ к защищенным ресурсам от имени логического приложения и устраняет необходимость хранения учетных данных, секретов или маркеров доступа. Из-за этого рекомендуется использование управляемого удостоверения для аутентификации. Azure управляет этим удостоверением, чтобы обеспечить безопасность данных проверки подлинности.
В Azure Logic Apps многие соединители поддерживают оба типа управляемых удостоверений:
- Назначаемое системой удостоверение
- Назначенное пользователем удостоверение
В этом руководстве показано, как выполнить следующие задачи:
- Настройте систему управления идентификацией для ресурса логического приложения.
- Создайте и настройте пользовательскую назначаемую идентичность в ресурсе логического приложения.
В этом руководстве приведены шаги для портала Azure и шаблона Azure Resource Manager (шаблон ARM). Сведения о Azure PowerShell, Azure CLI и REST API Azure см. в статье:
| Инструмент | Документация |
|---|---|
| Azure PowerShell |
-
Назначаемое системой - Назначенное пользователем |
| Azure CLI |
-
Назначаемое системой - Назначено пользователем |
| Azure REST API |
-
Назначаемое системой - Назначенный пользователем |
Дополнительные сведения можно найти здесь
- Что такое управляемые идентификации
- Типы управляемых удостоверений
- Соединители, поддерживающие управляемые идентичности
- Ресурсы Azure, поддерживающие управляемые идентификаторы
Prerequisites
Учетная запись и подписка Azure. Получите бесплатную учетную запись Azure.
Необходимо использовать ту же подписку Azure для ресурса приложения логики, управляемой идентичности и целевого ресурса Azure, которому вы хотите получить доступ.
Ресурс логического приложения и рабочий процесс, где вы хотите использовать управляемое удостоверение.
Дополнительные сведения можно найти здесь
Целевой ресурс Azure, к которому требуется получить доступ.
Разрешения администратора Microsoft Entra.
Далее в этом руководстве необходимо назначить роль Azure управляемому удостоверению с необходимым доступом к целевому ресурсу. Для этой задачи требуются разрешения, позволяющие назначать роли Azure идентичностям в тенанте Microsoft Entra.
Рекомендации по использованию управляемых удостоверений
Прежде чем настроить и использовать управляемое удостоверение с логическим приложением, ознакомьтесь со следующими рекомендациями.
Ресурс приложения логики имеет только один уникальный идентификатор, назначенный системой.
По умолчанию логические приложения Standard автоматически включают удостоверение, назначенное системой.
Ресурс логического приложения может использовать системно назначаемое удостоверение и одно или несколько пользовательски назначаемых удостоверений одновременно.
Приложение логики может использовать либо системное, либо пользовательское удостоверение, но не оба одновременно.
Ваше логическое приложение может одновременно использовать только одно пользовательское назначенное удостоверение.
Ресурс приложения Logics может использовать одно и то же назначенное пользователем удостоверение в других ресурсах приложения Logics.
Управляемое удостоверение можно использовать на уровне ресурса логического приложения и на уровне подключения.
Для логических приложений стандарта гибридный вариант развертывания не поддерживает аутентификацию с помощью управляемого удостоверения. Вместо этого необходимо создать и использовать регистрацию приложения.
Дополнительные сведения можно найти здесь
Соединители, поддерживающие управляемые удостоверения
Для встроенных и управляемых операций соединителей в Azure Logic Apps для поддержки проверки подлинности управляемых удостоверений они должны поддерживать OAuth с помощью Microsoft Entra.
В следующих таблицах приведены примеры соединителей, поддерживающих аутентификацию управляемой идентичности в зависимости от типа логического приложения.
| Тип соединителя | Поддерживаемые соединители |
|---|---|
| встроенный | — Управление API Azure — Службы приложений Azure — Функции Azure - HTTP - HTTP + Веб-перехватчик Примечание. Операции HTTP могут проходить проверку подлинности подключений к учетным записям хранения Azure за брандмауэрами Azure с помощью удостоверения, назначаемого системой. Однако http-операции не поддерживают удостоверение, назначаемое пользователем, для проверки подлинности таких же подключений. |
| Управляемый | — Служба приложений Azure — Служба автоматизации Azure — Хранилище BLOB-объектов Azure — Экземпляр контейнера Azure — Azure Cosmos DB — Обозреватель данных Azure — Фабрика данных Azure — Azure Data Lake — Azure Digital Twins — Сетка событий Azure — Центры событий Azure — Azure IoT Central V2 — Azure Key Vault -Журналы Azure Monitor — Очереди Azure — Azure Resource Manager шина сервисов Azure — Microsoft Sentinel — Хранилище таблиц Azure — виртуальная машина Azure — SQL Server |
Полный список см. в следующем разделе:
- Типы проверки подлинности для триггеров и действий, поддерживающих проверку подлинности
- Службы Azure, поддерживающие управляемые идентификаторы для ресурсов Azure
Включение назначаемого системой идентификатора (портал)
На основе типа приложения логики выполните соответствующие действия на портале Azure:
В ресурсе приложения логики потребления вручную включите назначаемое системой удостоверение.
На портале Azure откройте ресурс приложения логики потребления.
На боковой панели приложения логики, в разделе Параметры, выберите Удостоверение.
На странице "Удостоверение" в разделе "Системное назначение" выберите "Включено", затем нажмите "Сохранить". Нажмите Да для подтверждения.
Ресурс приложения логики теперь может использовать удостоверение, назначаемое системой. Эта учетная запись зарегистрирована в Microsoft Entra ID и представлена идентификатором объекта.
Свойство Значение Описание Идентификатор основного объекта < identity-resource-ID> Глобальный уникальный идентификатор (GUID), представляющий удостоверение, назначаемое системой для приложения логики в клиенте Microsoft Entra.
Включение назначаемого системой удостоверения (шаблон ARM)
Чтобы автоматизировать создание и развертывание ресурсов приложения логики, используйте шаблон ARM.
В вашем шаблоне на корневом уровне определение ресурса приложения логики требует identity объекта с заданным type свойством SystemAssigned, например:
{
"apiVersion": "2016-06-01",
"type": "Microsoft.logic/workflows",
"name": "[variables('logicappName')]",
"location": "[resourceGroup().location]",
"identity": {
"type": "SystemAssigned"
},
"properties": {},
<...>
}
Когда Azure создает определение ресурса приложения логики, identity объект получает следующие principalId и tenantId свойства:
"identity": {
"type": "SystemAssigned",
"principalId": "<principal-ID>",
"tenantId": "<Entra-tenant-ID>"
}
| Свойство (JSON) | Значение | Описание |
|---|---|---|
principalId |
< principal-ID> | Глобально уникальный идентификатор (GUID), который Microsoft Entra использует для управления объектом главного службы для управляемой идентичности в клиенте Microsoft Entra. Этот GUID иногда отображается как "идентификатор объекта" или objectID. |
tenantId |
< Microsoft-Entra-tenant-ID> | Глобальный уникальный идентификатор (GUID), представляющий клиент Microsoft Entra, в котором приложение логики теперь является членом. В клиенте Microsoft Entra субъект-служба имеет то же имя, что и экземпляр приложения логики. |
Создание индивидуальной идентичности, назначаемой пользователем (в портале)
Перед включением удостоверения, назначаемого пользователем, необходимо создать удостоверение в качестве отдельного ресурса Azure, чтобы включить удостоверение, назначаемое пользователем, в ресурсе приложения логики "Потребление" или "Стандартный".
В поле поиска на портале Azure введите
managed identities. В списке результатов выберите Управляемые Идентификаторы.На панели инструментов «Управляемые удостоверения» нажмите Создать.
Введите данные об управляемой учетной записи, например:
Свойство Требуется Значение Описание Subscription Yes < имя-подписки-Azure> Имя подписки Azure. Группа ресурсов Yes < имя-группы-ресурсов-Azure> Имя группы ресурсов Azure. Создайте новую группу или выберите существующую группу. В этом примере создается новая группа с именем fabrikam-managed-identities-RG.Region Yes < Azure-region> Регион Azure, в котором хранятся сведения о ресурсе. В этом примере используется West US.Name Yes < имя, назначаемое пользователем> Название для вашего идентификатора, назначенного пользователем. В этом примере используется Fabrikam-user-assigned-identity.Область изоляции Нет - Нет (по умолчанию)
- РегионЭффективная область действия для управляемого удостоверения. По завершении нажмите кнопку "Просмотр и создание".
После того как Azure проверит информацию, Azure создаст управляемое удостоверение. Теперь вы можете добавить пользовательское назначенное удостоверение в ресурс приложения логики.
Добавление назначаемой пользователем идентичности в логическое приложение (портал)
После создания пользовательской назначенной идентичности добавьте её в ресурс логического приложения "Потребление" или "Стандартный".
На портале Azure откройте ресурс приложения логики потребления.
На боковой панели логического приложения в разделе Параметры выберите Идентификация.
На странице "Удостоверение" выберите "Назначенные пользователи", а затем выберите "Добавить".
В разделе Добавление управляемой идентичности, назначенной пользователем выполните следующие действия.
В списке "Выбор подписки" выберите подписку Azure.
В списке управляемых удостоверений выберите назначенное пользователем удостоверение, которое вам нужно.
Чтобы отфильтровать список, в поле поиска назначаемых пользователем управляемых удостоверений введите имя удостоверения или группы ресурсов, например:
По завершении нажмите кнопку "Добавить".
Теперь логическое приложение связано с назначенной пользователем идентичностью.
Создание идентификации, назначаемой пользователем (ARM шаблон)
Чтобы автоматизировать создание и развертывание ресурсов приложения логики, используйте шаблон ARM. Эти шаблоны поддерживают удостоверения, назначенные пользователем для проверки подлинности.
В разделе resources вашего шаблона, определение ресурса Logic App требует следующих элементов:
- Объект
identityс установленнымtypeсвойствомUserAssigned. - Дочерний
userAssignedIdentitiesобъект, указывающий назначенный пользователем ресурс и имя.
В следующем примере показан ресурс приложения логики потребления и определение рабочего процесса для HTTP-запроса PUT с непараметризованным identity объектом. Ответ на PUT запрос и последующую GET операцию также включает этот identity объект.
Ресурс приложения логики потребления может включать и иметь как назначаемое системой удостоверение, так и несколько удостоверений, назначенных пользователем.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {<template-parameters>},
"resources": [
{
"apiVersion": "2016-06-01",
"type": "Microsoft.logic/workflows",
"name": "[variables('logicappName')]",
"location": "[resourceGroup().location]",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group-name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<user-assigned-identity-name>": {}
}
},
"properties": {
"definition": {<logic-app-workflow-definition>}
},
"parameters": {},
"dependsOn": []
},
],
"outputs": {}
}
Если ваш шаблон включает определение ресурса управляемого удостоверения, можно параметризовать объект identity. В следующем примере показано, как userAssignedIdentities дочерний объект ссылается на переменную userAssignedIdentityName, которую вы определяете в разделе variables вашего шаблона. Эта переменная ссылается на идентификатор ресурса для пользовательской назначенной идентичности.
{
"$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": {}
}
]
}
Когда шаблон создает определение ресурса приложения логики, identity объект включает следующие principalId и clientId свойства:
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"<resource-ID>": {
"principalId": "<principal-ID>",
"clientId": "<client-ID>"
}
}
}
| Свойство (JSON) | Значение | Описание |
|---|---|---|
principalId |
< идентификатор принципала> | Глобальный уникальный идентификатор (GUID), который Microsoft Entra использует для администрирования объекта субъекта-службы для управляемого удостоверения в клиенте Microsoft Entra. Этот GUID иногда отображается как "идентификатор объекта" или objectID. В клиенте Microsoft Entra учетная запись службы имеет то же имя, что и экземпляр логического приложения. |
clientId |
< идентификатор клиента> | Глобальный уникальный идентификатор (GUID), представляющий идентификатор логического приложения и указывающий идентификатор, используемый во время вызовов среды выполнения. |
Дополнительные сведения о шаблонах Azure Resource Manager и управляемых удостоверениях для функций Azure см. в шаблоне ARM — Функции Azure.
Предоставление удостоверению доступа к ресурсу
Прежде чем использовать управляемое удостоверение для проверки подлинности, необходимо предоставить удостоверению доступ к целевому защищенному ресурсу Azure. Способ настройки доступа может отличаться в зависимости от целевого ресурса, например:
Управление доступом на основе ролей в Azure (RBAC)
Для некоторых ресурсов Azure, таких как учетные записи хранения, необходимо использовать RBAC для назначения роли целевого ресурса с необходимыми разрешениями для удостоверения.
Например, чтобы предоставить управляемому удостоверению доступ к учетной записи хранения объектов Blob в Azure, необходимо назначить необходимую роль Azure для ресурса учетной записи хранения вашему удостоверению.
В этом разделе показано, как назначить роль с помощью портала Azure и шаблона Azure Resource Manager (шаблон ARM).
Сведения о Azure PowerShell, Azure CLI и REST API Azure см. в статье:
Инструмент Документация Azure PowerShell Добавление назначения ролей Azure CLI Добавление назначения ролей Azure REST API Добавление назначения ролей Политика доступа
Другие ресурсы Azure, такие как хранилища ключей, также позволяют создавать политику доступа в целевом ресурсе с необходимыми разрешениями для удостоверения.
Например, можно создать политику доступа на ресурсе хранилища ключей, чтобы предоставить необходимые разрешения для управляемого удостоверения.
В этом разделе показано, как создать политику доступа с помощью портала Azure.
Шаблоны Resource Manager, Azure PowerShell и Azure CLI см. в статье:
Инструмент Документация Шаблон Azure Resource Manager (шаблон ARM) Определение политики доступа ресурса Key Vault Azure PowerShell Назначьте политику доступа для Key Vault Azure CLI Назначьте политику доступа для Key Vault
Доступ управляемой идентичности к ресурсам более высокого уровня
Если управляемая идентичность имеет доступ к ресурсу в той же подписке, эта идентичность может получить доступ только к этому ресурсу, а не к другим ресурсам в родительской иерархии данного ресурса. В конструкторе рабочих процессов некоторые триггеры и действия требуют сначала выбрать подписку или группу ресурсов, прежде чем выбрать целевой ресурс. Если идентификатор не имеет доступа к каким-либо ресурсам более высокого уровня, дизайнер не показывает целевой ресурс.
Чтобы устранить эту проблему, предоставьте удостоверению доступ к каждому ресурсу более высокого уровня, который необходимо сначала выбрать.
В других случаях идентификация также нуждается в доступе к ресурсу, где вы активировали идентификацию. Например, предположим, что у вас есть действие рабочего процесса, которое обновляет параметры приложения в родительском приложении логики рабочего процесса. Если действие использует управляемое удостоверение для доступа к этим параметрам, предоставьте этому удостоверению доступ к логическому родительскому приложению.
Назначение доступа на основе ролей к управляемому удостоверению (портал)
Для ресурсов Azure, которым требуется назначить роль для управляемой учетной записи, выполните следующие действия.
На портале Azure откройте ресурс, к которому требуется доступ.
В этом примере в качестве целевого ресурса Azure используется учетная запись хранения.
На боковой панели ресурса выберите элемент управления доступом (IAM).
На панели инструментов управления доступом (IAM) выберите Добавить>Добавить назначение роли.
Примечание
Если не удается выбрать добавление назначения ролей, у вас нет разрешений на назначение ролей. Вам нужны разрешения администратора Microsoft Entra для назначения ролей управляемым удостоверениям.
Чтобы назначить необходимую роль управляемому удостоверению, выполните следующие действия.
На вкладке "Роль" найдите и выберите встроенную роль Microsoft Entra , которая предоставляет удостоверению необходимый доступ к текущему ресурсу, а затем нажмите кнопку "Далее".
В этом примере выбирается роль " Участник данных BLOB-объектов хранилища". Эта роль предоставляет права на запись содержимого BLOB-объектов в контейнере службы хранения Azure.
Дополнительные сведения можно найти в статье Роли, имеющие доступ к содержимому объектов BLOB в контейнере хранилища Azure.
На вкладке "Члены" выполните следующие действия, чтобы выбрать управляемое удостоверение:
Чтобы назначить доступ, выберите управляемое удостоверение.
Для добавления участников нажмите кнопку +Выбрать участников.
На панели "Выбор управляемых удостоверений " выберите подписку Azure.
Выберите тип управляемого удостоверения, который соответствует вашему управляемому удостоверению, затем выберите ваше управляемое удостоверение.
Тип управляемого удостоверения Описание Пользовательское управляемое удостоверение Просматривайте и выбирайте назначаемую пользователем управляемую идентичность на любом ресурсе Azure. Все назначаемые системой управляемые удостоверения Просмотрите и выберите управляемое удостоверение, назначаемое системой, на любом ресурсе Azure. Приложение логики Просмотрите и выберите включенное управляемое удостоверение только для ресурсов логического приложения. По завершении нажмите кнопку "Выбрать".
Дополнительные сведения можно найти здесь
Аутентифицируйте триггер или действие с помощью управляемого удостоверения.
Создание политики доступа на портале Azure
Для ресурсов Azure, в которых требуется создать политику доступа для управляемого удостоверения, выполните следующие действия.
На портале Azure откройте ресурс, к которому требуется доступ.
В этом примере в качестве целевого ресурса Azure используется хранилище ключей.
На боковой панели ресурса выберите политики доступа.
Примечание
Если ресурс не имеет параметра "Политики доступа ", назначьте роль.
На панели инструментов страницы выберите "Создать ", чтобы открыть область "Создать политику доступа ".
На вкладке "Разрешения" выберите разрешения, необходимые удостоверению для доступа к целевому ресурсу.
Например, чтобы использовать удостоверение с действием List secrets управляемого соединителя Azure Key Vault, удостоверение должно иметь разрешения на List. Таким образом, в этом сценарии в столбце разрешений секретных выберите Список.
Закончив, выберите Далее.
На вкладке Основное выберите управляемое удостоверение.
В этом примере выбирается пользовательское удостоверение.
Пропустите необязательный шаг приложения , нажмите кнопку "Далее" и завершите создание политики доступа.
Аутентифицируйте ваш триггер или действие с помощью управляемой идентификации.
Проверка подлинности доступа с помощью управляемого удостоверения
В этом разделе показано, как использовать управляемое удостоверение для проверки подлинности доступа к триггеру рабочего процесса или действиям, поддерживающим проверку подлинности управляемого удостоверения. Пример продолжается с того момента, где вы настроили доступ для управляемого удостоверения, используя RBAC и учетную запись хранения Azure. Хотя целевой ресурс Azure может отличаться, общие шаги в основном похожи.
Важно
Если у вас есть функция Azure, в которой вы хотите использовать назначаемое системой удостоверение, сначала включите проверку подлинности для функций Azure.
Ниже показано, как использовать управляемое удостоверение с помощью портала Azure. Сведения об использовании управляемого удостоверения в базовом определении JSON с помощью редактора кода см. в разделе "Проверка подлинности управляемого удостоверения".
На портале Azure откройте ресурс приложения логики потребления.
Добавьте триггер или действие, которое поддерживает управляемые удостоверения, если вы еще не сделали этого.
В триггере или действии выполните следующие действия.
Встроенные операции
Эти действия используют действие HTTP в качестве примера.
В списке дополнительных параметров выберите параметр проверки подлинности .
Отображаются параметры проверки подлинности и список типов проверки подлинности , например:
В списке типов проверки подлинности выберите управляемое удостоверение.
Теперь в разделе проверки подлинности показаны следующие параметры:
Параметр Описание Управляемая идентичность Управляемое удостоверение для использования. Публика Появляется для определенных триггеров и действий, так что вы можете установить идентификатор ресурса для целевого ресурса или службы Azure.
По умолчанию параметр аудитории используетhttps://management.azure.com/идентификатор ресурса, который является идентификатором ресурса для Azure Resource Manager.В списке управляемых идентификаций выберите нужную идентификацию, например:
Примечание
По умолчанию управляемое удостоверение, назначаемое системой , является выбранным параметром, даже если вы не включаете управляемые удостоверения. Однако для успешного использования управляемого удостоверения необходимо сначала включить это удостоверение в вашем логическом приложении. Потребительские приложения логики не автоматически включают системное удостоверение в отличие от стандартных приложений логики.
Дополнительные сведения см. в примере: проверка подлинности встроенного триггера или действия с помощью управляемого удостоверения.
Операции управляемого соединителя
В области "Создание подключения " в списке проверки подлинности выберите управляемое удостоверение, например:
В следующей области для имени подключения введите имя, используемое для подключения.
В зависимости от вашего коннектора выберите один из следующих вариантов.
Одиночная проверка подлинности: эти соединители поддерживают только один тип проверки подлинности, который является управляемым удостоверением в данном случае.
Следующие действия используют действие ресурса Azure в качестве примера:
В списке управляемых удостоверений выберите текущее управляемое удостоверение.
Выберите Создать новое.
Многофакторная проверка подлинности: эти соединители поддерживают несколько типов проверки подлинности, но вы можете выбрать и использовать только один тип одновременно.
Следующие шаги используют действие хранилища BLOB-объектов Azure в качестве примера.
В списке типов проверки подлинности выберите "Управляемое удостоверение Logic Apps".
Выберите Создать новое.
Дополнительные сведения см. в разделе "Пример: проверка подлинности триггера или действия управляемого соединителя с помощью управляемого удостоверения".
Пример. Проверка подлинности встроенного триггера или действия с помощью управляемого удостоверения
Встроенный триггер или действие HTTP могут использовать системно назначенное удостоверение, которое вы активируете на ресурсе вашего логического приложения. Как правило, триггер ИЛИ действие HTTP использует следующие свойства, чтобы указать ресурс или сущность, к которой требуется получить доступ:
| Свойство | Требуется | Описание |
|---|---|---|
| Method | Yes | Метод HTTP для операции, которую требуется выполнить |
| URI | Yes | URL-адрес конечной точки для доступа к целевому ресурсу или сущности Azure. Синтаксис URI обычно включает идентификатор ресурса для целевого ресурса Или службы Azure. |
| Заголовки | Нет | Любые значения заголовков, которые необходимы или которые вы хотите включить в исходящий запрос, например тип контента. |
| Queries | Нет | Все параметры запроса, которые необходимо или хотите включить в запрос. Например, параметры запроса для определенной операции или для версии API операции, которую требуется запустить. |
| Authentication | Yes | Тип проверки подлинности, используемый для проверки подлинности доступа к целевому ресурсу или службе Azure |
В качестве конкретного примера предположим, что вы хотите запустить операцию создания моментального снимка BLOB-объекта в учетной записи хранения Azure, где вы ранее настроили доступ для своего удостоверения. Однако коннектор Azure Blob Storage сейчас не поддерживает эту операцию. Вместо этого можно запустить эту операцию с помощью действия HTTP или другой операции REST API службы BLOB.
Важно
Чтобы получить доступ к учетным записям хранения Azure за брандмауэрами с помощью соединителя для хранилища BLOB-объектов Azure и управляемых удостоверений, убедитесь, что вы также настроили учетную запись так, чтобы она имела исключение, которое разрешает доступ доверенным службам Microsoft.
Чтобы запустить операцию моментального снимка Blob, действие HTTP указывает следующие свойства:
| Свойство | Требуется | Пример значения | Описание |
|---|---|---|---|
| URI | Yes | https://<storage-account-name>/<folder-name>/{name} |
Идентификатор ресурса для файла хранилища BLOB-объектов Azure в глобальной (общедоступной) среде Azure, которая использует этот синтаксис. |
| Method | Yes | PUT |
Метод HTTP, который использует операция моментального снимка BLOB-объектов. |
| Заголовки | Для службы хранилища Azure | x-ms-blob-type = BlockBlob x-ms-version = 2024-05-05 x-ms-date = formatDateTime(utcNow(),'r') |
Значения заголовков x-ms-blob-type, x-ms-version и x-ms-date требуются для операций Azure Storage. Важно: В исходящих запросах триггера HTTP и действия для службы хранилища Azure заголовок должен содержать свойство x-ms-version и версию API для операции, которую необходимо выполнить. Значение x-ms-date должно быть текущей датой. В противном случае рабочий процесс завершается ошибкой 403 FORBIDDEN . Чтобы получить текущую дату в требуемом формате, можно использовать выражение в примере значения. Для получения дополнительной информации см.: - Заголовки запросов — моментальный снимок Blob - Управление версиями для служб хранилища Azure |
| Queries | Только для операции моментального снимка BLOB-объектов | comp = snapshot |
Имя и значение параметра запроса для операции. |
В конструкторе рабочих процессов добавьте любой нужный триггер, а затем добавьте действие HTTP .
В следующем примере показан пример действия HTTP со всеми ранее описанными значениями свойств, используемыми для операции моментального снимка BLOB-объектов:
В действии HTTP в списке дополнительных параметров выберите "Проверка подлинности".
Раздел проверки подлинности появляется в действии HTTP.
В списке типов проверки подлинности выберите управляемое удостоверение.
В списке управляемых удостоверений выберите доступные параметры в зависимости от вашего сценария.
Если вы настроили удостоверение, назначаемое системой, выберите управляемое удостоверение, назначаемое системой.
Если вы настроили удостоверение, назначаемое пользователем, выберите это удостоверение.
В этом примере продолжается использование управляемого удостоверения, назначенного системой.
Некоторые триггеры и действия показывают параметр аудитории, чтобы можно было ввести идентификатор для целевого ресурса или службы Azure.
Например, чтобы пройти проверку подлинности доступа к ресурсу Key Vault в глобальном облаке Azure, задайте параметр аудиторииточно следующим идентификатором ресурса:
https://vault.azure.netВ противном случае параметр аудитории использует
https://management.azure.com/идентификатор ресурса, который является идентификатором ресурса для Azure Resource Manager.Важно
Идентификатор целевого ресурса должен точно соответствовать значению, которое ожидает идентификатор Microsoft Entra. В противном случае может возникнуть ошибка 400 недопустимых запросов или 401 Несанкционированная ошибка. Если идентификатор ресурса содержит завершающие слэши, включите их. Если нет, не включайте их.
Например, идентификатор ресурса для всех учетных записей Blob-хранилища Azure требует наличия завершающей косой черты. Однако идентификатор ресурса для определенной учетной записи хранения не требует окончания слэшем. Проверьте идентификаторы ресурсов для служб Azure, поддерживающих идентификатор Microsoft Entra.
В следующем примере для параметра Аудитории задано значение
https://storage.azure.com/. Это значение означает, что токены доступа для аутентификации действительны для всех учетных записей хранения. Для определенной учетной записи хранения укажите URL-адресhttps://<your-storage-account>.blob.core.windows.netкорневой службы.Дополнительные сведения можно найти здесь
Продолжайте создавать рабочий процесс на основе вашего сценария.
Пример. Проверка подлинности триггера или действия управляемого соединителя с помощью управляемого удостоверения
Управляемый соединитель Azure Resource Manager имеет действие Чтение ресурса, которое может использовать управляемое удостоверение, включенное в ресурс приложения логики. В этом примере показано, как использовать системное управляемое удостоверение с управляемым соединителем.
В конструкторе рабочих процессов добавьте действие Azure Resource Manager с именем "Чтение ресурса".
На панели "Создание подключения" в списке проверки подлинности выберите управляемое удостоверение и нажмите кнопку "Войти".
Примечание
В некоторых соединителях список типа аутентификации отображает управляемое удостоверение Logic Apps. Если в сценарии показан этот параметр, выберите этот параметр.
Введите имя подключения и выберите нужное управляемое удостоверение.
Если вы включили удостоверение, назначаемое системой, список управляемых удостоверений автоматически выбирает управляемое удостоверение, назначаемое системой. Если вместо этого вы включили удостоверение, назначаемое пользователем, список автоматически выбирает удостоверение, назначаемое пользователем.
В этом примере назначаемое системой управляемое удостоверение является единственным доступным выбором.
Примечание
Если вы не включаете управляемое удостоверение при попытке создать или изменить подключение, или если удалить управляемое удостоверение, пока подключение с поддержкой управляемого удостоверения по-прежнему существует, возникает ошибка, которая говорит, что необходимо включить удостоверение и предоставить доступ к целевому ресурсу.
По завершении нажмите кнопку "Создать".
После того как вы создадите подключение, дизайнер может извлечь любые динамические значения, содержимое или схему, используя аутентификацию с помощью управляемого удостоверения.
Продолжайте создавать рабочий процесс на основе вашего сценария.
Подключения с управляемыми удостоверениями в определениях ресурсов логических приложений
Тип подключения с проверкой подлинности управляемого удостоверения — это специальный тип подключения, который работает только с управляемым удостоверением. При выполнении рабочего процесса подключение использует управляемое удостоверение, включённое для ресурса логического приложения. Azure Logic Apps проверяет, используют ли какие-либо операции управляемого соединителя в рабочем процессе управляемое удостоверение и существуют ли все необходимые разрешения для использования управляемого удостоверения при доступе к соответствующим целевым ресурсам. Если эта проверка прошла успешно, Azure Logic Apps получает маркер Microsoft Entra, связанный с управляемым удостоверением, использует это удостоверение для проверки подлинности доступа к целевым ресурсам Azure и выполняет соответствующие операции в рабочем процессе.
В ресурсе приложения логики потребления вы сохраняете конфигурацию подключения в объекте определения parameters ресурса. Этот объект содержит $connections, и этот объект включает указатели на идентификатор ресурса подключения, а также на идентификатор ресурса управляемого удостоверения, когда вы включаете удостоверение, назначенное пользователем.
В следующем примере показан объект parameters, когда удостоверение назначаемое системой включено в логическом приложении.
"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>"
}
}
}
}
В следующем примере показан объект parameters при включении управляемой идентификации назначенной пользователем в приложении логики.
"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>"
}
}
}
}
Шаблон ARM для подключений API и управляемых удостоверений
Если вы используете шаблон ARM для автоматизации развертывания, а рабочий процесс включает подключение API, созданное управляемым соединителем , и использует управляемое удостоверение, необходимо выполнить дополнительный шаг.
В шаблоне ARM определение ресурса базового соединителя различается в зависимости от того, используете ли вы логическое приложение по модели с платой за потребление или стандартное, а также в зависимости от того, показывает ли соединитель варианты единой аутентификации или многофакторной аутентификации.
В следующих примерах применяются ресурсы приложения логики потребления. Они показывают, как определение ресурсов базового соединителя отличается между соединителем с одной проверкой подлинности и соединителем с несколькими проверками подлинности.
Однофакторная аутентификация
В этом примере показано определение базового ресурса подключения для действия соединителя, которое поддерживает только один тип проверки подлинности и использует управляемое удостоверение в рабочем процессе приложения логики потребления. Определение включает следующие атрибуты:
Свойство
kindимеет значениеV1для процесса потребления.Для свойства
parameterValueTypeзадано значение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"
}
},
Несколько методов проверки подлинности
В этом примере показано определение базового ресурса подключения для действия соединителя, которое поддерживает несколько типов проверки подлинности и использует управляемое удостоверение в рабочем процессе приложения логики потребления. Определение включает следующие атрибуты:
Свойство
kindимеет значениеV1для рабочего процесса потребления.Объект
parameterValueSetвключает свойствоname, которому присвоено значениеmanagedIdentityAuth, и свойствоvalues, которому присвоено пустое объект.
{
"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": {}
}
}
}
Настройка расширенного управления для проверки подлинности подключения API
Когда рабочий процесс Azure Logic Apps стандартного уровня использует подключение к API, которое создает управляемый соединитель, Azure Logic Apps использует два подключения для взаимодействия с целевым ресурсом, например вашей учетной записью электронной почты или ключевым хранилищем.
Подключение #1 настроено с аутентификацией для внутреннего хранилища токенов.
Подключение #2 настроено с проверкой подлинности для целевого ресурса.
Однако если рабочий процесс приложения логики потребления использует подключение API, вы не можете просмотреть или настроить подключение #1. Если вы используете ресурс для логических приложений стандартного типа, вы получаете больше контроля над вашим логическим приложением и рабочими процессами. По умолчанию подключение #1 использует назначаемое системой удостоверение.
Если в сценарии требуется более подробный контроль над проверкой подлинности подключений API, измените проверку подлинности для подключения #1 с удостоверения, назначаемого системой по умолчанию, на любое удостоверение, назначаемое пользователем, которое вы добавляете в приложение логики. Эта аутентификация применяется к каждому подключению API, поэтому можно смешивать системные и пользовательские удостоверения для различных подключений к одному целевому ресурсу.
В файле connections.json стандартного приложения логики, в котором хранятся сведения о каждом подключении API, каждое определение подключения имеет два authentication объекта, например:
"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>"
}
Первый
authenticationобъект сопоставляется с соединением #1.Этот объект описывает аутентификацию, используемую для связи с внутренним хранилищем токенов. В прошлом значение свойства всегда устанавливалось в
typeдля приложения, которое развертывается в Azure и не имело возможности настроек.Второй объект
authenticationсоответствует подключению №2.Этот объект описывает проверку подлинности, используемую для взаимодействия с целевым ресурсом, и может отличаться в зависимости от типа проверки подлинности, выбранного для этого подключения.
Зачем изменять аутентификацию для хранилища токенов?
В некоторых сценариях может потребоваться предоставить общий доступ и использовать одно и то же подключение к API в нескольких ресурсах приложения логики, но вам не нужно добавить удостоверение, назначаемое системой для каждого ресурса логики, в политику доступа целевого ресурса.
В других сценариях может не потребоваться настроить назначаемое системой удостоверение в приложении логики. Чтобы использовать удостоверение, назначенное пользователем, можно изменить аутентификацию на использование удостоверения, назначенного пользователем, и полностью отключить удостоверение, назначенное системой.
Измените проверку подлинности для хранилища токенов
На портале Azure откройте своё стандартное логическое приложение.
На боковой панели ресурсов в разделе "Рабочие процессы" выберите "Подключения".
На панели "Подключения" выберите представление JSON.
В редакторе JSON найдите
managedApiConnectionsобъект. Этот объект содержит подключения API ко всем рабочим процессам в ресурсе приложения логики.Найдите соединение, где вы хотите добавить пользовательское управляемое удостоверение.
Например, предположим, что рабочий процесс имеет подключение к 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>" }В определении подключения выполните следующие действия.
Найдите первый
authenticationобъект. Если в этомidentityобъекте нетauthenticationсвойства, приложение логики неявно использует удостоверение, назначаемое системой.identityДобавьте свойство с помощью примера на этом шаге.Установите значение свойства в идентификатор ресурса для идентификатора пользователя.
"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>" }На портале Azure перейдите к целевому ресурсу и предоставьте доступ к управляемому удостоверению, назначенному пользователем, в зависимости от потребностей целевого ресурса.
Например, для Azure Key Vault добавьте удостоверение в политики доступа к хранилищу ключей. Для Azure Blob Storage назначьте необходимую роль для идентификатора в учетной записи хранения.
Отключение управляемого удостоверения
Чтобы остановить использование управляемого удостоверения для проверки подлинности, выполните следующие действия.
В ресурсе вашего логического приложения отключите системное удостоверение или удалите удостоверение, назначаемое пользователем.
Когда вы отключаете управляемое удостоверение в ресурсе приложения логики, вы убираете возможность данного удостоверения запрашивать доступ к ресурсам Azure, к которым оно имело доступ.
Примечание
Если отключить удостоверение, назначаемое системой, все подключения, использующие удостоверение в рабочих процессах приложения логики, перестают работать во время выполнения, даже если сразу же включить удостоверение снова.
Это происходит, так как отключение удостоверения удаляет его идентификатор объекта. Каждый раз, когда вы включаете удостоверение, Azure создает удостоверение с другим уникальным идентификатором объекта. Чтобы устранить эту проблему, повторно создайте подключения, чтобы они использовали текущий идентификатор объекта для актуальной системной идентичности.
Избегайте отключения назначаемого системой идентификатора насколько это возможно. Чтобы удалить доступ удостоверения к ресурсам Azure, удалите назначение роли этого удостоверения для целевого ресурса. При удалении ресурса приложения логики Azure автоматически удаляет управляемое удостоверение из идентификатора Microsoft Entra.
В следующих разделах показано, как отключить управляемое удостоверение с помощью портала Azure и шаблона Azure Resource Manager (шаблон ARM). Сведения о Azure PowerShell, Azure CLI и REST API Azure см. в статье:
| Инструмент | Документация |
|---|---|
| Azure PowerShell | 1. Удалите назначение роли. 2. Удаление удостоверения, назначенного пользователем. |
| Azure CLI | 1. Удалите назначение роли. 2. Удаление удостоверения, назначенного пользователем. |
| Azure REST API | 1. Удалите назначение роли. 2. Удаление удостоверения, назначенного пользователем. |
Дополнительные сведения см. в разделе "Удаление назначений ролей Azure".
Отключение управляемого удостоверения на портале Azure
Чтобы удалить доступ к управляемому удостоверению, удалите назначение ролей удостоверения из целевого ресурса, а затем отключите управляемое удостоверение.
Удалить назначение роли
Следующие шаги удалят доступ к целевому ресурсу из управляемой идентичности.
На портале Azure перейдите к целевому ресурсу Azure, где требуется удалить доступ для управляемого удостоверения.
На боковой панели целевого ресурса выберите элемент управления доступом (IAM). На панели инструментов выберите назначения ролей.
В списке ролей выберите управляемые идентичности, которые вы хотите удалить. На панели инструментов нажмите кнопку "Удалить".
Примечание
Если параметр "Удалить " отключен, скорее всего, у вас нет разрешений. Дополнительные сведения о разрешениях, которые позволяют управлять ролями для ресурсов, см. в разделе "Разрешения роли администратора" в идентификаторе Microsoft Entra.
Отключить управляемое удостоверение в ресурсе логического приложения
На портале Azure откройте ресурс приложения логики.
На боковой панели ресурса приложения логики в разделе Параметры выберите Удостоверение, а затем выполните действия для вашей идентификации:
Выберите Системное назначение>Выключено>Сохранить. Когда Azure запрашивает подтверждение, нажмите кнопку "Да".
Выберите "Пользователь", назначенный пользователем и управляемое удостоверение, а затем нажмите кнопку "Удалить". Когда Azure запрашивает подтверждение, нажмите кнопку "Да".
Отключить управляемое удостоверение в шаблоне ARM
Если вы создали управляемое удостоверение приложения логики с помощью шаблона ARM, задайте identity для дочернего свойства объекта type значение None.
"identity": {
"type": "None"
}