在相互身份验证过程中将客户端证书映射到用户
使用相互(双向)SSL 身份验证时,客户端会在身份验证过程中将其证书提供给 Tableau Server。Tableau Server 然后将客户端证书中的用户信息映射到已知的用户标识。Tableau Server用于执行客户端映射的策略取决于组织客户端证书的内容。
本主题论述有关客户端证书中的信息映射到用户身份的方式,以及如何更改 Tableau Server 执行该映射的方式。若要了解映射的发生方式以及您是否需要更改映射,您必须知道组织中客户端证书的构建方式。
用户名映射选项
Tableau Server 使用以下方法之一将客户端证书映射到用户身份:
Active Directory。如果已将 Tableau Server 配置为使用 Active Directory 进行用户身份验证,则在 Tableau Server 收到客户端证书时, 它会将证书传送至 Active Directory,从而将证书映射至 Active Directory 身份。将忽略证书中的任何显式用户名信息。
注意: 此方法要求对 Active Directory 中的用户帐户发布客户端证书。
用户主体名称 (UPN)。客户端证书可以配置为将用户名存储在用户主体名称字段中。Tableau Server 将读取 UPN 值,并将其映射到 Active Directory 中的用户或本地用户。
公用名称 (CN)。客户端证书可以配置为将用户名存储在证书的公用名称字段中。Tableau Server 将读取 CN 值,并将其映射到 Active Directory 中的用户或本地用户。
如果为 Active Directory 身份验证和 UPN 或 CN 用户名映射配置服务器,请按以下其中一种格式来放置用户名:
username
、domain/username
或 username@domain
。
例如:jsmith
、example.org/jsmith
或 jsmith@example.org
。
如果服务器使用本地身份验证,则不会预先确定 UPN 或 CN 字段中名称的格式,但字段中的名称必须与服务器上的用户名匹配。
更改证书映射
使用 tsm authentication mutual-ssl <commands> 命令将客户端证书映射到 Tableau Server 中的用户身份:
tsm authentication mutual-ssl configure -m <value>
可能的值为 ldap
(适用于 Active Directory 映射)、upn
(适用于 UPN 映射)或 cn
(适用于 CN 映射)。
首次安装和配置 Tableau Server 时,服务器会设置默认用户名映射以匹配服务器的身份验证类型:
如果服务器配置为使用 Active Directory,则它也使用 Active Directory 用于将证书映射到用户身份。
如果服务器配置为使用本地身份验证,则服务器将从证书的 UPN 字段中获取用户名值
如果 Tableau Server 将用户名映射到身份的默认行为对于服务器配置不正确,请运行以下一组命令将映射更改为使用 CN 值:
tsm authentication mutual-ssl configure -m cn
tsm pending-changes apply
如果待定更改需要重新启动服务器,pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见tsm pending-changes apply。
解决多域组织中的用户名映射不明确问题
在某些情况下,证书的 UPN 或 CN 字段中的用户名可能不明确。这种不明确性可能会导致在将用户名映射到服务器上的用户身份时出现意外结果。
例如,如果使用不包含域的用户名来显示 Tableau Server,则服务器使用默认域将该用户名映射到某个身份。这可能导致用户名映射不正确,从而可能会为用户分配不同的用户身份和权限。
特别是在以下条件适用的环境中会出现这种情况:
您的组织支持多个 Active Directory 域。
服务器配置为使用 Active Directory 身份验证。
服务器配置为使用 UPN 或 CN 映射。
一些用户具有相同的用户名,但具有不同的域。例如
jsmith@example.org
和jsmith@example.com
。证书的 UPN 或 CN 字段中的用户名未将域包括为用户名的一部分 — 例如,字段将显示
jsmith
。
为了避免出现不正确的用户名映射,请使用 jsmith@example.org
或 example.org/jsmith
格式,确保客户端证书包括带域的完全限定用户名。