使用 SAML 2.0 身份提供程序设置单点登录
单点登录 (SSO) 是一种身份验证方法,允许您使用一组登录凭据安全地登录到多个应用程序和网站。
安全断言标记语言 (SAML) 是服务提供商 (SP) 和身份提供商 (IdP) 之间身份验证和授权的框架。在这里,使用数字签名的 XML 文档交换身份验证。服务提供商同意信任 IdP 对用户进行身份验证。作为回报,IdP 会生成一个身份验证断言,指示用户已通过身份验证。
好处
-
借助 SAML 身份验证,您可以轻松地将瞻博网络 ATP 云与您的企业身份提供商 (IdP) 集成,以提供单点登录。如果您通过了 IdP 身份验证,则会自动通过瞻博网络 ATP 云的身份验证。您不必在每次访问瞻博网络 ATP 云门户时记住单独的密码或输入凭据。
-
我们仅对服务提供商发起的 SSO 支持 SAML 协议。瞻博网络 ATP 云作为服务提供商与 SAML 2.0 Web SSO 配置文件兼容。
步骤 1:在 IdP 中配置 SSO 设置
示例:使用 Okta 作为 IdP 配置 SSO
本部分提供将 Okta 作为身份提供程序 (IdP) 配置 SSO 的分步说明:
-
本节中提供的信息基于 Okta 实施的具有 SAML 的当前 SSO,可能会发生更改。有关更多详细信息,请参阅 Okta 文档。
- 您必须已经拥有 Okta 帐户。
- 您必须以管理员身份登录才能执行以下操作。
- 登录到 Okta 门户。
- 导航到应用程序,然后单击 应用程序>创建应用程序集成。
- 在登录方法部分中,选择 SAML 2.0,然后单击下一步。
- 输入应用程序的常规设置,例如应用程序名称、应用程序徽标和应用程序可见性。单击 下一步。
- 配置 SAML 设置。有关指南,请参阅 表 1。
- 单击 下一步。
- 选择您是客户还是合作伙伴。单击 完成。
您的应用程序现在已添加到 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 云的 SP 实体 ID(全局唯一标识符)。 |
默认中继状态 |
(可选)标识 IdP 启动的单点登录方案中的特定应用程序资源。在大多数情况下,这是空白的。 瞻博网络 ATP 云不支持 IdP 发起的 SSO。我们建议您将此字段留空。 |
名称 ID 格式 |
标识断言主题语句的 SAML 处理规则和约束。从列表中选择名称 ID 格式。使用默认值“未指定”,除非应用程序明确要求特定格式。 瞻博网络 ATP 云 Web 门户中未使用此字段,因此保留默认值。 |
应用程序用户名 |
确定用户的应用程序用户名的默认值。应用程序用户名用于断言的主题语句。从列表中选择应用程序用户名。 瞻博网络 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 云中未使用此字段,因此保留默认值。 |
荣誉强制认证 |
如果 SP 请求,提示用户重新进行身份验证。 瞻博网络 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 |
姓氏 | 未指定 | user.lastName |
电子邮件 | 未指定 | user.email |
名字和姓氏属性是可选的。在瞻博网络 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 文档。
- 必须已拥有 Azure Microsoft帐户。
- 您必须以管理员身份登录才能执行以下操作。
- 登录到 Azure 门户。
- 单击 Azure Active Directory > Enterprise Applications。
- 单击“ + 新建应用程序”>“+创建自己的应用程序”。
- 输入应用程序名称,然后单击 创建。
新应用程序列在“所有应用程序”页中。
- 单击应用程序名称。
- 单击 分配用户和组>添加用户/组。
此时将显示添加分配页面。
- 单击 未选择任何内容。从 用户和组 列表中选择用户和组,然后单击 选择。
注意:
将组分配给应用程序时,只有直接位于组中的用户才具有访问权限。分配不会级联到嵌套组。
- 单击 分配。有关示例用户和组,请参阅 表 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 包含此应用程序的登录页,该应用程序将执行服务提供商启动的单一登录。如果要执行身份提供程序启动的 SSO,请将其留空。 |
中继状态 |
(可选)中继状态指示应用程序在身份验证完成后将用户重定向到何处,该值通常是将用户带到应用程序中特定位置的 URL 或 URL 路径。此表单中的值仅在 IdP 启动的 SSO 流中生效。 瞻博网络 ATP 云不支持 IdP 发起的 SSO。我们建议您将此字段留空。 |
用户属性和声明 定义要与 ATP 关联的访问控制组的参数。访问控制组映射到瞻博网络 ATP 角色。 |
|
唯一用户标识符 |
(可选)提供名称 ID。 示例:user.userprincipalname [nameid-format:emailAddress] |
+添加新声明 |
定义 Azure AD 用于填充颁发给瞻博网络 ATP 云的 SAML 令牌的声明。 要添加新声明,请执行以下操作:
请参阅 表 7。
注意:
名字和姓氏属性是可选的。在瞻博网络 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 云) |
|
登录网址 |
显示 Azure Microsoft登录 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/ |
注销网址 |
显示 Azure Microsoft注销 URL。 瞻博网络 ATP 云尚不支持此字段。 |
属性名称 | 源属性值 | 说明 |
---|---|---|
名字 | user.givenname | 给定名称属性将用于映射 ATP 云中用户的姓氏。 |
姓 | 用户姓氏 | 姓氏属性将用于映射 ATP 云中用户的姓氏。 |
电子邮件地址 | 用户邮箱 | |
电子邮件地址属性将用于映射 ATP 云中用户的电子邮件地址。 |
步骤 2:在瞻博网络 ATP 云 Web 门户中配置 SSO 设置
请参阅 配置 SSO 设置。
步骤 3:激活 SSO 配置
要激活 SSO 配置,请登录到瞻博网络 ATP 云门户,导航到 “管理>单一登录设置 ”,然后单击 激活。
步骤 4:测试 SSO 配置
由服务提供商(瞻博网络 ATP 云)发起的 SSO — 使用 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 的多重身份验证。
-
- 密码
-
忘记密码的 SSO 用户必须登录到 IdP 站点才能重置密码。当用户尝试通过提供域名进行 SSO 时,ATP 云门户会将用户重定向到 IdP 站点进行身份验证。如果用户身份验证在 IdP 站点中失败。则用户必须从 IdP 站点重置密码。
-
瞻博网络 ATP 云门户中的忘记密码选项适用于未配置 SSO 的领域。
-