对于我们在Azure中的多租户应用程序,我被分配了关于如何为多个环境(测试,验收,生产等)注册应用程序的任务。
在我看来,有两种可能:
-
1个应用程序在所有环境中注册(基础设施的不同资源组,但都访问相同的appid/appkey)
=>在prod中分配的用户将分配给test,反之亦然(具有相同的角色,因为服务主体是相同的)。
=>所有租户将自动访问test(如果他们知道URL)
=>在生产中给予同意,将导致测试也获得同意(因为两者使用相同的服务主体)。
-
每个环境1个App/(不同的资源组,都有自己的appid/appkey)
=>角色不共享;在Prod中分配的用户将不会在测试中自动分配(其他服务主体)
=>租户只有在产品所有者授予访问权限时才能访问test
=>必须对每个环境给予同意
考虑到这些假设,我会选择选项2;因为同意生产应用程序并不意味着你想要同意在生产AD上使用测试应用程序。
我的假设有意义吗?我是不是漏掉了什么?
我同意你的观点,选项2更简洁,你越能保持设置和资源分离,你的风险就越小,测试的灵活性也就越大。唯一的缺点是额外的用户管理,但在这种情况下,这可能不是一个大问题,特别是如果目的不是为最终用户进行UAT/pre - prod beta测试。