Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 SAML 2.0 身份提供程序设置单点登录

单点登录 (SSO) 是一种身份验证方法,允许您使用一组登录凭据安全地登录到多个应用程序和网站。

安全断言标记语言 (SAML) 是服务提供商 (SP) 和身份提供商 (IdP) 之间身份验证和授权的框架。在这里,使用数字签名的 XML 文档交换身份验证。服务提供商同意信任 IdP 对用户进行身份验证。作为回报,IdP 会生成一个身份验证断言,指示用户已通过身份验证。

好处

  • 借助 SAML 身份验证,您可以轻松地将瞻博网络 ATP 云与您的企业身份提供商 (IdP) 集成,以提供单点登录。如果您通过了 IdP 身份验证,则会自动通过瞻博网络 ATP 云的身份验证。您不必在每次访问瞻博网络 ATP 云门户时记住单独的密码或输入凭据。

  • 我们支持身份提供商发起的 SSO 和服务提供商发起的 SSO 的 SAML 协议。瞻博网络 ATP 云作为服务提供商与 SAML 2.0 Web SSO 配置文件兼容。

步骤 1:在 IdP 中配置 SSO 设置

示例:使用 Okta 作为 IdP 配置 SSO

本部分提供将 Okta 作为身份提供程序 (IdP) 配置 SSO 的分步说明:

注意:
  • 本节中提供的信息基于 Okta 实施的具有 SAML 的当前 SSO,可能会发生更改。有关更多详细信息,请参阅 Okta 文档

  • 您必须已经拥有 Okta 帐户。
  • 您必须以管理员身份登录才能执行以下操作。
  1. 登录到 Okta 门户。
  2. 导航到应用程序,然后单击 应用程序>创建应用程序集成
  3. 在登录方法部分中,选择 SAML 2.0,然后单击下一步
  4. 输入应用程序的常规设置,例如应用程序名称、应用程序徽标和应用程序可见性。单击 下一步
  5. 配置 SAML 设置。有关指南,请参阅 表 1
  6. 单击 下一步
  7. 选择您是客户还是合作伙伴。单击 完成

    您的应用程序现在已添加到 Okta。单击 登录 选项卡。Okta IdP 元数据文件可供下载。您可以使用此元数据文件将 Okta IdP SSO 设置动态导入瞻博网络 ATP 云。

  8. 导航到 目录>组>添加组 并添加组。为每个角色创建单独的组。例如,role_administrator、role_operator role_observer。

    组名称很重要。记下组名称,因为它将用于瞻博网络 ATP 云门户中的用户角色映射。见 表4

    .
  9. 单击组名称并将用户和应用程序添加到该组。
  10. 单击“ 管理人员 ”,然后从列表中选择用户。现在,用户已从 “非成员 ”列表添加到 “成员 ”列表。
  11. 单击 保存。现在,用户已分配到该组。
表 1:Okta 的 SSO SAML 设置

领域

描述

常规设置

单点登录 URL

通过 HTTP POST 发送 SAML 断言的位置。这通常称为应用程序的 SAML 断言使用者服务 (ACS) URL。

示例: https://canada.sky.junipersecurity.net/portal/sso/acs

受众 URI(SP 实体 ID)

应用程序定义的唯一标识符,是 SAML 断言的目标受众。这是瞻博网络 ATP 云的 SP 实体 ID(全局唯一标识符)。

示例: https://canada.sky.junipersecurity.net

默认中继状态

(可选)标识 IDP 启动的单点登录方案中的特定应用程序资源。在大多数情况下,这是空白的。

建议将此字段留空。

名称 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 断言中。

  1. 名称 ― 属性的引用名称。最大长度为 512 个字符。Name 属性在所有用户和组属性语句中必须是唯一的。您可以在此处指定瞻博网络 ATP 云的映射。例子
    • 名字(可选)
    • 姓氏(可选)
    • 用户名(必填)
    注意:

    用户名属性对于瞻博网络 ATP 云是必需的。它用于登录瞻博网络 ATP 云门户。

  2. 名称格式 ― 名称属性的格式。支持的格式包括:
    1. 未指定 — 可以是 Okta 配置文件定义的任何格式,并且必须由应用程序解释。
    2. URI 引用 — 名称作为统一资源标识符字符串提供。
    3. 基本 - 一个简单的字符串;如果未指定其他格式,则为默认值。
  3. 值 ― Name 元素定义的属性的值。管理员可以创建自定义表达式(使用 Okta 表达式语言)来引用 Okta 用户配置文件中的值。此字段的最大长度为 1024 个字符。

