MongoDB Ops Manager为MongoDB Ops Manager用户配置 SAML 身份验证
在此页面上
您可以使用运行安全断言标记语言 ( SAML ) 服务的身份提供商 ( IdP ) 来托管 Ops Manager 用户身份验证和授权。当您尝试在没有经过身份验证的会话的情况下导航到 Ops Manager 时,Ops Manager 会将您定向到您登录的IdP 。完成身份验证后,返回 Ops Manager 应用程序。
本教程介绍如何:
Considerations
用户在 SAML 激活后保持身份验证状态
一旦你将你的 Ops Manager 实例更改为使用SAML身份验证,所有用户将保持登录到当前会话的状态。身份验证更改后,尝试登录 Ops Manager 的用户将被重定向到SAML IdP 。
两个阶段的配置
设置SAML实例时,会应用一些循环逻辑。 要创建有效的集成,请执行以下操作:
IdP需要来自服务提供商的值和
服务提供商需要来自IdP的值。
要开始此集成,请遵循本教程中的先决条件和过程。
先决条件
要配置SAML集成,您必须为SAML IdP执行以下操作:
安装SAML IdP 。
验证 Ops Manager 实例是否可以通过网络访问IdP 。
在SAML IdP中,您必须:
创建映射到 Ops Manager 全局所有者的SAML用户。
创建一个可映射到 Ops Manager Global Owner的SAML群组。
将Global Owner SAML群组分配给您的SAML用户。
为 Ops Manager 创建一个代表 Ops Manager 的新应用程序。
为此新应用程序配置 Ops Manager SAML初始值:
为以下字段设置占位符值:
SP Entity ID or Issuer
Audience URI
Assertion Consumer Service (ACS) URL
为IdP中的以下字段设置实际值:
字段共同价值Signature Algorithm您的IdP可能具有以下一个或多个值:
rsa-sha1
dsa-sha1
rsa-sha256
rsa-sha384
rsa-sha512
Name IDEmail Address
Name ID Formaturn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
使用以下属性值的属性名称创建属性:
邮箱
名
姓
用户组
配置IdP以要求签名 SAML 响应和断言。
保存这些值。
步骤
要配置SAML身份验证,请执行以下操作:
在MongoDB Ops Manager中设置所需的 SAML IdPMongoDB Ops Manager 设置值。
键入以下 SAML 字段的 IdP 值:
字段 | 必要性 | 操作 | 默认 |
---|---|---|---|
身份提供商 URI | 必需 | 输入用于协调单点登录的 IdP 的 URI 。 此URI是来自SAML IdP的IdP Entity ID or Issuer 。 此URI必须与 SAML 响应中的 | 无 |
SSO 端点 URL | 必需 | 输入 IdP 的单点登录 URL 。 此URL是来自IdP的SAML Login URL 。 | 无 |
SLO 端点 URL | Optional | 如果您希望 Ops Manager 用户在 Ops Manager 用户注销 Ops Manager 时注销其 IdP ,请键入要调用的 SAML IdP URL 。 这是来自IdP的SAML Logout URL 。 | 无 |
身份提供商 X509 证书 | 必需 | 在此字段中粘贴IdP的 X.509 证书。 IdP提供PEM格式的证书。 确保包含完整的证书内容(包括且以 这是来自IdP的X.509 Certificate 。 这必须与您用于签署 SAML 响应和断言的X.509 Certificate相同。 | 无 |
身份提供商签名算法 | 必需 | 选择用于加密发送到 IdP 和从IdP接收的签名的算法。 接受的值为:
这是来自IdP的Signature Algorithm 。 | 无 |
需要加密断言 | Optional | 选择IdP是否对其发送到 Ops Manager 的断言进行加密。 | false |
全局角色所有者群组 | 必需 | 在“ SAML群组成员属性”中键入对此部署具有完全特权的群组名称,包括对所有群组的完全访问权限和所有管理权限。 此群组对此 Ops Manager 实例具有 您已将此群组添加到IdP设置中,作为先决条件的一部分。 此值必须与SAML响应中发送的群组成员属性值匹配。 如果使用Azure AD作为IdP ,请在此字段中输入群组的“对象 ID”,而不是群组的名称。 | 无 |
用户名字的SAML属性 | 必需 | 键入包含用户名字的SAML属性的名称 | 无 |
用户姓氏的SAML属性 | 必需 | 键入包含用户姓氏的SAML属性的名称 | 无 |
用户电子邮件的SAML属性 | 必需 | 键入包含用户电子邮件地址的SAML属性的名称。 | 无 |
SAML群组成员属性 | 必需 | 键入包含 Ops Manager 用于将角色映射到项目和组织的群组列表的SAML属性的名称。 | groups |
将任何所需的可选 SAML IdP 设置添加到MongoDB Ops Manager MongoDB Ops Manager。
键入以下 SAML 字段的 IdP 值:
字段 | 必要性 | 操作 | 默认 |
---|---|---|---|
SP 证书 PEM 密钥文件的路径 | Optional | 输入服务提供商用于签署请求的PEM格式证书的绝对文件路径。 该证书包括私钥和公钥。 如果此字段留空:
| 无 |
SP 证书 PEM 密钥文件的密码 | 可选的 | 如果您在 SP PEM文件中加密了私钥,请在此字段中键入其密码。 | 无 |
全局自动化管理员角色 | Optional | 输入其成员具有 此值必须与SAML响应中发送的群组成员属性值匹配。 如果使用Azure AD作为IdP ,请在此字段中输入群组的“对象 ID”,而不是群组的名称。 | 无 |
全局备份管理员角色 | Optional | 输入其成员具有 此值必须与SAML响应中发送的群组成员属性值匹配。 如果使用Azure AD作为IdP ,请在此字段中输入群组的“对象 ID”,而不是群组的名称。 | 无 |
全局监控管理员角色 | Optional | 输入其成员具有 此值必须与SAML响应中发送的群组成员属性值匹配。 如果使用Azure AD作为IdP ,请在此字段中输入群组的“对象 ID”,而不是群组的名称。 | 无 |
全局用户管理员角色 | Optional | 输入其成员具有 此值必须与SAML响应中发送的群组成员属性值匹配。 如果使用Azure AD作为IdP ,请在此字段中输入群组的“对象 ID”,而不是群组的名称。 | 无 |
全局只读角色 | Optional | 输入其成员具有 此值必须与SAML响应中发送的群组成员属性值匹配。 如果使用Azure AD作为IdP ,请在此字段中输入群组的“对象 ID”,而不是群组的名称。 | 无 |
将 SAML 群组与项目角色关联。
要将 SAML 群组与新项目中的角色关联,请执行以下操作:
注意
您必须拥有任何全局角色才能创建新项目。
单击 Admin > General > Projects。
单击 Create a New Project(连接)。
在 Project Name 中,输入新 Ops Manager 项目的名称。
输入与每个项目角色对应的 SAML 群组。
重要
您必须为每个群组使用完全限定的可分辨名称。如果多个 LDAP 或 SAML 群组对应于同一角色,请用两个分号 (
;;
) 分隔。从角色字段中删除群组,将撤消该群组对该角色的访问权限。单击 Add Project(连接)。
要更新 SAML 群组与现有项目中角色的关联,请执行以下操作:
单击 Admin > General > Projects。
在项目的 Actions 栏中,单击,然后单击 Edit SAML Settings。
输入与每个项目角色对应的 SAML 群组。
重要
您必须为每个群组使用完全限定的可分辨名称。如果多个 LDAP 或 SAML 群组对应于同一角色,请用两个分号 (
;;
) 分隔。从角色字段中删除群组,将撤消该群组对该角色的访问权限。单击 Save Changes(连接)。
可选:将 LDAP 群组与组织角色关联。
要将 SAML 群组与新组织的角色关联,请执行以下操作:
注意
您必须拥有全局角色才能创建新组织。
单击 Admin > General > Organizations。
单击 Create a New Organization(连接)。
在Organization Name中,输入新 Ops Manager 组织的名称。
输入与每个组织角色相对应的 SAML 群组。
重要
您必须为每个群组使用完全限定的可分辨名称。如果多个 LDAP 或 SAML 群组对应于同一角色,请用两个分号 (
;;
) 分隔。从角色字段中删除群组,将撤消该群组对该角色的访问权限。单击 Add Organization(连接)。
要更新 SAML 群组与现有组织角色的关联,请执行以下操作:
单击 Admin > General > Organizations。
单击 Edit Org 按钮。
输入与每个组织角色相对应的 SAML 群组。
重要
您必须为每个群组使用完全限定的可分辨名称。如果多个 LDAP 或 SAML 群组对应于同一角色,请用两个分号 (
;;
) 分隔。从角色字段中删除群组,将撤消该群组对该角色的访问权限。单击 Save Changes(连接)。
导出 Ops Manager 元数据。
保存SAML配置后,将显示指向Download the Metadata XML File的链接。
单击此链接可下载SAML SP 元数据 XML 文件。
此元数据文件应类似于以下示例:
1 <?xml version="1.0"?> 2 <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" validUntil="2019-09-13T20:36:00Z" cacheDuration="PT604800S" entityID="http://ec2-3-88-178-252.compute-1.amazonaws.com:8080" ID="ONELOGIN_f95ad815-e8da-4ab3-a799-3c581484cd6a"> 3 <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> 4 <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="http://ec2-3-88-178-252.compute-1.amazonaws.com:8080/saml/logout"/> 5 <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat> 6 <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="http://ec2-3-88-178-252.compute-1.amazonaws.com:8080/saml/assert" index="1"/> 7 </md:SPSSODescriptor> 8 </md:EntityDescriptor>
将 SAML SP 元数据导入 IdP。
如果IdP提供该选项,请将元数据导入IdP 。 Ops Manager 充当IdP的服务提供商 (SP)。
在元数据XML文件中向IdP提供以下值:
字段 | 共同价值 |
---|---|
SP Entity ID or Issuer | <OpsManagerHost>:<Port> |
Audience URI | <OpsManagerHost>:<Port> |
Assertion Consumer Service (ACS) URL | <OpsManagerHost>:<Port>/saml/assert |
Single Logout URL | <OpsManagerHost>:<Port>/saml/logout |
如果缺少一个或多个值,请使用上表中列出的准则来设置这些值。
将这些值保存在IdP中。