安全断言标记语言 (SAML) 是一种基于 XML 的数据格式,允许服务提供者与身份提供者(IdP)交换授权数据。最常见的用例就是允许用户使用相同的身份验证详情(通常是用户名和密码)登录多个软件应用。这被称为单点登录 (SSO)。
我们为 JIRA Software Data Center 和 JIRA Service Desk Data Center 应用提供了相关功能,可以连接到您的 IdP,以便您为用户提供 SSO 体验。这个功能只能处理身份验证。应用访问和任何必需的授权(例如确保用户属于相应群组/角色且拥有必要的权限)都应当在用户目录和/或应用本身内进行配置。
您将需要配置应用和 IdP,以便为用户提供单点登录。
通过 HTTP POST,任何实现了 SAML 2.0 Web Browser SSO Profile 的身份提供程序都应该可以支持 SAML 单点登录。
我们目前使用以下身份提供程序执行测试:
设置完成后,您需要确保应用程序配置的基础 URL 使用的是 HTTPS 协议。
如果要使用反向代理,请参见以下这些产品特定文档,其中介绍了具体的配置步骤:
在使用终止 SSL / TLS 的反向代理时,您需要确保应用程序服务器看到的请求 URL 与反向代理的完全限定域名一致。这一点通常可以通过以下方法实现:使用相应的 proxyName、proxyPort, secure 和 scheme 设置来配置 <Connector> 指令。请查看上述文档以了解具体示例。
如果您希望应用程序提供 SSO,则需要将其添加到您的 IdP。具体过程因 IdP 而异,但通常都需要执行以下操作:
设置过程结束时,您的 IdP 将为您提供一组配置 Atlassian 应用程序所需的数据。
配置以下设置:
设置 | 注意 |
---|---|
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 -----”开头。 这个证书包含的公钥用来确保所有收到的 SAML 身份验证请求确实都来自于您的 IdP。 |
Login mode | 此设置定义了您的用户如何使用单点登录。选项包括:
|
Remember user logins | 选中此设置后,用户的浏览器将记录成功的用户登录。当浏览用户的应用程序时,他们将自动登录,而不必再次使用 SAML 进行身份验证。 |
(JIRA Service Desk only) | 选中此设置后,Service Desk 客户使用客户门户发出的所有登录请求都将被重定向到已配置的 IdP。如果未选中此设置,客户则必须通过客户门户登录。 |
“Authentication”屏幕上会提供以下信息,这也是配置 IdP 所需的信息:
设置名称 | 注意 |
---|---|
Assertion Consumer Service URL | 这是 IdP 将向其返回 SAML 身份验证请求的 URL。 |
Audience URL (Entity ID) | 这是 IdP 将为其准备 SAML 身份验证请求的 URL。 |
配置好应用程序和 IdP 之后,就可以开始使用 SSO 了。
如果您配置 SAML 身份验证时出错或无法使用 IdP 登录,可以通过发出 DELETE 请求(使用用户目录中配置的管理员用户名和密码)来恢复登录表单身份验证:
curl -u admin_user:admin_password -X DELETE http://base-url/product/rest/authconfig/1.0/saml |