表 2 中提供了示例属性语句。

组属性语句(可选)

如果您的 Okta 组织使用组对用户进行分类,则可以将组属性语句添加到与您的应用程序共享的 SAML 断言中。

用户的组将映射到 SAML 响应中的属性语句。group 属性有助于识别哪个用户属于哪个组。

  1. 在 SAML 应用中输入组属性的名称。 示例:角色
  2. 选择名称格式。
  3. 为表达式选择过滤选项:“开头为”、“等于”、“包含”或“匹配”正则表达式
  4. 键入将用于与 Okta 组名值匹配并添加到 SAML 断言的表达式。

您可以为role_administrtor、role_observer和role_operator创建组属性,并将用户添加到组中。

表 3 中提供了示例组属性语句。

预览 SAML 断言

单击以查看将在断言中使用的 XML 文件。

表 2:Okta 的示例属性语句
名称 名称格式值
名字 未指定 user.firstName
姓氏 未指定 user.lastName
电子邮件 未指定 user.email
注意:

名字和姓氏属性是可选的。在瞻博网络 ATP 云 SSO SAML 提供程序设置中,您必须设置一个名为 用户名属性的必填字段,无论您计划在瞻博网络 ATP 云中设置什么属性值,都必须在 Okta IdP 中设置相同的属性值,否则 SSO 将失败。

例如,如果您计划将瞻博网络 ATP 云 SSO SAML 提供程序设置中的 用户名属性 值设置为 user.email,则必须在 Okta IdP 中将同一属性设置为 user.email 属性值。

表 3:Okta 的示例组属性语句

名字

名称格式

滤波器

 

作用

未指定

包含

作用

表 4:Okta 中的示例角色映射
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) 的分步说明:

注意:
  • 本节中提供的信息基于 Microsoft Azure 实施的带有 SAML 的当前 SSO,可能会发生更改。有关更多详细信息,请参阅 Microsoft Azure 文档

  • 您必须已经拥有 Microsoft Azure 帐户。
  • 您必须以管理员身份登录才能执行以下操作。
  1. 登录到 Azure 门户。
  2. 单击 Azure Active Directory > Enterprise Applications
  3. 单击“ + 新建应用程序”>“+创建自己的应用程序”。
  4. 输入应用程序名称,然后单击 创建

    新应用程序列在“所有应用程序”页中。

  5. 单击应用程序名称。
  6. 单击 分配用户和组>添加用户/组

    此时将显示添加分配页面。

  7. 单击 未选择任何内容。从 用户和组 列表中选择用户和组,然后单击 选择
    注意:

    将组分配给应用程序时,只有直接位于组中的用户才具有访问权限。分配不会级联到嵌套组。

  8. 单击 分配。有关示例用户和组,请参阅 表 5
  9. 导航到 管理 SAML >单一登录>。按照 表 6 中提供的指南配置设置。
  10. 单击 “测试 ”以检查 SSO 是否正常工作。
    注意:

    必须先将用户添加到用户和组,然后才能登录。

  11. 导航到 安全>令牌加密>导入证书 并上传加密证书。IdP 管理员必须生成并上传证书才能启用令牌加密
表 5:Microsoft Azure 的示例用户和组设置
显示名称 对象类型 角色分配

role_administrator

用户

role_observer

用户

role_operator

用户

表 6:Microsoft Azure 的 SSO 设置

领域

描述

基本 SAML 配置

标识符(实体 ID)

(必填)默认标识符将是 IDP 发起的 SSO 的 SAML 响应的受众。此值在 Azure Active Directory 租户中的所有应用程序中必须是唯一的

示例: https://amer.sky.junipersecurity.net

回复 URL(断言使用者服务 URL)

(必填)对于 IDP 发起的 SSO,默认回复 URL 将是 SAML 响应中的目标。回复 URL 是应用程序期望接收身份验证令牌的位置。这在 SAML 中也称为“断言消费者服务”(ACS)。

示例: https://amer.sky.junipersecurity.net/portal/sso/acs

登录网址

(可选)此 URL 包含此应用程序的登录页,该应用程序将执行服务提供商启动的单一登录。如果要执行身份提供程序启动的 SSO,请将其留空。

