使用 SAML 2.0 身份提供程序设置单一登录
单点登录 (SSO) 是一种身份验证方法,可让您使用一组登录凭据安全地登录到多个应用程序和网站。
安全断言标记语言 (SAML) 是服务提供商与身份提供商 (IdP) 之间用于身份验证和授权的框架。在这里,使用数字签名的 XML 文档交换身份验证。服务提供商同意信任 IdP 来对用户进行身份验证。作为回报,IdP 会生成一个身份验证断言,指示用户已通过身份验证。
好处
-
借助 SAML 身份验证,您可以轻松地将瞻博网络 ATP 云与公司 IdP 集成以提供 SSO。如果您已通过 IdP 身份验证,系统会自动向瞻博网络 ATP 云进行身份验证。您无需在每次访问瞻博网络 ATP 云门户时记住单独的密码或输入凭据。
-
我们仅支持服务提供商发起的 SSO 使用 SAML 协议。瞻博网络 ATP 云作为服务提供商与 SAML 2.0 Web SSO 配置文件兼容。
Step1: 在 IdP 中配置 SSO 设置
示例:将 Okta 配置为 IdP 的 SSO
本部分提供将 Okta 配置为 IdP 的 SSO 的分步说明:
-
本部分提供的信息基于 Okta 当前实施的带有 SAML 的 SSO,可能会有所更改。有关详细信息,请参阅 Okta 文档。
- 您必须已经拥有 Okta 的帐户。
- 您必须以管理员身份登录才能执行以下作。
- 登录Okta门户。
- 导航到“应用程序”,然后单击 “应用程序”>“创建应用程序集成”。
- 在“登录方法”部分中,选择“ SAML 2.0 ”,然后单击 “下一步”。
- 输入应用程序的常规设置,例如应用程序名称、应用程序徽标和应用程序可见性。单击 “下一步”。
- 配置 SAML 设置。有关指南,请参阅 表 1。
- 单击 “下一步”。
- 选择您是客户还是合作伙伴。单击 Finish。
您的应用程序现已添加到 Okta。单击 “登录 ”选项卡。Okta IdP 元数据文件可供下载。您可以使用此元数据文件将 Okta IdP SSO 设置动态导入瞻博网络 ATP 云。
- 导航到 目录>组>添加组 并添加组。为每个角色创建单独的组。例如,role_administrator、role_operator、role_observer。
组名很重要。记下组名,因为它将用于瞻博网络 ATP 云门户中的用户角色映射。参见 表 4
. - 单击组名称,然后将用户和应用程序添加到组中。
- 单击 “管理人员” ,然后从列表中选择用户。现在,用户已从 “非成员 ”列表添加到“ 成员 ”列表。
- 点击 保存。现在,用户已分配到该组。
田 |
描述 |
---|---|
常规设置 |
|
单一登录 URL |
使用 HTTP POST 发送 SAML 断言的位置。这通常称为应用程序的 SAML 断言使用者服务 (ACS) URL。 |
受众 URI(SP 实体 ID) |
应用程序定义的唯一标识符,即 SAML 断言的目标受众。这是瞻博网络 ATP 云的服务提供商实体 ID(全局唯一标识符)。 |
默认中继状态 |
(选答)标识 IdP 发起的单一登录方案中的特定应用程序资源。在大多数情况下,此字段为空。 瞻博网络 ATP 云不支持 IdP 发起的 SSO。建议将此字段留空。 |
名称 ID 格式 |
标识断言主题语句的 SAML 处理规则和约束。从列表中选择名称 ID 格式。使用默认值“未指定”,除非应用程序明确要求特定格式。 此字段未在瞻博网络 ATP 云 Web 门户中使用,因此保留默认值。 |
应用程序用户名 |
确定用户的应用程序用户名的默认值。应用程序用户名用于断言的 subject 语句。从列表中选择应用程序用户名。 此字段未在瞻博网络 ATP 云中使用,因此保留默认值。 |
高级设置 |
|
响应 |
确定 SAML 身份验证响应消息是否由 IDP 进行数字签名。需要数字签名以确保 IdP 交换的信息的绝对隐私。 您必须将此字段设置为 “已签名”。 |
断言签名 |
确定 SAML 断言是否经过数字签名。需要数字签名才能确保只有您的 IDP 生成了断言。 您必须将此字段设置为 “已签名”。 |
签名算法 |
确定用于对 SAML 断言和响应进行数字签名的签名算法。 Okta 提供 RSA-SHA256 和 RSA-SHA1 签名算法。您可以设置任何算法。
注意:
RSA-SHA1 即将被弃用,因此我们建议您设置算法 RSA-SHA256。 |
摘要算法 |
确定用于对 SAML 断言和响应进行数字签名的摘要算法。 Okta 提供 SHA256 和 SHA1 摘要算法。您可以设置任何算法。 |
断言加密 |
确定 SAML 断言是否已加密。加密可确保除了发送方和接收方之外,没有人可以理解断言。 仅当您计划在瞻博网络 ATP 云 ATP SSO 设置上启用 加密 SAML 响应 时,才必须将此字段设置为加密。 |
启用单点注销 |
启用 SAML 单一注销。 此字段未在瞻博网络 ATP 云中使用,因此保留默认值。 |
断言内联挂钩 |
此字段处于禁用状态。 此字段未在瞻博网络 ATP 云中使用,因此保留默认值。 |
身份验证上下文类 |
标识断言的身份验证语句的 SAML 身份验证上下文类 此字段未在瞻博网络 ATP 云中使用,因此保留默认值。 |
荣誉力量认证 |
如果服务提供商请求,提示用户重新进行身份验证。 此字段未在瞻博网络 ATP 云中使用,因此保留默认值。 |
SAML 颁发者 ID |
SAML IdP 颁发者 ID 此字段未在瞻博网络 ATP 云中使用,因此保留默认值。 |
属性语句 |
当您创建新的 SAML 集成或修改现有集成时,您可以定义自定义属性语句。这些语句将插入到与瞻博网络 ATP 云共享的 SAML 断言中。
表 2 提供了示例属性语句。 |
组属性语句(可选) |
如果您的 Okta 组织使用组对用户进行分类,则可以将组属性语句添加到与应用程序共享的 SAML 断言中。 用户组映射到 SAML 响应中的属性语句。group 属性有助于识别哪个用户属于哪个组。
您可以为 role_administrtor、role_observer 和 role_operator 创建组属性,并将用户添加到组中。 表 3 中提供了示例组属性语句。 |
预览 SAML 断言 |
单击此项可查看将在断言中使用的 Xml 文件。 |
名称 | 、名称、 | 格式值 |
---|---|---|
名字 | 未指定 | user.firstName(用户.first名称) |
姓氏 | 未指定 | user.lastName |
电子邮件 | 未指定 | user.email |
firstname 和 lastname 属性是可选的。在瞻博网络 ATP 云 SSO SAML 提供商设置中,您必须设置名为 “用户名属性”的必填字段。无论您计划在瞻博网络 ATP 云中设置什么属性值,都必须在 Okta IdP 中设置相同的属性值,否则 SSO 将失败。
例如,如果您计划在瞻博网络 ATP 云 SSO SAML 提供商设置中将 用户名属性 值设置为 user.email,则必须在 Okta IdP 中将属性值设置为 user.email 的相同属性。
名字 |
名称格式 |
滤波器 |
|
---|---|---|---|
角色 |
未指定 |
包含 |
角色 |
Okta 中的角色映射 | 瞻博网络 ATP 云门户中的角色映射 |
---|---|
role_administrator |
在瞻博网络 ATP 云门户中配置 SSO 设置时,将管理员字段设置为 role_administrator。 |
role_operator |
在瞻博网络 ATP 云门户中配置 SSO 设置时,将运算符字段设置为 role_operator。 |
role_observer |
在瞻博网络 ATP 云门户中配置 SSO 设置时,将观察者字段设置为 role_observer。 |
示例:将 Microsoft Azure 配置为 IdP 的 SSO
本部分提供将 Microsoft Azure 配置为 IdP 的 SSO 的分步说明:
-
本部分提供的信息基于 Microsoft Azure 当前实施的带有 SAML 的 SSO,可能会有所更改。有关详细信息,请参阅 Microsoft Azure 文档。
- 您必须已拥有 Microsoft Azure 帐户。
- 您必须以管理员身份登录才能执行以下作。
- 登录到 Azure 门户。
- 单击 “Azure Active Directory >企业应用程序”。
- 单击 “+ 新建应用程序> + 创建自己的应用程序”。
- 输入应用程序名称,然后单击 “创建”。
新应用程序列在“所有应用程序”页中。
- 单击应用程序名称。
- 单击“ 分配用户和组”>“添加用户/组”。
此时将显示“添加分配”页。
- 单击 “未选择”。从 “用户和组 ”列表中选择用户和组,然后单击 “选择”。
注意:
将组分配给应用程序时,只有直接在组中的用户才具有访问权限。分配不会级联到嵌套组。
- 单击 “分配”。有关示例用户和组,请参阅 表 5
- 导航到 “管理>单一登录> SAML”。按照 表 6 中提供的准则配置设置。
- 单击 “测试 ”以检查 SSO 是否正常工作。
注意:
必须先将用户添加到“用户”和“组”,然后才能登录。
- 导航到 “安全>令牌加密”>“导入证书 ”并上传加密证书。IdP 管理员必须生成并上传证书才能启用令牌加密
显示名称 | 对象类型 | 分配的角色 |
---|---|---|
role_administrator |
群 |
用户 |
role_observer |
群 |
用户 |
role_operator |
群 |
用户 |
田 |
描述 |
---|---|
基本 SAML 配置 |
|
标识符(实体 ID) |
(必填)默认标识符将是 IDP 发起的 SSO 的 SAML 响应的受众。此值在 Azure Active Directory 租户中的所有应用程序中必须是唯一的 |
回复 URL(断言使用者服务 URL) |
(必填)对于 IDP 发起的 SSO,默认回复 URL 将是 SAML 响应中的目标地址。回复 URL 是应用程序期望接收身份验证令牌的位置。这在 SAML 中也称为“断言消费者服务”(ACS)。 |
登录 URL |
(选答)此 URL 包含此应用程序的登录页,该应用程序将执行服务提供商发起的 SSO。如果要执行 IdP 发起的 SSO,请将其留空。 |
中继状态 |
(选答)中继状态指示应用程序在身份验证完成后将用户重定向到何处,该值通常是将用户带到应用程序内特定位置的 URL 或 URL 路径。此表单中的值仅在 IdP 发起的 SSO 流中生效。 瞻博网络 ATP 云不支持 IdP 发起的 SSO。建议将此字段留空。 |
用户属性和声明 定义要与 ATP 关联的访问控制组的参数。访问控制组映射到瞻博网络 ATP 角色。 |
|
唯一用户标识符 |
(选答)提供名称 ID。 示例:user.userprincipalname [nameid-format:emailAddress] |
+添加新声明 |
定义 Azure AD 用于填充颁发给瞻博网络 ATP 云的 SAML 令牌的声明。 要添加新声明,请执行以下作:
请参阅 表 7。
注意:
givenname 和 surname 属性是可选的。在瞻博网络 ATP 云 SSO SAML 提供商设置中,您必须设置名为 “用户名属性”的必填字段。无论你计划在瞻博网络 ATP 云中设置什么属性值,都必须在 Azure IdP 中设置相同的属性值,否则 SSO 将失败。 例如,如果计划在瞻博网络 ATP 云 SSO SAML 提供商设置中将 “用户名属性 ”值设置为 电子邮件地址,则必须在 Azure IdP 中将属性值设置为 user.mail 的相同属性名称。 |
+ 添加组声明 |
定义 Azure AD 用于填充颁发给瞻博网络 ATP 云的 SAML 令牌的组声明。 要添加新的组声明,请执行以下作:
|
SAML 签名证书 |
|
地位 |
显示 Azure AD 用于对颁发给应用程序的 SAML 令牌进行签名的 SAML 证书的状态。 |
指纹 |
显示 SAML 证书的指纹。 |
呼气 |
显示 SAML 证书的到期日期。 |
通知电子邮件 |
显示通知电子邮件地址。 |
应用联合元数据 URL |
显示 SAML 的 Azure IdP 元数据 URL。 |
证书 (Base64) |
(选答)单击以下载 Base64 证书。 |
证书(原始) |
(选答)单击以下载原始证书。 |
联合元数据 XML |
(选答)单击以下载联合元数据文档。 |
签名算法 | 确定用于对 SAML 断言和响应进行数字签名的签名算法。 Azure 提供 RSA-SHA256 和 RSA-SHA1 签名算法。您可以设置任何算法。
注意:
RSA-SHA1 即将被弃用,因此我们建议您设置算法 RSA-SHA256。 |
设置应用程序(瞻博网络 ATP 云) |
|
登录 URL |
显示 Microsoft Azure 的登录 URL。您将被重定向到登录 URL 进行身份验证。 示例: https://login.microsoftonline.com/ff08d407-69c4-4850-9af0-29034d31ab36/saml2 |
Azure AD 标识符 |
显示 SAML 断言的目标受众。它是 Azure IdP 的实体 ID(全局唯一标识符)。 示例: https://sts.windows.net/ff08d407-69c4-4850-9af0-29034d31ab36/ |
注销 URL |
显示 Microsoft Azure 的注销 URL 瞻博网络 ATP 云尚不支持此字段。 |
属性名称 | 源属性值 | 说明 |
---|---|---|
名字 | user.givenname | givenname 属性将用于映射 ATP 云中用户的姓氏。 |
姓 | user.surname | surname 属性将用于在 ATP 云中映射用户的姓氏。 |
电子邮件地址 | user.mail | |
emailaddress 属性将用于在 ATP 云中映射用户的电子邮件地址。 |
步骤 2:在瞻博网络 ATP 云 Web 门户中配置 SSO 设置
请参阅 配置 SSO 设置。
步骤 3:激活 SSO 配置
要激活 SSO 配置,请登录瞻博网络 ATP 云门户,导航到 “激活”。
”,然后单击步骤 4:测试 SSO 配置
由服务提供商发起的 SSO(瞻博网络 ATP 云)- 使用 SSO 登录瞻博网络 ATP 云 Web 门户。如果您在使用 IdP SSO 进行身份验证之前登录瞻博网络 ATP 云 Web 门户,则基于 ATP 云领域,您将被重定向到 IdP 门户进行身份验证。使用 IdP 进行身份验证后,您将登录到瞻博网络 ATP 云 Web 门户。
-
身份提供商 - 当您登录 IdP SSO 帐户时,它会提供与 IdP 集成的应用程序列表,您可以访问任何应用程序。例如,如果单击瞻博网络 ATP 云应用程序,系统会定向到瞻博网络 ATP 云 Web 门户。
SSO 配置疑难解答
使用以下信息排查将 SAML 2.0 与瞻博网络 ATP 云搭配使用时出现的错误和问题。
- 领域
-
SSO 设置是按领域配置的。本地用户和 SAML 用户都可以在一个领域中共存。默认情况下,领域创建者(管理员)是本地用户。
-
如果由于配置不正确而导致 SSO 失败,并且 SSO 用户无法登录,请联系对该领域具有本地登录访问权限的领域创建者(管理员)。管理员可以使用 ATP 云客户门户 URL 登录并修复领域的 SSO 配置。
-
- 角色映射
-
瞻博网络 ATP 云将“管理员”、“作员”、“观察者”角色设置为用户配置文件创建用例的一部分。
-
若要使用 IdP 对 ATP 用户进行身份验证,您需要在 IdP 中至少有一个定义 ATP 用户的组,该组最终将映射到 ATP 角色。
-
用户可以为每种 ATP 角色类型创建一个 IdP 组:“管理员”、“作员”、“观察者”,并在 IdP 配置期间适当地映射角色。
-
如果用户组与 IdP 上的映射不匹配,则会向用户显示错误消息。
-
- 多重身份验证
-
如果 IdP 提供自己的升级身份验证功能,则 SSO 用户将被重定向到 SSO 站点进行升级身份验证。如果启用了单点登录,则瞻博网络 ATP 云上的多重身份验证将被禁用。
-
同一领域的本地用户可以继续使用 ATP 的多重身份验证 (MFA)。
-
- 密码
-
忘记密码的 SSO 用户必须登录 IdP 站点才能重置密码。当用户尝试通过提供领域名称进行 SSO 时,ATP 云门户会将用户重定向到 IdP 站点进行身份验证。如果 IdP 站点中的用户身份验证失败。然后,用户必须从 IdP 站点重置密码。
-
瞻博网络 ATP 云门户中的忘记密码选项适用于未配置 SSO 的领域。
-