使用托管标识配置逻辑应用

问题描述

我是 Azure 服务的新手,正在寻求有关托管身份的帮助。 我的任务是在我的逻辑应用程序和我的 Log Analytics 工作区之间创建托管连接。我创建了一个系统分配的身份并具有相应的对象 ID。当我在逻辑应用中使用 Azure 日志监视器操作时,它会询问我是否应该通过登录或服务主体进行连接。 Image for Azure Log Analytics Action fields when service principal option is selected.

下一步应该是什么,我应该在日志分析工作区中添加我的逻辑应用的对象 ID,然后上图链接中的字段呢。

解决方法

  1. Azure portal 中,在逻辑应用设计器中打开您的逻辑应用。从支持托管身份验证的连接器添加触发器或操作,然后选择操作。

enter image description here

本文中的上述示例设置了名为读取资源的 Azure 资源管理器操作,以使用逻辑应用的系统分配的托管标识进行身份验证并读取指定的 Azure 资源。 >

  1. 通过选择使用托管身份连接(预览版)来创建新连接。

enter image description here

该操作现在显示托管标识下拉列表,其中包括当前在逻辑应用上启用的托管标识类型。

enter image description here

如果未启用托管标识,则在您尝试创建连接时会出现以下错误。
enter image description here

成功创建连接后,设计人员可以使用托管身份验证获取任何动态值、内容或架构。

  1. 为您选择的操作提供所需的输入。连接名称显示在操作形状的底部。

enter image description here

  1. 添加逻辑应用运行所需的任何其他操作。完成后,保存工作流程。

  2. 要测试逻辑应用,请在设计器工具栏上选择运行

与托管标识的连接在运行时如何工作?

您为使用托管标识而创建的连接是一种特殊的连接类型,只能与托管标识一起使用。

enter image description here

在运行时,连接使用在逻辑应用上启用的托管标识。此配置保存在逻辑应用定义的 parameters 对象中,该对象包含 $connections 属性对象,该对象包括指向连接资源 ID、api 资源 ID 和 connectionProperties 的指针。如果用户分配的身份与逻辑应用关联,则 connectionProperties 中的 authentication 属性包含用户分配的身份的资源 ID。如果系统分配的身份与逻辑应用相关联,则身份验证属性对象中不需要其他输入(类型除外)。

enter image description here

在运行时,逻辑应用服务会检查逻辑应用中的任何托管连接器触发器和操作是否配置为使用托管标识,并且所有必需的权限都设置为使用托管标识访问目标资源由触发器和动作指定。如果成功,逻辑应用服务将检索与托管标识关联的 Azure AD 令牌,并使用该令牌对目标资源进行身份验证,并在触发器和操作中执行配置的操作。

更多详情,请参考 Azure Logic Apps – Authenticate with managed identity for Azure AD OAuth-based connectors – Azure Aggregator (wordpress.com)

,

服务主体在上述场景中没有任何角色。该图像要求提供应用的客户端 ID、租户 ID 和机密。我们需要做的就是在应用注册中创建一个应用在其中创建一个秘密,然后从那里获取这三个参数。 根据需要在工作区中将此应用添加为贡献者或所需角色(在我的情况下是 Log Analytics 工作区),将三个参数添加到逻辑应用操作中作为在上图中看到,我们很高兴。逻辑应用现在将在托管连接上运行。