中继状态

(可选)中继状态指示应用程序在身份验证完成后将用户重定向到何处,该值通常是将用户带到应用程序中特定位置的 URL 或 URL 路径。此表单中的值仅在 IdP 启动的 SSO 流中生效。

用户属性和声明

定义要与 ATP 关联的访问控制组的参数。访问控制组映射到瞻博网络 ATP 角色。

唯一用户标识符

(可选)提供名称 ID。

示例:user.userprincipalname [nameid-format:emailAddress]

+添加新声明

定义 Azure AD 用于填充颁发给瞻博网络 ATP 云的 SAML 令牌的声明。

要添加新声明,请执行以下操作:

  1. 点击 + 添加新声明

    此时将显示“管理索赔”页面。

  2. 输入声明名称和命名空间。
  3. 选择源。
  4. 从下拉列表中选择源属性。
  5. (可选)指定声明条件。
  6. 单击 保存

请参阅 表 7

注意:

名字和姓氏属性是可选的。在瞻博网络 ATP 云 SSO SAML 提供程序设置中,必须设置一个名为 用户名属性的必填字段。无论计划在瞻博网络 ATP 云中设置什么属性值,都必须在 Azure IdP 中设置相同的属性值,否则 SSO 都将失败。

例如,如果计划将瞻博网络 ATP 云 SSO SAML 提供程序设置中的 用户名属性 值设置为 电子邮件地址,则必须在 Azure IdP 中设置相同的属性名称,并将属性值设置为 user.mail

+ 添加团体声明

定义 Azure AD 用于填充颁发给瞻博网络 ATP 云的 SAML 令牌的组声明。

添加新的组声明:

  1. 点击 + 添加群组声明

    此时将显示“组声明”页。

  2. 对于与用户关联的组,请选择 所有组
  3. 选择源属性。
    • 如果源属性为 sAMAccountName,则必须将角色名称指定为瞻博网络 ATP 云门户中角色映射的属性。例如,角色:role_administrator
    • 如果源属性为组 ID,则必须将引用 ID 指定为瞻博网络 ATP 云门户中角色映射的属性。例如,角色:abcdef
    注意:
    • 源属性仅适用于使用 AAD Connect Sync 1.2.70.0 或更高版本从本地 Active Directory 同步的组。
    • 如果您没有用于拉取用户和组的 Azure Active Directory,请选择组 ID 作为 Azure IdP 中的源属性,并在瞻博网络 ATP 云 SSO 中提供相应的组 ID,以设置组属性。
  4. 选中 “自定义组的名称” 复选框。
  5. 指定名称和命名空间。例如,如果组名称为角色,则在对瞻博网络 ATP 云的 SAML 响应中,组名“role”将是键,键的值将是添加用户的角色名称。
  6. 单击 保存

    创建组声明角色时,其值为 user.groups。

SAML 签名证书

地位

显示 Azure AD 用于签署颁发给应用程序的 SAML 令牌的 SAML 证书的状态。

指纹

显示 SAML 证书的指纹。

到期

显示 SAML 证书的到期日期。

通知电子邮件

显示通知电子邮件地址。

应用联合元数据 URL

显示 SAML 的 Azure IdP 元数据 URL。

示例: https://login.microsoftonline.com/ff08d407-69c4-4850-9af0-29034d31ab36/federationmetadata/2007-06/federationmetadata.xml?appid=6915f8ab-640a-4e1c-bb67-5e81a14f7898

证书 (Base64)

(可选)单击以下载 Base64 证书。

证书(原始)

(可选)单击以下载原始证书。

联合元数据 XML

(可选)单击此项可下载联合元数据文档。

标志性的阿尔戈里塔姆

确定用于对 SAML 断言和响应进行数字签名的签名算法。

Azure 提供 RSA-SHA256 和 RSA-SHA1 签名算法。您可以设置任何算法。

注意:

RSA-SHA1 即将被弃用,因此我们建议您设置算法 RSA-SHA256。

设置应用程序(瞻博网络 ATP 云)

登录网址

显示 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/

注销网址

显示 Microsoft Azure 的注销 URL。

瞻博网络 ATP 云尚不支持此字段。

表 7:为 Azure AD 添加新声明
属性名称 源属性值 说明
名字 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 的领域。