对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

从 Microsoft Entra ID 中配置联合身份验证

本指南介绍如何将 Microsoft Entra ID 作为 IdP 以配置联合身份验证。

在将 Microsoft Entra ID 与 Atlas 集成在一起后,您可以使用公司的凭证登录到 Atlas 和其他 MongoDB 云服务。

如需管理联合身份验证,必须拥有 Organization Owner 访问权限,能够访问一个或多个将联合设置委托给实例的组织。

要将 Microsoft Entra ID 作为 Atlas 的 IdP,您必须具有:

  • Azure 订阅。要获得订阅,请访问 Microsoft Azure 门户。

  • 与您的订阅关联的 Microsoft Entra ID 租户。有关设置 Microsoft Entra ID 租户的信息,请参阅 Microsoft Entra ID 文档。

  • 在 Microsoft Entra ID 租户中至少具有 Cloud App Administrator 和 User Administrator 权限。

  • 自定义的可路由域名。

在以下过程中,为Atlas Federation Management Console 打开一个浏览器标签页,并为Azure控制台打开一个标签页会很有帮助。

如果还没有这些用户,请使用 Azure 控制台将您的自定义域名添加到 Microsoft Entra ID 并创建用户:

1

将您的自定义域名添加到 Microsoft Entra ID 中,以创建属于您的域的用户。在添加您的域后,还必须将 Microsoft Entra ID DNS 信息添加到 DNS 提供程序的 TXT 记录中并验证配置。

要将您的自定义域添加到 Microsoft Entra ID 中,请参阅 Azure 文档。

2

如果这些用户还不存在,请在 Microsoft Entra ID 中创建要授予访问权限的用户。用户必须属于您添加到 Microsoft Entra ID 的自定义域。

要创建 Microsoft Entra ID 用户,请参阅 Azure 文档。

使用 Azure 控制台将 Microsoft Entra ID 配置为 SAML IdP。您可以从 Gallery 中添加 MongoDB Cloud 应用,也可以手动配置应用程序。

1

要将 MongoDB Cloud 应用添加到您的 Microsoft Entra ID 租户中,请参阅 Azure 文档。

2

将用户分配给应用程序。完成本教程后, 这些用户将可以访问 Atlas 和其他 MongoDB 云服务。

要将 Microsoft Entra ID 用户分配给应用程序,请参阅 Azure 文档。

3

要导航到 SAML 配置页面,请参阅 Azure 文档。

4

要生成有效的 SAML 签名证书,您必须为Microsoft Entra ID企业应用程序的 Identifier 和 Reply URL 分配临时值。如果在设置这些值之前下载证书,下载的证书将不是唯一的,您必须在设置这些值后重新下载证书。

要设置临时值:

  1. 单击第 1 部分中的 Edit。

  2. 删除任何现有的默认值,并设置以下临时值:

    设置
    临时值

    Identifier (Entity ID)

    https://www.okta.com/saml2/service-provider/MongoDBCloud

    Reply URL (Assertion Consumer Service URL).

    https://auth.mongodb.com/sso/saml2/

  3. 单击 Save(连接)。

  4. 刷新浏览器页面,确保重新生成证书。

    临时性标识符和回复 URL 首次更新后,证书的指纹和有效期也会随之更改。

5

在 SAML Signing Certificate 部分中,单击 Certificate (Base64) 旁边的 Download。

您可以在本教程的后面将此签名证书上传到 MongoDB Federation Management Console。

6

如果不使用角色映射,请跳过此步骤。

要使用角色映射,请将以下组声明添加到 Microsoft Entra ID 发送到 Atlas 的 SAML 令牌中:

  1. 单击 Add a group claim。Azure 显示 Group Claims 面板。

  2. 在 Which groups associated with the user should be returned in the claim? 中,单击 Security groups。

    所选择的群组取决于您在 Azure 环境中配置的群组类型。 您可能需要选择不同类型的群组 来发送相应的群组信息。

  3. 从 Source attribute 下拉菜单中,选择 Group Id 或其他源属性。

    如果选择 Group Id,Azure 将发送安全群组的“对象 ID”,而不是人类可读的群组名称。

    Entra ID支持在 声明中写入群组名称,而不是memberOf GUID。要将 Entra ID配置为发送群组名称,请选择一个不同的源属性来发出仅云群组显示名称。有关详细信息,请参阅使用Microsoft Entra ID配置应用程序的群组声明。

    在 Atlas 中创建角色映射时,请将 SAML 响应中发送的 Azure 群组数据与配置的 Atlas 角色映射名称精确匹配。

  4. 单击 Advanced options 部分中的 Customize the name of the group claim。

  5. 将 Name 设置为 memberOf。

  6. 将 Namespace 留空。

  7. 清除 Emit groups as role claims(允许此应用请求其他 SSO URL)。

  8. 单击 Save(连接)。

