> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> SSL X.509 证书身份验证文档

# SSL X.509 证书身份验证

<CloudNotSupportedBadge />

<Note>
  本页不适用于 [ClickHouse Cloud](https://clickhouse.com/cloud)。本文档介绍的功能不适用于 ClickHouse Cloud 服务。
  更多信息，请参阅 ClickHouse 的 [Cloud Compatibility](/zh/products/cloud/guides/cloud-compatibility) 指南。
</Note>

[SSL 'strict' 选项](/zh/reference/settings/server-settings/settings#openssl) 会对传入连接强制执行证书验证。在这种情况下，只有使用受信任证书的连接才能建立；使用不受信任证书的连接将被拒绝。因此，证书验证可用于对传入连接进行唯一身份验证。证书中的 `Common Name` 或 `subjectAltName extension` 字段用于标识连接的用户。`subjectAltName extension` 支持在服务器配置中使用一个通配符 '\*'。这样可以将多个证书关联到同一用户。此外，重新签发或吊销证书也不会影响 ClickHouse 配置。

要启用 SSL 证书身份验证，必须在设置文件 `users.xml ` 中为每个 ClickHouse 用户指定一组 `Common Name` 或 `Subject Alt Name`：

**示例**

```xml theme={null}
<clickhouse>
    <!- ... -->
    <users>
        <user_name_1>
            <ssl_certificates>
                <common_name>host.domain.com:example_user</common_name>
                <common_name>host.domain.com:example_user_dev</common_name>
                <!-- 更多名称 -->
            </ssl_certificates>
            <!-- 其他设置 -->
        </user_name_1>
        <user_name_2>
            <ssl_certificates>
                <subject_alt_name>DNS:host.domain.com</subject_alt_name>
                <!-- 更多名称 -->
            </ssl_certificates>
            <!-- 其他设置 -->
        </user_name_2>
        <user_name_3>
            <ssl_certificates>
                <!-- 通配符支持 -->
                <subject_alt_name>URI:spiffe://foo.com/*/bar</subject_alt_name>
            </ssl_certificates>
        </user_name_3>
    </users>
</clickhouse>
```

要让 SSL 的 [`信任链`](https://en.wikipedia.org/wiki/Chain_of_trust) 正常工作，还必须确保 [`caConfig`](/zh/reference/settings/server-settings/settings#openssl) 参数配置正确。
