Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SSO 常见问题

获取有关 Mist 的 SSO 实施、要求、配置等常见问题的解答。

问:我应该了解 Mist 的 SSO 实现有哪些基础知识?

答:Mist 在我们产品的多个部分支持基于 SAML2.0 的 SSO,并且实现相同。虽然本文档是为管理员 SSO 编写的,但我们还支持用于访客访问的 SSO,以及实现相同的 PPSK 自行配置,但必需属性除外。因此,本文档可以应用于 Mist 的所有 SSO。

Mist 中的用户帐户可以是三种类型的帐户之一,具体取决于它对Mist进行身份验证的方式;作为本地帐户进行Mist、SSO 帐户或 OAUTH2 帐户。帐户只能是其中一种类型。因此,SSO 帐户将始终通过 IdP 向Mist进行身份验证(除非用户更改其帐户类型)。

请确保对 IdP 断言和响应进行签名,并在断言中返回正确的属性,并将属性名称正确大写。

问:Mist SSO 访问支持哪些 IdP?

答:Mist支持任何支持 SAML2.0 的 IdP。

问:Mist是否支持 SP 和 IdP 发起的 SSO?

答:是的,Mist支持 SP 和 IdP 发起的 SSO。但需要注意的是,SSO 用户要Mist的首次登录必须由 IdP 发起。另请注意,对于 SP 发起的登录,在 IdP 中输入的实体 ID 必须与 ACS URL 相同。

问:我需要在断言中发送哪些属性?

答:以下是Mist SAML 断言中期望的属性:

请注意,大小写很重要。

  • 姓名ID
  • 角色
  • 名字
  • 姓氏

NameID 为必填项。角色是必需的,除非通过 API 进行配置default_role。建议使用 FirstName 和 LastName,否则您将看到 ? ?作为用户的名字和姓氏。

问:您支持哪些 NameID 格式?

答:NameID 用作用户的唯一标识符。我们支持电子邮件和未指定。大多数人使用电子邮件,但只要您在 Mist SSO 配置中配置未指定,您就可以发送任何内容。如果您使用 unspecified,您可以向我们发送大多数内容,只要它是唯一且一致的。您将看到我们为用户生成一个唯一的 ID,Mist未指定。

问:角色有什么用途?

答:角色用于派生应授予用户的权限。断言中返回的角色将与“组织设置”页上Mist SSO 角色配置中的“角色”匹配。请注意,用户权限是在每次登录 SSO 时动态生成的。

问:是否可以为一个用户返回多个角色?

答:是的,如果返回并匹配了多个角色,我们将获取权限的超集。请注意,默认情况下必须匹配所有角色,否则用户将被拒绝访问。为了允许角色的部分匹配,有一个 API 选项ignore_unmatched_roles。或者,当没有匹配的角色时,还有一个 API 选项default_role。

我们在断言中接受各种格式的多个角色。多个角色可以作为逗号分隔、多个 AttributeValue 对或使用 CN 解析发送。以下是一些示例:

逗号分隔的“角色”属性

# 解析的角色列表

多个“角色”属性值对

# 解析的角色列表

逗号分隔和多个 AV 对的组合

# 解析的角色列表

CN 提取示例 – “role_attr_extraction”: “CN”,

# 解析的角色列表

问:如何解决 SSO 故障?

答:您可以通过发出以下 API 调用来查看失败: {api_endpoint}/api/v1/orgs/:{org_id}/ssos/:{sso_id}/failures

您将看到失败原因以及收到的断言。

