繁体   English   中英

使用托管标识从逻辑应用调用 Azure AD 保护的 API

[英]Calling an Azure AD Protected API from Logic App using Managed Identity

我们有一个托管在本地的 Azure AD Protect API。 我们需要从 Logic App 调用此 API。 我们目前在应用注册中为此逻辑应用创建或注册了一个新的客户端应用,并提供了必要的权限并调用了传递承载令牌的 API。

我的问题是,有没有一种方法可以利用逻辑应用程序的托管标识(用户分配的或系统分配的)来调用 API?

就在这里。 我写了一篇关于这个主题的文章(虽然它不是特定于逻辑应用程序): https : //joonasw.net/view/calling-your-apis-with-aad-msi-using-app-permissions

您将需要创建一个appRoleAssignment ,为您的托管标识服务主体提供应用程序权限。 为此,我们必须使用 PowerShell 或 Microsoft Graph API。 使用Azure AD PowerShell ,我们可以做到:

Connect-AzureAD

New-AzureADServiceAppRoleAssignment -ObjectId $miSpId -Id $appRoleId -PrincipalId $miSpId -ResourceId $targetApiSpId

我们需要找到 3 个参数:

  1. miSpId:托管标识的对象标识(很简单,我们可以从逻辑应用程序的标识刀片中找到它)
  2. appRoleId:在您的 API 清单中定义的 appRole id(这也应该很容易找到,它在您的 API 清单中)
  3. targetApiSpId:目标 API 服务主体的 objectId(您可以通过转到 Enterprise Applications 并在那里找到您的 API 来获得该对象)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM