gpt4 book ai didi

azure - 邀请 Azure 应用程序加入租户

转载 作者:行者123 更新时间:2023-12-03 00:47:22 27 4
gpt4 key购买 nike

我可以邀请用户加入租户。用户确认邀请并被分配订阅中的角色后,他/她可以查看该订阅以及其他租户的订阅。

我可以使用 az account list 列出来自所有不同租户的用户订阅

是否可以对 Azure 应用程序执行相同的操作?以某种方式邀请它并授予它访问不同租户中的订阅的权限?或者,一般来说,应用程序如何访问不同租户中的资源(不使用 Lighthouse)?

最佳答案

应用程序的安全主体是 ServicePrincipal 对象(就像用户的安全主体是 User 对象一样)。如果应用程序配置为 Multi-Tenancy 应用程序,则可以在任何其他租户中创建该应用程序的服务主体。创建该服务主体后,就可以为其授予角色分配。

使用 Azure CLI 的示例:

  1. 登录租户 A。

    $ az login --tenant "{tenant-A-id-or-domain}"
  2. 在租户 A 中,将应用程序注册(应用程序对象)配置为 Multi-Tenancy 。 (此处我们将创建一个新广告,但您也可以使用 az ad app update 更新现有广告。)

    $ az ad app create --display-name "App in Tenant A" \
    --available-to-other-tenants true \
    --query "appId"

    "74dde9de-56e2-4750-a7cc-5da5f021b897"
  3. 登录租户 B。

    $ az login --tenant "{tenant-B-id-or-domain}"
  4. 为租户 B 中的应用(在租户 A 中注册)创建服务主体。请注意,id 使用的值是应用程序的 appId在步骤 2 中创建的应用程序注册。

    $ az ad sp create --id "74dde9de-56e2-4750-a7cc-5da5f021b897" \
    --query "{appId:appId,displayName:displayName}"

    {
    "appId": "4c3e3be1-b735-41b1-a842-f095b9a45849",
    "displayName": "App in Tenant A"
    }
  5. 此时,您可以授予服务主体对某些内容的访问权限。例如,您可以为其分配 Azure 订阅中资源的角色。

  6. 现在,在向租户 B 进行身份验证时,您可以使用在应用注册时配置的凭据(即证书或客户端 key )作为应用。

像我们在这里所做的那样手动创建服务主体对象只是一种方法。另一种方法是让租户 B 中的用户登录应用程序并同意,当应用程序具有某种面向用户的界面(例如 Web 应用程序)时特别有用。在至少一名用户同意该应用后,该应用的服务主体对象将出现在租户 B 中,并且可以被授予角色分配。

关于azure - 邀请 Azure 应用程序加入租户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59901595/

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