相互 SSL 身份验证疑难解答
本主题描述可能的相互(双向)SSL 身份验证问题及其原因、用户可能会看到的消息,以及该问题可能的缓解方法。
有关相互 SSL 身份验证和 LDAP、UPN 和 CN 用户映射的详细信息,请参见以下主题:
客户端缺少证书。
如果客户端没有客户端证书,则该用户会在身份验证期间看到此消息:
We couldn't find a valid client certificate. Contact your Tableau Server administrator.
若要解决此问题,用户应该与系统管理员联系,以生成客户端计算机证书。
客户端不支持相互 SSL 身份验证。
早于版本 9.1 的 Tableau Desktop 版本不支持相互 SSL 身份验证。如果使用较早的 Tableau Desktop 版本连接到配置为使用相互 SSL 身份验证的 Tableau Server,则可能会出现以下情况:
如果 Tableau Server 配置为使用后备身份验证,则客户端会显示一个登录对话框,用户可以输入用户名和密码。
如果服务器未配置为使用后备身份验证,则用户会看到以下消息并且无法连接到服务器:
Invalid user name or password
有关后备身份验证的详细信息,请参见配置相互 SSL 身份验证。
客户端证书未发布到 Active Directory。
如果 Tableau Server 配置为使用 Active Directory 进行身份验证,并且用户映射设置为 LDAP,则 Tableau Server 会将客户端证书发送给 Active Directory 进行身份验证。但是,如果客户端证书未发布到 Active Directory,则身份验证将会失败,并且用户会看到以下消息:
We couldn't find your user name in the client certificate. Contact your Tableau Server administrator or sign in using your Tableau Server account.
若要解决此问题,系统管理员必须确保客户端证书已发布到 Active Directory。或者,服务器应配置为使用不同的用户映射(UPN 或 CN),并且系统管理员应确保客户端证书包含 UPN 或 CN 字段中的用户名。
如果 Tableau Server 配置为使用相互 SSL 身份验证,且证书可在用户的计算机上使用,则用户应该看不到登录对话框,因为 Tableau Server 使用该证书对用户进行身份验证。但是,如果服务器不能识别该证书中的用户名,则用户将看到一个登录对话框,其中包含一条指明为何未使用证书的错误消息。如果满足以下所有条件,则可能会发生这种情况:
启用了后备身份验证。
如果服务器使用 UPN 或 CN 映射,则无法识别证书的 UPN 或 CN 字段中的用户名。如果服务器使用的是 LDAP 映射,则不会将证书映射到 Active Directory 中的用户。
若要解决此问题,系统管理员应执行以下操作,具体取决于在 Tableau Server 上配置用户映射的方式:
LDAP 映射:确保证书已链接至用户、证书可在用户的计算机上使用,并且用户已配置为 Tableau Server 用户。
UPN 或 CN 映射:确保证书可在用户的计算机上使用、用户名在证书的 UPN 或 CN 字段中,并且用户名与 Tableau Server 上的用户名(包括域)匹配。
UPN 或 CN 字段中的用户名缺失或无效
如果 Tableau Server 配置为使用 UPN 或 CN 映射,则服务器会从证书的 UPN 或 CN 字段中读取用户名,然后在 Active Directory 中或在 Tableau Server 上的本地存储库中查找该用户名。(服务器读取的特定字段取决于服务器被配置为是使用 UPN 映射还是使用 CN 映射。)如果应该包含用户名的字段中没有任何内容,则用户会看到以下消息:
We couldn't find your user name in the client certificate. Contact your Tableau Server administrator.
如果客户端证书包含用户名,但是 Active Directory 和 Tableau Server 无法识别该用户名,则用户将看到以下消息:
Certificate does not contain a valid Tableau Server user name.
如果满足以下所有条件,则可能会发生这种情况:
Tableau Server 配置为使用 UPN 或 CN 映射。
未启用后备身份验证。
客户端证书 UPN 或 CN 字段中没有用户名,或者 UPN 或 CN 字段中的用户名与 Active Directory 中或 Tableau Server 上的用户名不匹配。
若要解决此问题,系统管理员应该确保用户的证书 UPN 或 CN 字段中具有正确的用户名。
如果服务器配置为使用 Active Directory 身份验证和 LDAP 映射,则此证书会链接至 Active Directory 中的用户。如果此证书的 UPN 或 CN 字段中包含用户名,则会忽略该用户名。
如果打算使用 UPN 或 CN 字段中的用户名让用户登录,则服务器应配置为使用 UPN 或 CN 映射。
在某些情况下,客户端证书的 UPN 或 CN 字段中的用户名可能不明确。因此,用户会用不正确的标识登录。
有关此问题发生的条件的详细信息,请参见在相互身份验证过程中将客户端证书映射到用户中的“解决多域组织中的用户名不明确问题”部分。