我们有三个不同的网站,我们希望将Azure AD用于单点登录。我的问题是如何将用户添加到Azure AD(通过API)谁可能有不同的电子邮件,如foo@gmail.com,bar@yahoo.com,baz@outlook.com等
当我尝试通过API将这些电子邮件的用户添加到Azure时,我收到错误:
Property userPrincipalName is invalid.
但是,如果我使用azure租户名称添加用户(例如reinhold@mytenant.onmicrosoft.com),则会将其添加正常。
我在论坛和谷歌搜索但无济于事。
那么有没有办法使用API将具有gmail / yahoo / outlook /其他电子邮件地址的用户添加到Azure AD?
由于
答案 0 :(得分:4)
简短的回答:你做不到。 Azure AD仅支持域名为您自己的 onmicrosoft.com 域的用户,或者具有您有权代表的自定义域的电子邮件地址的用户。如果您希望人们使用@yahoo或@gmail等地址注册,则Azure AD不是您要查找的目录。
答案 1 :(得分:1)
AAD通过MSA的访客流支持消费者拥有的帐户。因此,您的用户可以为他们的@yahoo或@gmail帐户创建MSA(@outlook帐户已经是MSA)。然后,您可以使用Azure门户邀请用户成为租户中的访客(就像您邀请来自其他租户的AAD用户成为访客一样)。请参阅:https://azure.microsoft.com/en-us/documentation/articles/active-directory-create-users/。
答案 2 :(得分:0)
这里有两个选项:
从 https://docs.microsoft.com/en-us/azure/active-directory/external-identities/compare-with-b2c 起,截至 2021/04/20
借助 Azure AD 中的外部身份,您可以允许组织外部的人员访问您的应用和资源,同时让他们使用他们喜欢的任何身份登录。您的合作伙伴、分销商、供应商、供应商和其他访客用户可以“带上他们自己的身份”。无论他们拥有企业或政府颁发的数字身份,还是非托管的社交身份(如 Google 或 Facebook),他们都可以使用自己的凭据登录。外部用户的身份提供商管理他们的身份,而您使用 Azure 管理对应用程序的访问AD 以保护您的资源。
Azure AD 外部身份较少关注用户与组织的关系,而更多关注用户希望如何登录到您的应用和资源。在此框架内,Azure AD 支持各种方案,从企业对企业 (B2B) 协作到面向消费者/客户或面向公民的应用程序(企业对客户,或 B2C)的访问管理。
与外部用户共享您的应用和资源(B2B 协作)。邀请外部用户作为“来宾”用户加入您自己的租户,您可以为其分配权限(用于授权),同时让他们使用其现有凭据(用于身份验证)。用户使用他们的工作、学校或其他电子邮件帐户使用简单的邀请和兑换过程登录共享资源。还可以使用 Azure AD 权利管理来配置管理外部用户访问权限的策略。现在有了自助注册用户流程,您可以允许外部用户自己注册应用程序。可以自定义体验以允许使用工作、学校或社交身份(如 Google 或 Facebook)进行注册。您还可以在注册过程中收集有关用户的信息。有关详细信息,请参阅 Azure AD B2B 文档。
使用面向消费者和面向客户的应用程序 (Azure AD B2C) 的白标身份管理解决方案构建用户旅程。如果你是创建面向客户的应用程序的企业或开发人员,则可以使用 Azure AD B2C 扩展到数百万消费者、客户或公民。开发人员可以将 Azure AD 用作其应用程序的全功能客户身份和访问管理 (CIAM) 系统。客户可以使用他们已经建立的身份(如 Facebook 或 Gmail)登录。借助 Azure AD B2C,你可以完全自定义和控制客户在使用应用程序时注册、登录和管理其个人资料的方式。有关详细信息,请参阅 Azure AD B2C 文档。
下表详细比较了可以使用 Azure AD 外部身份启用的方案。
外部用户协作 (B2B) | 访问面向消费者/面向客户的应用 (B2C) | |
---|---|---|
主要场景 | 使用 Microsoft 应用(Microsoft 365、Teams 等)或您自己的应用(SaaS 应用、自定义开发的应用等)进行协作。 | 现代 SaaS 或定制开发的应用程序(非第一方 Microsoft 应用程序)的身份和访问管理。 |
用于 | 与来自外部组织(如供应商、合作伙伴、供应商)的业务合作伙伴协作。用户在您的目录中显示为来宾用户。这些用户可能管理过也可能没有管理过 IT。 | 您产品的客户。这些用户在单独的 Azure AD 目录中进行管理。 |
支持身份提供商 | 外部用户可以使用工作帐户、学校帐户、任何电子邮件地址、基于 SAML 和 WS-Fed 的身份提供商、Gmail 和 Facebook 进行协作。 | 具有本地应用程序帐户(任何电子邮件地址或用户名)、各种受支持的社会身份的消费者用户,以及通过直接联盟获得公司和政府颁发的身份的用户。 |
外部用户管理 | 外部用户与员工在同一目录中管理,但通常被注释为来宾用户。来宾用户的管理方式与员工相同,可以添加到相同的组中,等等。 | 外部用户在 Azure AD B2C 目录中进行管理。它们与组织的员工和合作伙伴目录(如果有)分开管理。 |
单点登录 (SSO) | 支持所有 Azure AD 连接应用的 SSO。例如,您可以提供对 Microsoft 365 或本地应用以及其他 SaaS 应用(例如 Salesforce 或 Workday)的访问权限。 | 支持到 Azure AD B2C 租户内客户拥有的应用程序的 SSO。不支持到 Microsoft 365 或其他 Microsoft SaaS 应用的 SSO。 |
安全政策和合规性 | 由主办/邀请组织管理(例如,使用条件访问策略)。 | 由组织通过条件访问和身份保护管理。 |
品牌 | 使用主办/邀请组织的品牌。 | 每个应用程序或组织完全可定制的品牌。 |
计费模式 | External Identities pricing 基于每月活跃用户 (MAU)。 (另请参阅:B2B 设置详细信息) |
External Identities pricing 基于每月活跃用户 (MAU)。 (另请参阅:B2C 设置详细信息) |
更多信息 | Blog post,文档 | Product page,文档 |
使用 Azure AD 外部身份保护和管理超出组织边界的客户和合作伙伴。
如果您将应用作为服务提供并且不想管理客户的用户帐户,多租户应用可能是您的正确选择。开发面向其他 Azure AD 租户的应用程序时,可以针对来自单个组织(单租户)的用户,或来自已拥有 Azure AD 租户的任何组织的用户(多租户应用程序)。默认情况下,Azure AD 中的应用注册为单租户,但您可以使注册成为多租户。此多租户应用程序由您自己在自己的 Azure AD 中注册一次。但是,来自任何组织的任何 Azure AD 用户都可以使用该应用程序,而无需您进行额外的工作。有关详细信息,请参阅 Manage identity in multitenant applications,操作指南。