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

Configure Logic App with Managed Identity

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

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

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

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

  1. 通过 select 创建新连接 使用托管身份连接(预览)

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

如果未启用托管标识,当您尝试创建连接时会出现以下错误。

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

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

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

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

在 运行 时与托管身份的连接如何工作?

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

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

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

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

服务主体在上述场景中没有任何角色。该图像要求 应用程序的客户端 ID、租户 ID 和密码 。我们需要做的就是在应用程序注册中创建一个应用程序在其中创建一个秘密并从那里获取这三个参数。 根据需要在工作区(在我的例子中是 Log Analytics 工作区)中将此应用程序添加为贡献者或所需角色,将三个参数添加到逻辑应用程序操作中 如上图所示,我们可以开始了。 Logic 应用现在将 运行 在托管连接上。