azure - 移动租户但将 API / 应用程序保留在当前 Azure AD 中
问题描述
所以我做了一些研究,但我只是想检查一下其他人对我们雇主正在经历的当前情况的看法,并获得一些指导以添加到我已经进行的研究中。
因此,我们目前有一个 Microsoft 租户,订阅了带有 API 和应用程序的 Azure AD。我们计划移动与此新租户相关的所有 SharePoint,但我们将 API 和应用程序保留在当前 Azure AD 中 - 新租户有自己的 Azure AD。
是否可以将我们的 API 调用挂钩到新租户?我们可以为我们的应用授予权限并在新租户中使用它们吗?
如果有人有任何关于租户迁移等的详细信息,请丢弃您拥有的任何信息 - 因为所有这些都会很有用。
解决方案
是的。这是可能的。但是如果你有很多应用程序,就会有很多工作。
首先,确保你所有的 api 应用和 app 应用都是多租户的。
其次,您可以使用Powershell cmd New-AzureRmADServicePrincipal -ApplicationId "{client id of your api application}"
将 api 应用程序作为企业应用程序添加到新租户中。
然后,您需要针对新租户对(旧租户的)应用程序进行管理员同意。
我假设您的应用已在tenant_x 中注册并希望将其添加到tenant_y 中。
您可以将用户重定向到 Microsoft 标识平台管理员同意端点。
GET https://login.microsoftonline.com/{tenant_y}/v2.0/adminconsent?
client_id={client id of the app in tenant_x}
&state=12345
&redirect_uri={redirect_uri of the app in tenant_x}
&scope=https://graph.microsoft.com/.default
使用tenant_y的管理员账号登录,完成管理员同意。
请注意,scope
您不能使用api://{client id of api app}/.default
,因为它会告诉您 api 应用程序不存在于tenant_y 中。
虽然我们使用https://graph.microsoft.com/.default
for scope
,但当您进行管理员同意时,它也会显示 api 应用程序的权限。所以不用担心。
完成后,tenant_x 中应用的企业应用会出现在tenant_y 中,拥有所有api 权限。
推荐阅读
- rust - 在 Rust 中切换二维数组中的列和行的最佳方法是什么?
- python - MongoDB 使用 Geolocation API 跟踪位置
- javascript - 用烧瓶和 javascript 请求一个 blob
- javascript - 如何存储现有的 html 元素并在以后创建它?
- python - SQLAlchemy SSL SYSCALL 超时应对机制
- python-3.x - python的语音识别模块没有输出
- jenkins - 为什么我的 Jenkins 步骤没有重试,而是在未达到时间限制时抛出超时错误?
- google-cloud-platform - 相当于 GCP 中的 AWS Route53 服务(云 dns?)
- python - 如何在pygame中发射子弹?
- python - 如何用 numpy 构造一个秩数组?(什么是秩数组?)