如何使Azure Logic App使用其托管服务标识通过连接器进行身份验证?

问题描述 投票:0回答:1

我的Azure Logic App作为托管服务标识运行,我尝试使用Azure AD Connector作为应用程序的触发器。连接器需要Azure AD Graph API的权限,并且我已使用PowerShell使用ClientCredentials作为ServicePrincipal MSI进行身份验证并调用所需的Azure AD Graph API,从而验证了权限是否正确。

但是,我似乎无法告诉我的Logic App的Azure AD连接器(而不是我可以设置身份验证属性的REST调用)以使用托管服务标识。

由于Microsoft没有提供任何Logic Apps连接器的文档,因此我无法确定Azure AD Connector上是否有一个众所周知的属性可用于告诉它如何进行身份验证。我在我的ARM模板中有以下内容,并且猜测有一个customParameterValue要设置,但我不知道它是什么。

{
    "type": "Microsoft.Web/connections",
    "name": "[parameters('connections_azuread_name')]",
    "apiVersion": "2016-06-01",
    "location": "eastus",
    "scale": null,
    "properties": {
        "displayName": "Azure AD",
        "customParameterValues": {},
        "api": {
            "id": "[concat('/subscriptions####/providers/Microsoft.Web/locations/eastus/managedApis/', parameters('connections_azuread_name'))]"
        }
    },
    "dependsOn": []
}
azure-active-directory azure-logic-apps azure-ad-graph-api
1个回答
0
投票

我知道,我在聚会上有点晚了,但是我一直在使用管理身份(MI)很多,并且基本上得出的结论是他们还没有为主流使用做好准备。它们是一个伟大的概念,我希望它们继续增长,但是大多数连接器尚未支持它们的限制,以及每个订阅只能拥有10个具有身份标识的逻辑应用程序的限制,严重限制了它们的使用。

我基本上使用了一个带有MI的逻辑应用程序,它根据一些传递的值为服务构建适当的身份验证块,并从Key Vault获取秘密。每个其他逻辑应用程序调用“身份验证”逻辑应用程序来获取他们应该传递给API,Azure功能等的调用的详细信息。

我还需要AAD保护我的所有Azure功能,所以MI再次非常棒,因为LA能够调用经过身份验证的功能,但同样,Azure功能操作还不支持MI(或任何身份验证)。因此,我不得不求助于使用HTTP连接器(带身份验证)来调用FA。

逻辑应用程序非常接近令人敬畏,令人沮丧的是它们还没有完全存在!

为了回答你的问题,我发现一些连接器会接受一个认证块,例如......

{
  "audience": "XXXXXXXXXXXX",
  "type": "ManagedServiceIdentity"
}
© www.soinside.com 2019 - 2024. All rights reserved.