gpt4 book ai didi

azure-active-directory - 授予服务主体访问其他租户中的应用程序的权限

转载 作者:行者123 更新时间:2023-12-03 18:45:29 29 4
gpt4 key购买 nike

我在一个租户 ( OneTenant ) 中有一个 Azure AD 服务主体,我想授予对另一个租户 ( OtherTenant ) 中的应用程序的访问权限。

租户中的服务主体 OneTenant是 Azure 逻辑应用的托管服务标识。所以我真正想要的是从我的逻辑应用程序调用 API。此 API 受 OtherTenant 中的 Azure AD 应用程序保护.

申请在OtherTenantOneTenant 中定义了许多角色和服务主体应该具有这些角色之一,以便它可以调用 API。

我尝试了以下方法:

  • OtherTenant 中设置应用程序 Multi-Tenancy
  • 运行以下 PS 命令以尝试将 SP 添加到应用程序中的角色:
    New-AzureADServiceAppRoleAssignment `
    -ObjectId <object-id-of-sp-in-one-tenant> `
    -Id <role-id> `
    -PrincipalId <object-id-of-sp-in-one-tenant> `
    -ResourceId <app-id-in-other-tenant>

    (均登录 OneTenantOtherTenant )

    这给出了一个错误,说明 app-id-in-other-tenantobject-id-of-sp-in-one-tenant无法找到,具体取决于我登录的位置。

  • 我还尝试在 OneTenant 中创建服务主体基于来自 OtherTenant 的 app-id在这种情况下,我收到一条错误消息: Authenticating principal does not have permission to instantiate multi-tenantapplications and there is not matching Applicationin the request tenant.

    最佳答案

    好的,我终于开始测试 solution由 Rohit Saigal 作品呈现。它确实指向了正确的方向,但并不完整。

    第一步是到OneTenant 中创建服务主体表示 OtherTenant 中的应用程序 .所以在登录时 OneTenant ,运行以下脚本:

    $spInOneTenant = New-AzureADServicePrincipal -AppId <app-id-in-other-tenant>

    下一步是运行 New-AzureADServiceAppRoleAssignment带有以下参数的 cmdlet:
    New-AzureADServiceAppRoleAssignment `
    -Id <role-id> `
    -ObjectId <object-id-of-sp-in-one-tenant> `
    -PrincipalId <object-id-of-sp-in-one-tenant> `
    -ResourceId $spInOneTenant.ObjectId

    诀窍是使用您在上一步中创建的服务主体的对象 ID 作为 ResourceId .

    关于azure-active-directory - 授予服务主体访问其他租户中的应用程序的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52646321/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com