【问题标题】:Calling an Azure AD Protected API from Logic App using Managed Identity使用托管标识从逻辑应用调用受 Azure AD 保护的 API
【发布时间】:2020-06-11 08:36:03
【问题描述】:

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

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

【问题讨论】:

    标签: azure azure-active-directory azure-logic-apps


    【解决方案1】:

    是的,有。 我写了一篇关于这个主题的文章(虽然它不是专门针对逻辑应用的):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:托管身份的 objectId(很简单,我们可以从 Logic App 的 Identity 刀片中找到)
    2. appRoleId:在您的 API 清单中定义的 appRole 的 ID(这也应该很容易找到,它在您的 API 清单中)
    3. targetApiSpId:目标 API 服务主体的 objectId(您可以通过转到企业应用程序并在那里找到您的 API 来获得)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-19
      • 2017-11-02
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 2019-12-03
      • 2018-06-25
      相关资源
      最近更新 更多