我将多个应用程序部署到多个国家/地区,并使用Azure Active Directory进行保护。我有一个要求,人们应该只能访问他们国家的应用程序。实现这一目标的最佳方法是什么:
为每个国家/地区创建一个新的Azure AD应用程序,并在每个国家/地区使用各自的客户端ID。这确实增加了我必须处理的配置量。
我已经在使用基于角色的访问安全性(RBAC)。我可以为每个国家创建一个角色,例如然后肯尼亚肯尼亚申请的实例需要肯尼亚的角色。
每个国家/地区都不是一个单独的组织,它只是一家公司,所以我不确定使用Azure AD多租户是否适用于我的用例。
答案 0 :(得分:1)
每个国家/地区拥有多个角色可能就是我的目标。您可以将这些国家/地区角色分配给AAD组(如果使用允许该许可证的许可证),并通过该角色也允许将来访问多个实例。当然,如果您确定没有必要,那么您可以直接将用户分配给角色。管理工作量要小得多,这就是我要用的。当然唯一的事情是您必须将所有实例的所有回复网址添加到一个应用中,而不是多个应用中的一个。
基于角色的方法的一个缺点是在应用程序中拥有其他角色变得有点困难,例如:如果你想担任肯尼亚管理员角色。
每个国家/地区创建一个应用程序似乎有点矫枉过正,但它会有一些优势。首先,如果需要,可以将用户分配到多个应用程序以访问多个国家(并且没有AAD的付费许可证)。可以使用脚本自动创建应用程序。您必须为每个部署配置的主要配置是客户端ID和密码。但一个主要的缺点是,如果你需要,例如添加API权限,您必须将其添加到每个应用程序,然后在每个应用程序上同意它。
多租户意味着除了拥有不同的客户端ID和机密之外,您的用户还必须添加到不同的Azure AD中。隔离会很好,但这肯定会带来最多的行政工作。