Mo *_*leb 2 azure azure-active-directory azure-logic-apps
我想使用 Azure Logic App 构建应用程序注册流程(用于自动化)
如何在 Azure AD 中自动注册应用程序?进行 REST API 调用应该简单直接,有人知道如何进行应用程序注册的 POST 吗?
很少有例子将不胜感激。
除了 Azure 逻辑应用程序支持的 REST API 之外,任何其他方式也非常受欢迎!
用于注册 Azure AD 应用程序的 REST API
Azure AD 图形 API ( https://graph.windows.net) -应用程序实体
POST https://graph.windows.net/{your tenantID}/applications?api-version=1.6
Run Code Online (Sandbox Code Playgroud)Microsoft Graph API ( https://graph.microsoft.com) -创建应用程序 API
POST https://graph.microsoft.com/beta/applications
Run Code Online (Sandbox Code Playgroud)Azure AD Graph API 是较旧的 API,对于大多数操作,建议使用较新的 Microsoft Graph API。在此处阅读有关Microsoft Graph 或 Azure AD Graph 的更多信息。
尽管较新的 Microsoft Graph API 仍处于测试阶段,但应用程序注册方案仍处于测试阶段,因此不建议将其用于生产应用程序。因此,我展示了使用 Azure AD Graph API 的屏幕截图和详细步骤。不过,稍后,一旦 Microsoft Graph API 稳定版本支持应用程序注册,您就可以更改为使用 Microsof Graph API。
高级步骤
您的逻辑应用首先需要足够的权限才能向 Azure AD 注册应用程序。
将 HTTP 操作添加到逻辑应用以进行图形 API 调用
https://graph.windows.net或https://graph.microsoft.com根据您调用的 API。详细步骤
转到 Azure 门户中的逻辑应用 > 身份 > 现在打开系统分配的身份
启用托管身份后,您应该获得一个对象 ID。我会称之为LogicApp.Identity.ObjectId
现在转到 Azure 门户 > Azure AD > 企业应用程序 > 在应用程序类型下拉列表中选择 Microsoft 应用程序 > 使用 Azure AD Graph API ( 00000002-0000-0000-c000-000000000000) 的应用程序 ID 对其进行筛选。如果您尝试调用 Microsoft Graph API(搜索00000003-0000-0000-c000-000000000000)
现在记下objectId服务主体的 。我们称这个为Graph.ObjectId
运行 PowerShell 命令来创建新的应用程序角色分配。
New-AzureADServiceAppRoleAssignment -ObjectId LogicApp.Identity.ObjectId -PrincipalId LogicApp.Identity.ObjectId -Id "824c81eb-e3f8-4ee6-8f6d-de7f50d565b7" -ResourceId "Graph.ObjectId"
Run Code Online (Sandbox Code Playgroud)
如果您在此步骤遇到Authorization_RequestDenied错误,请查看我最后关于已知问题的注释。您应该可以继续,因为仍然会添加许可。
请注意,我使用的824c81eb-e3f8-4ee6-8f6d-de7f50d565b7是作为要分配的app角色,对应的是ieApplication.ReadWrite.OwnedBy的应用权限Windows Azure Active DirectoryManage apps that this app creates or owns
如果您想更改该部分,您可以选择不同的应用程序权限/角色。如果您使用 Microsoft Graph API,您可以从此处找到权限 - Microsoft Graph 权限参考- 例如Application.ReadWrite.All或Application.ReadWrite.OwnedBy
现在转到您的逻辑应用程序并添加 HTTP 操作。
注意 URI、方法、标头和正文(我使用了一个非常简单的 JSON,但您可以根据您的要求更改它)
另请注意,身份验证设置为Managed Identity,受众设置为https://graph.windows.net(https://graph.microsoft.com如果您改为调用 Microsoft Graph API,则可能会变成这样)
现在尝试运行逻辑应用,HTTP 操作应该会成功,并根据 JSON 注册新的 Azure AD 应用程序。
如果您收到错误请求错误 - 问题可能与 Graph API 调用输入有关,例如 URI、标头或正文。
如果您收到“禁止”或“未经授权”错误 - 问题是按照前面的步骤将应用程序权限分配给逻辑应用程序标识,因此请重新检查这些步骤。
运行上述步骤 4 中描述的 PowerShell 脚本时,您可能会遇到一个已知问题,该问题会引发错误代码Authorization_RequestDenied。
我在将 Microsoft Graph 权限分配给 Azure 托管服务标识中提供了有关此问题的更多信息,也可在此 GitHub 问题中找到 -执行 New-AzureAdServiceAppRoleAssignment 步骤返回禁止错误。
因此,即使您间歇性地收到此错误,也应该创建实际的角色分配,并且您应该可以继续。
| 归档时间: |
|
| 查看次数: |
3138 次 |
| 最近记录: |