如何使用Azure ARM API进行身份验证?

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

我在 Azure 中有一个逻辑应用程序,我想创建一个应用程序来监视所有运行并提供比 Azure 门户更好的过滤。

我正在尝试执行一个简单的请求来获取运行列表:https://learn.microsoft.com/en-us/rest/api/logic/workflow-runs/list?view=rest-logic- 2016-06-01&tabs=HTTP

但是 API 端点需要身份验证令牌,问题是我不知道如何获取它,没有任何有关如何获取它的详细信息。

是否有关于如何执行此操作的分步指南?我做了一些研究,我发现的每个链接都已过时,其中包含有关 Azure 门户中页面的详细信息,这些详细信息与几年前不同。

azure azure-resource-manager
1个回答
0
投票

要生成访问令牌并调用 Azure 服务管理 API,您需要创建一个 Microsoft Entra ID 应用程序 并添加以下 API 权限:

enter image description here

向应用程序分配 逻辑应用贡献者、逻辑应用操作员或读者角色:

enter image description here

现在通过传递如下参数来生成访问令牌

GET https://login.microsoftonline.com/TenantID/oauth2/v2.0/token

client_id=ClientID
scope=https://management.azure.com/.default
client_secret=ClientSecret
grant_type=client_credentials

enter image description here

我使用 MsDoc

中提到的 API 调用创建了示例工作流程的工作流程

我能够通过传递访问令牌成功获取工作流程运行

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs?api-version=2016-06-01

enter image description here

您还可以利用用户交互流程来调用API。

参考:

Microsoft 身份平台上的 OAuth 2.0 客户端凭据流 - Microsoft 身份平台 |微软

© www.soinside.com 2019 - 2024. All rights reserved.