Skip to end of metadata
Go to start of metadata

中文标题【基于 Confluence 数据中心的 SAML 单点登录】


安全申明标记语言(Security Assertion Markup Language (SAML))是一个基于 XML 的数据格式,允许各个软件平台通过identity provider (IdP)交换授权信息。最常用的情况是允许用户使用相同的的用户登录信息在不同的软件平台之间进行登录。这个就是我们常说的单点登录(SSO)。

我们为 Confluence 数据中心连接到你的 IdP 提供了这个功能,这样你可以能够为你的用户提供 SSO 功能。这个仅仅能够处理授权。应用的访问和任何其他需要授权的功能,比如说检查用户属于哪个用户组,具有何种角色和具有何种权限应该是在你的目录服务器上或者应用程序本身进行配置。


本页面中的内容:




支持的身份提供系统


SAML 应该能够在支持 SAML 2.0 Web 浏览器 SSO 属性的任何身份提供系统(使用 HTTP 的 POST 绑定)。

我们当前对下面的系统进行了测试:

设置单点登录

你需要为你的用户配置你的应用程序和 IdP 来支持单点登录。

设置 SSL/TLS


请确定 SAML 授权是安全和私有的,你需要在你的应用程序中设置SSL/TLS。 请参考in the application. See Running Confluence Over SSL or HTTPS 页面中的内容。

一旦上面的设置完成,你需要确定你的应用程序的 configured base URL 使用的是 HTTPS 协议。

如果你在你的服务器配置上使用了反向代理(reverse proxy),请阅读下面的文章:

当在反向代理中使用 SSL/TLS,你需要确定你应用服务器请求的 URL 为你的反向代理与完整的域名对应。通常这个可以在 <Connector> 目录中配置,需要配置正确的  proxyNameproxyPort, secure scheme 配置。请阅读上面的文章中的具体配置实例。

设置你的身份提供者

如果你希望 Confluence 提供 SSO,将需要将 Confluence 添加到你的 IdP 中。一些后续的步骤将会与你的 IdP 有关,但是你通常需要:

  • 在你的 IdP 中定义一个 'application'
  • 提供你应用的一些数据,包括在你授权界面中需要的数据。
  • 请确定你 IdP 中的 NameId 用户设置为你 Atlassian 应用的用户名
  • 在应用中给出正确的用户权限

在设置你 IdP 过程的最后,将会提供一些配置你 Atlassian 应用需要的数据。

在你的 Atlassian  应用中配置 SAML 授权

希望在 Confluence 中配置SAML:

  1. Go to

     > 基本配置(General Configuration)

    > SAMl 授权(SAML Authentication
  2. 选择 SAML 单点登录(SAML single sign-on)

    配置下面的设置:

    设置备注

    Single sign-on issuer

    这个值是是由你 IdP 提供的,作为设置 SAML 的一部分。有时候这个被称为 'Entity ID'

    发布者是将会接受授权请求表单的 IdP 应用。

    Identity provider single sign-on URL

    这个值是是由你 IdP 提供的,作为设置 SAML 的一部分

    这个定义的是当登录后你用户将要重定向的 URL。

    X.509 Certificate

    这个值是是由你 IdP 提供的,作为设置 SAML 的一部分。有时候这个被称为 ''Signing certificate'。这个键通常以 '-----BEGIN CERTIFICATE-----' 开头。

    这个含有public key,我们将用这个校验由你 IdP 发出的授权请求。

    Login mode

    这个定义了你的用户可以使用 SSO,通常的可选项为:

    • 使用 SAML 为二级授权(Use SAML as secondary authentication – 默认情况下,应用将使用资金登录表单来登录系统。你可以通过使用 SAML登录,如果到你的 IdP 然后选择你的应用的话,或者使用下面的 URL 进行登录:BASE-URL/plugins/servlet/external-login。我们推荐你使用这个方法,因为你可以用这个方法测试所有的配置,并确定用户可以使用 SSO 登录。
    • 使用 SAML 为主授权(Use SAML as primary authentication) – 在这个模式中,所有基于浏览器的用户将会被从应用登录界面中重定向到 IdP 界面来登录系统,可能可以使用的授权如下:
      • 基本授权(Basic Auth)
      • 通过定义 REST 的基于表单的授权(Form-based auth via dedicated REST endpoint)
      • 存在的记住我令牌(Existing Remember Me tokens)

        你需要确定你的 SAMl 授权正确配置后才可以启用这个模式。
    Remember user logins

    当你选择这个的时候,登录成功的用户将会被浏览器记住。当访问其他浏览器的时候,用户将会自动进行登录而不需要使用 SAMl 进行第二次登录。

    (warning) Confluence 数据中心使用 'remember me' 来启用在 2 个节点中的登录。在这个页面中将 记住用户登录(Existing Remember Me tokens)设置为禁用可以重写 Confluence 的表现同时将会提示用户在移动到另外节点中的时候 Confluence 将会要求再次登录。我们推荐设置  Remember user logins 为启用。

  3. 下面的配置信息在授权界面中提供,同时将会被要求配置你的额 IdP:

    设置名称备注
    Assertion Consumer Service URL

    这个是 IdP  将会返回 SAML 授权请求的地址。

    Audience URL (Entity ID)

    这个是 IdP  准备 SAML 授权请求的地址。

  4. 单击 保存配置(Save configuration)

一旦你顺利完成你的应用程序和你的 IdP 配置后,你可以开始使用 SSO 了。

最佳实践

  • SAML 授权仅仅在有限的时间进行校验。你需要确定运行你的应用的计算机时间与 IdP 的时间是同步的。
  • 如果你应用中的用户和用户组是通过用户目录进行配置的,你通常希望用户来源目录和你的 IdP 和 Atlassian 应用使用相同的 LDAP 目录。用户需要在用户目录支中存在才可以使用 SSO 进行登录。

故障排除

  • 如果你错误的配置了 SAML 收取,或者不能登录到你的 IdP。你可以通过删除请求来让你的登录授权恢复(在你用户目录中为一个管理员用户配置使用一个用户名和密码)。

    curl -u admin_user:admin_password -X DELETE http://base-url/product/rest/authconfig/1.0/saml
  • 如果授权有错误发生,用户将只能看到基本的错误信息。基于安全的考虑,有关错误的具体信息将不会显示,你需要检查应用程序的日志来找到错误发生的具体原因和问题是什么。
  • 在一些情况下,你可能看到你的 IdP 显示错误信息。在这种情况下,你需要一些 IdP 的诊断工具来确定你的 IdP 的问题,这方面问题的解决 Atlassian 不提供相关的服务。
  • 当使用 使用 SAML 为主授权(Use SAML as primary authentication)同时你还有有验证码被启用的话,使用 HTTP 的基本授权(例如在 REST 资源调用)可能将用户锁定,如果用户输入的错误用户名和密码信息次数太多的话。在这种情况下,需要一个系统管理进入后台重新设置用户登录错误次数的计数。


  • No labels