7

将这些值粘贴到文本编辑器或其他易于访问的位置。

您可以在本教程后面的 MongoDBFederation Management Console 中输入这些值。

1

为应用程序指定一个描述性名称,例如 MongoDB-Atlas。

要将非图库应用程序添加到 Microsoft Entra ID,请参阅 Azure 文档。

2

将用户分配给应用程序。完成本教程后, 这些用户将可以访问 Atlas 和其他 MongoDB 云服务。

要将 Microsoft Entra ID 用户分配给应用程序,请参阅 Azure 文档。

3

要导航到 SAML 配置页面,请参阅 Azure 文档。

4

要生成有效的 SAML 签名证书,您必须为Microsoft Entra ID企业应用程序的 Identifier 和 Reply URL 分配临时值。如果在设置这些值之前下载证书,下载的证书将不是唯一的,您必须在设置这些值后重新下载证书。

要设置临时值:

  1. 单击第 1 部分中的 Edit。

  2. 删除任何现有的默认值,并设置以下临时值:

    设置
    临时值

    Identifier (Entity ID)

    https://www.okta.com/saml2/service-provider/MongoDBCloud

    Reply URL (Assertion Consumer Service URL).

    https://auth.mongodb.com/sso/saml2/

  3. 单击 Save(连接)。

  4. 刷新浏览器页面,确保重新生成证书。

    临时性标识符和回复 URL 首次更新后,证书的指纹和有效期也会随之更改。

5

为了简化 SAML 配置,您可以删除默认的Additional claims:

  1. 在 User Attributes & Claims 部分中,单击 Edit 图标。

  2. 对于 Additional claims 部分中的每个声明,展开 Context menu,然后单击 Delete。

6

使用以下值:

  • Choose name identifier format: Unspecified

  • Source: Attribute

  • Source attribute: user.userprincipalname

    重要

    选择“来源”属性

    根据您的 Active Directory 配置,包含用户完整电子邮件地址的源属性可以不是 user.userprincipalname。使用包含与您的联邦域内现有 Atlas 用户的用户名相匹配的电子邮件地址的源属性,例如 user.mail。

    对于联合域中的现有 Atlas 用户,选择包含这些用户当前 Atlas 用户名的源属性。

要编辑 Unique User Identifier 必需声明,请参阅 Azure 文档。

7

将以下用户声明添加到 Microsoft Entra ID 发送到 Atlas 的 SAML 令牌中:

重要

Name(名称)列中的值区分大小写。严格按照所示输入。

对于所有用户索赔,必须将 Namespace 字段留空。

名称
源
源属性

firstName

属性

user.givenname

lastName

属性

user.surname

注意

根据您的 Active Directory 配置,您使用的源属性可能会有所不同。将包含用户名字和姓氏的源属性用于相应的声明。

要添加用户声明,请参阅 Azure 文档。

8

如果不使用角色映射,请跳过此步骤。

要使用角色映射,请将以下组声明添加到 Microsoft Entra ID 发送到 Atlas 的 SAML 令牌中:

  1. 单击 Add a group claim。Azure 显示 Group Claims 面板。

  2. 在 Which groups associated with the user should be returned in the claim? 中,单击 Security groups。

    所选择的群组取决于您在 Azure 环境中配置的群组类型。 您可能需要选择不同类型的群组 来发送相应的群组信息。

  3. 从 Source attribute 下拉菜单中,选择 Group Id 或其他源属性。

    如果选择 Group Id,Azure 将发送安全群组的“对象 ID”,而不是人类可读的群组名称。

    Entra ID支持在 声明中写入群组名称,而不是memberOf GUID。要将 Entra ID配置为发送群组名称,请选择一个不同的源属性来发出仅云群组显示名称。有关详细信息,请参阅使用Microsoft Entra ID配置应用程序的群组声明。

    在 Atlas 中创建角色映射时,请将 SAML 响应中发送的 Azure 群组数据与配置的 Atlas 角色映射名称精确匹配。

  4. 单击 Advanced options 部分中的 Customize the name of the group claim。

  5. 将 Name 设置为 memberOf。

  6. 将 Namespace 留空。

  7. 清除 Emit groups as role claims(允许此应用请求其他 SSO URL)。

  8. 单击 Save(连接)。

9

要验证 SAML 签名证书是否使用 SHA-256 签名算法,请参阅Azure文档。

10

在 SAML Signing Certificate 部分中,单击 Certificate (Base64) 旁边的 Download。