要发出 API 调用,您需要将斜体括号中的术语替换为实际值。

  • {api_endpoint}

    如果您不确定组织的 API 终端节点 URL,可以从Juniper Mist门户 URL 派生该 URL。门户 URL 以 manage 开头。相应的 API 端点 URL 将 manage 替换为 api。请注意以下示例中的粗体字符。

    门户 URL

    manage.ac2.mist.com/admin/?org_id=xxxxxxx-xxxx-xxx

    对应的 API 端点 URL

    api.ac2.mist.com/admin/?org_id=xxxxxxx-xxxx-xxx

  • {org_id}

    您还可以在Juniper Mist门户 URL 中找到您的组织 ID。ID 显示在字符 org_id= 之后。请注意以下示例中的粗体字符。

    门户 URL 中的组织 ID

    manage.ac2.mist.com/admin/?org_id=12345678-1A2B-3456CDEF-XYZ123

  • {sso_id}

    若要查找 SSO ID,请发出以下 API 调用: {api_endpoint}/api/v1/orgs/:{org_id}/ssos

    在 ID 字段中查找你的 SSO ID。

问:是否需要在 Mist 中手动预配 SSO 用户?

答:不,你不知道。SSO 用户的访问权限由 IdP 按需授予。也就是说,SSO 用户由 IdP 进行身份验证,而不是 Mist。对 Mist 仪表板的访问级别由与Mist中定义的角色匹配的断言中返回的角色属性控制。

问:SSO 用户的首次登录流程是怎样的?

向 SSO 用户提供Mist组织的 SSO URL,以便首次登录。此步骤仅在首次登录时是必需的,以便将帐户建立为 SSO 帐户。之后,他们可以使用 SSO URL 或直接转到Juniper Mist门户 (manage.mist.com)。有关使用 SSO 进行用户设置的详细信息,请参阅 添加标识提供者和用户

问:如何知道哪些 SSO 用户访问了我的组织?

答:您可以查看“组织”选项卡下的“审核日志”。您将看到类似以下内容的日志: Austin Powers austin@groovy.com 使用角色“Groove-Master”登录

问:Mist有元数据文件吗?

答:是的,可以找到 /api/v1/orgs/:org_id/ssos/:sso_id/metadata 或 /metadata.xml。

例如:

问:我的组织中需要多个 SSO。Mist支持吗?

答:是的,当然。支持一个组织内的多个 SSO。请记住,虽然一个组织可以拥有多个 SSO,并且一个用户可以拥有多个组织的权限,但Mist中的 SSO 用户只能“属于”一个 SSO。当您拥有“开发”和“生产”SSO 并对两者使用相同的电子邮件时,这通常最为相关。

问:我有多个组织,我可以对多个组织使用 SSO 吗?

答:是的,这也是可能的。它可以通过两种方式处理。首先,你有一个“主”组织,你在其中拥有 SSO。然后,您可以手动邀请用户加入您的第二个组织。当他们登录时,他们会看到两个组织都已列出。第二种方法是使用我们的 MSP 功能(这是一种受控访问功能)。如果将 SSO 放在 MSP 级别并根据返回的角色,用户将有权访问 MSP,或者仅有权访问 MSP 中的特定组织。

问:在 Mist 中删除 SSO 时会发生什么情况?

答:删除某个 SSO 时,它会自动删除Mist中与该 SSO 关联的所有用户帐户。这在从一个 SSO 迁移到另一个 SSO(例如“dev”到“production”)时特别有用。

问:API 令牌如何与 SSO 用户配合使用?

答:SSO 用户可以使用组织 API 令牌。超级用户可以创建具有必要权限的组织 API。SSO 用户不支持“基于用户”的 API 令牌。或者,也可以根据客户偏好使用本地服务帐户。

问:我是否需要Mist内的本地用户?

答:开始使用 SSO 时,可以在 Mist 中删除以前创建的任何本地用户帐户,但一个帐户除外。建议保留一个具有超级用户角色的本地用户,以确保在 SSO 出现问题时不会被锁定在组织之外。由于用户不能同时将一个电子邮件地址用于 SSO 和本地帐户,因此本地帐户应使用与 SSO 一起使用的电子邮件地址不同的电子邮件地址进行设置。例如,对本地帐户使用个人电子邮件地址,对 SSO 帐户使用工作电子邮件地址。有关设置 SSO 用户的步骤的详细信息,请参阅 添加标识提供者和用户