使用多个身份提供程序对Azure Active Directory进行部分中断的MSAL身份验证

euoag5mw  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(204)

我在Azure上托管了2个B2B应用程序服务。我希望使用Azure Active Directory(通过企业应用程序)来管理仅具有多个角色(管理员、经理、销售员)的受邀用户的访问。
我们的业务合作伙伴范围从单一业主到小型企业,因此我们需要支持个人电子邮件帐户、已经为其用户设置Microsoft帐户的组织、已经为其用户设置Google Workspace帐户的组织,以及我们自己组织中的一些用户(租户中的完全用户)。正如我所说的,我们希望访问权限是仅邀请的(我认为这意味着他们被添加为租户中的访客用户,并发送了邀请)。毫不奇怪,用户自己并不知道他们拥有哪种类型的帐户。
我正在使用MSAL(重定向)来验证用户。来自我们组织的用户和拥有个人帐户的用户可以进行身份验证。成员被添加到应用程序的相应企业应用程序中的组中,MSAL正在阅读角色,并且他们的访问权限按预期被授予/限制。拥有现有组织Microsoft帐户的用户和拥有Google Workspace帐户的用户无法进行身份验证,我很肯定这是我的配置造成的。
我们的配置有点复杂。我们已经设置了“阻止美国以外的访问”和“需要MFA”政策。对于这两个企业应用程序,我们通过条件访问为这些策略添加了例外。
对于应用程序,MSAL登录重定向url配置为:https://login.microsoftonline.com/
以下是我们正在经历的问题:

  1. Google认证:用户可以很好地登录,但不是被重定向到应用程序,而是被发送到Microsoft Authenticator页面,在那里他们被要求设置2FA,尽管我们的企业应用程序通过条件访问将2FA作为例外。
  2. Microsoft组织身份验证(非个人帐户):AADSTS90072:来自身份提供程序“https://sts.windows.net/nnnnnnnnn-nnnn-nnnn-nnnn-nnnn-nnnnn-nnnnnnnnnnnnnnnn/”的用户帐户“name@organization.onmicrosoft.com”在租户“Tenant,Inc”中不存在,无法访问该租户中的应用程序“0000000 c- 0000 - 000000000000000000000000000 '(Microsoft应用程序访问面板)。需要首先将帐户添加为租户中的外部用户。注销并使用其他Azure Active Directory用户帐户再次登录
    我已将Google添加为外部身份提供商-我是否还需要添加Microsoft,即使它以前是默认的?我是否需要删除MSAL重定向URL中的租户ID,或者这是它知道哪个应用正在请求身份验证的唯一方法?虽然上面的错误消息表明该帐户需要作为外部用户添加,但我读到的所有内容都表明将其添加为访客用户是正确的过程,因为他们的其余帐户信息已经在他们的“家庭”租户中。身份验证过程如何知道需要使用哪个企业身份提供程序?仅仅根据电子邮件地址?
    我们尝试删除Google外部身份并仅使用Microsoft身份验证(仅支持拥有Microsoft帐户的组织),但仍然遇到问题#2。
    我们期待成功的身份验证,就像我们为租户中的一些用户、个人帐户和现有用户所获得的那样。
bq3bfh9z

bq3bfh9z1#

如果不查看错误日志,我会说您遇到了两个问题:
1.您可能需要检查Security Defaults是否未打开,这可能会迫使您的外部用户注册Microsoft MFA。检查Azure AD >>属性>>配置安全默认值。当然,还要仔细检查是否没有其他CA策略可能是罪魁祸首,并且您的异常是否正确对应于上述访客用户。测试、测试、再测试,尝试完全禁用MFA的CA策略,并查看是否有任何外部用户可以进行身份验证,然后将它们逐一放回。
1.您不需要显式地将Microsoft添加为身份提供者,但我肯定会仔细检查您是否确实需要重定向URL来转到https://login.microsoftonline.com/
需要记住的一件事是,* 所有 * external users-无论他们是来自另一个Azure AD租户还是使用另一个身份提供程序-都需要在租户中作为访客用户进行配置,然后才能访问任何单租户应用程序或其他资源。如果使用B2B management仍然存在问题,可以使用Entitlement Management简化和标准化此过程。
所有访客用户都通过其“主”提供者进行身份验证,该提供者在邀请/配置过程中使用OAuth2.0和OICD进行标识,因此您的租户不必担心外部身份提供者提供的访问令牌的已建立信任之外的安全性和身份验证。

相关问题