您可以在本教程的后面将此签名证书上传到 MongoDB Federation Management Console。

11

将这些值粘贴到文本编辑器或其他易于访问的位置。

您可以在本教程后面的 MongoDBFederation Management Console 中输入这些值。

使用 Federation Management Console 和 Azure 控制台将 Microsoft Entra ID 添加为 IdP:

1
  1. 如果尚未显示,组织从导航栏中的Organizations菜单。

  2. 在侧边栏中,单击 Identity & Access 标题下的 Federation。

  3. 单击 Open Federation Management App(连接)。

显示“联合”页面。

2
  1. 单击 Configure Identity Providers(连接)。

  2. 如果您尚未配置任何身份提供程序,单击 Setup Identity Provider(设置身份提供程序)。否则,在 Identity Providers(身份提供程序)屏幕上,单击 Add Identity Provider(配置身份提供程序)。

  3. 输入或选择以下 SAML 协议设置。所有字段均为必填项:

    字段
    说明

    Configuration Name

    描述性名称,例如 Microsoft Entra ID。

    IdP Issuer URI

    Microsoft Entra ID Identifier 您在本教程上文内容中从 Azure 复制的内容。

    IdP Single Sign-On URL

    Login URL 您在本教程上文内容中从 Azure 复制的。

    IdP Signature Certificate

    Base64您在本教程上文内容中从 Azure 下载的编码 SAML 签名证书。

    您可以执行以下任一操作:

    • 从您的计算机上传证书,或者

    • 将证书内容粘贴到文本框中。

    Request Binding

    HTTP POST.

    Response Signature Algorithm

    SHA-256.

  4. 单击 Next(连接)。

3
  1. 单击 Download metadata(下载元数据)。您在下一步中将该文件上传到 Microsoft Entra ID 中。

  2. 单击 Finish(连接)。

4

要上传文件,请参阅Azure文档中为应用启用单点登录的步骤3 中的屏幕截图。在 SSO 配置页面上单击 Upload metadata file,如链接的Azure文档中的屏幕截图所示。

可选择在 IdP 中添加 RelayState URL,将用户发送到您选择的 URL,避免登录后不必要的重定向。您可以使用:

目的地
RelayState URL

MongoDB Atlas

Login URL 在 Atlas Federation Management 应用程序中为身份提供程序配置生成的。

MongoDB 支持门户

https://auth.mongodb.com/app/salesforce/exk1rw00vux0h1iFz297/sso/saml

MongoDB University

https://auth.mongodb.com/home/mongodb_thoughtindustriesstaging_1/0oadne22vtcdV5riC297/alndnea8d6SkOGXbS297

MongoDB 社区论坛

https://auth.mongodb.com/home/mongodbexternal_communityforums_3/0oa3bqf5mlIQvkbmF297/aln3bqgadajdHoymn297

MongoDB 反馈引擎

https://auth.mongodb.com/home/mongodbexternal_uservoice_1/0oa27cs0zouYPwgj0297/aln27cvudlhBT7grX297

MongoDB JIRA

https://auth.mongodb.com/app/mongodbexternal_mongodbjira_1/exk1s832qkFO3Rqox297/sso/saml

通过将域映射到 IdP, Atlas可以知道域中的用户应被定向到 Login URL 以进行身份提供商程序配置。

访问 Atlas 登录页面时,用户需要输入自己的电子邮件地址。 如果电子邮件域与 IdP 关联,则被发送到该 IdP 的登录 URL。

重要

当您将单个域映射到多个身份提供程序时,使用 MongoDB Cloud 控制台登录的用户会自动重定向到与为 Atlas 配置的第一个 SAML IdP 应用程序关联的 IdP 。

要使用备用身份提供程序,用户必须通过 SP 启动或身份提供程序启动的URL登录。

使用 Federation Management Console 将您的域映射到 IdP:

1
  1. 如果尚未显示,组织从导航栏中的Organizations菜单。

  2. 在侧边栏中,单击 Identity & Access 标题下的 Federation。

  3. 单击 Open Federation Management App(连接)。

显示“联合”页面。

2

输入域 映射信息。

  1. 单击 Add a Domain(连接)。

  2. 在 Domains 屏幕上,单击 Add Domain。

  3. 为域映射输入以下信息:

    字段
    说明

    显示名称

    用于轻松识别域的标签。

    域名

    要映射的域名。

  4. 单击 Next(连接)。

3

选择域验证方法。

注意

您可以选择一次验证方法。不能修改。 如需选择不同的验证方法,请删除域映射,然后重新创建。

根据您是通过上传 HTML 文件还是创建 DNS TXT 记录来验证域,选择相应的标签页:

上传包含验证密钥的 HTML 文件,验证您是否拥有自己的域。

  1. 单击 HTML File Upload(连接)。

  2. 单击 Next(连接)。

  3. 下载 Atlas 提供的 mongodb-site-verification.html 文件。

  4. 将 HTML文件上传到域中的站点。您必须能够访问权限位于 <https://host.domain>/mongodb-site-verification.html 的文件。

  5. 单击 Finish(连接)。

在您的域提供商系统中创建 DNS TXT 记录,以验证您是否拥有自己的域。每个 DNS 记录都会将特定的 Atlas 组织与特定的域关联起来。

  1. 单击 DNS Record(连接)。

  2. 单击 Next(连接)。

  3. 复制所提供的 TXT 记录。TXT 记录具有以下格式:

    mongodb-site-verification=<32-character string>
  4. 登录您的域名提供商(例如 GoDaddy.com 或 networksolutions.com)。

  5. 将 Atlas 提供的 TXT 记录添加到域。

  6. 返回 Atlas 并单击 Finish(完成)。

4

验证域。

Domains 屏幕显示您已映射到 IdP 的未验证和已验证域名。要验证您的域,请单击目标域的 Verify 按钮。 Atlas在屏幕顶部的横幅显示验证是否成功。

5

重要

为避免潜在的安全漏洞,请在验证完成后删除提供的记录文件。

在成功验证您的域后,使用 Federation Management Console(联合管理控制台)将该域与 Microsoft Entra ID 相关联:

1

单击左侧导航栏中的 Identity Providers。

2

对于要与域关联的 IdP,请单击 Associated Domains 旁边的 Edit。

3

选择要与 IdP 关联的域。

4

单击 Confirm(连接)。

重要

开始测试前,复制并保存 IdP 的 Bypass SAML Mode URL。使用此 URL 可在您被 Atlas 组织锁定时绕过联合身份验证。

测试时,请将会话登录到 Federation Management Console,进一步防止锁定。

要了解有关 Bypass SAML Mode 的详情,请参阅旁路 SAML 模式。

使用 Federation Management Console(联合管理控制台)测试您的域与 Microsoft Entra ID 之间的集成:

1

在专用浏览器窗口中,导航到 Atlas 登录页面。

2

输入用户名(通常是电子邮件地址)和已验证的域名。

例子

如果验证的域是 mongodb.com,请使用 username@mongodb.com 形式的电子邮件地址。

3

单击 Next。如果您正确映射了域,您将被重定向到 IdP 进行身份验证。身份验证成功后,您将被重定向回 Atlas。

注意

您可以直接导航到 IdP Login URL,绕过Atlas登录页面。

使用 Federation Management Console 为域用户分配对特定 Atlas 组织的访问权限:

1
  1. 如果尚未显示,组织从导航栏中的Organizations菜单。

  2. 在侧边栏中,单击 Identity & Access 标题下的 Federation。

  3. 单击 Open Federation Management App(连接)。

显示“联合”页面。

2
  1. 单击 Link Organizations(连接)。

    Atlas 显示您属于 Organization Owner(组织所有者)的所有组织。

    尚未连接到联合应用程序的组织在 Actions(操作)列中具有 Configure Access(连接)按钮。

  2. 单击所需组织的 Configure Access(连接)按钮。

3
  1. 在 Identity Provider 屏幕上,单击 Connect Identity Provider。

    Atlas 会将您引导至 Identity Providers(身份提供程序)页面,显示您已链接 Atlas 的所有 IdP。

  2. 对于要应用组织的IdP,请单击 Connect。

  3. 在 Apply Identity Provider to Organizations 模态窗口中,选择此 IdP 适用的组织。

  4. 单击 Confirm(连接)。

4
  1. 单击左侧导航栏中的 Linked Organizations。

  2. 在 Organizations 列表中,确保所需组织现已拥有所需的 Identity Provider。

您可以为联合身份验证配置以下高级选项, 以便更好地控制联邦用户和身份验证流程:

注意

以下联合身份验证高级选项要求您映射一个组织。

您分配给Microsoft Entra ID应用程序的所有用户都可以使用其在 Login URL 上的Microsoft Entra ID凭证登录Atlas 。用户可以访问权限您映射到 IdP 的组织。

重要

当您将单个域映射到多个身份提供程序时,使用 MongoDB Cloud 控制台登录的用户会自动重定向到与为 Atlas 配置的第一个 SAML IdP 应用程序关联的 IdP 。

要使用备用身份提供程序,用户必须通过 SP 启动或身份提供程序启动的URL登录。

如果您选择默认组织角色,则使用 Login URL(登录 URL)登录 Atlas 的新用户将拥有您指定的角色