> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

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

# SSL X.509 证书身份验证

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            ClickHouse Cloud 不支持此功能
        </div>;
};

<CloudNotSupportedBadge />

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

[SSL 'strict' 选项](/docs/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`](/docs/zh/reference/settings/server-settings/settings#openssl) 参数配置正确。
