如何在逻辑应用程序中将 HTTP 中的服务主体与 Azure AD 连接器结合使用

How can I use a service principal in HTTP with Azure AD connector in logic apps

我使用带有 Azure AD 连接器的 HTTP 向我的逻辑应用程序添加一个操作。添加 acito 时,系统提示我创建连接,但是只有 "User based auth" 可用 "sign in" 按钮。我需要将此连接器与服务 PRincipal 身份验证一起使用,类似于 Azure 数据资源管理器。 this/can这个支持吗?

在此处查看连接创建:

对比Azure 数据资源管理器

There is no option to connect with a service account or service principal when using the Azure AD actions in Logic Apps. The only option is to sign in with a Microsoft Account.

似乎不支持使用服务主体登录HTTP with Azure AD connector。您可以就此发表您的意见 feedback 以推广此功能。

您可以通过 HTTP 操作向 azure ad API 发送 HTTP 请求。首先使用客户端 ID 创建服务主体(应用程序注册),然后在您的逻辑应用程序中首先使用方法 post 添加 HTTP 操作以获取有效的持有者令牌,如下所示: 请记住根据您要查询的 api 替换 tenantId、clientId、clientSecret 和 resource。 资源: Azure 广告:https://graph.microsoft.com/ Azure 存储:https://storage.azure.com/

接下来您需要添加一个步骤来解析来自上述 HTTP 请求的响应正文,以便能够在进一步的步骤中使用访问令牌。使用以下架构:

{
"properties": {
    "access_token": {
        "type": "string"
    },
    "expires_in": {
        "type": "string"
    },
    "expires_on": {
        "type": "string"
    },
    "ext_expires_in": {
        "type": "string"
    },
    "not_before": {
        "type": "string"
    },
    "resource": {
        "type": "string"
    },
    "token_type": {
        "type": "string"
    }
},
"type": "object" }

然后您可以对 azure ad 执行 GET 和 POST 请求。