> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.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](/ja/products/cloud/guides/cloud-compatibility) ガイドを参照してください。
</Note>

[SSL 'strict' オプション](/ja/reference/settings/server-settings/settings#openssl)を有効にすると、受信接続に対する証明書の検証が必須になります。この場合、確立できるのは信頼された証明書を使用する connection のみです。信頼されていない証明書を使用する connection は拒否されます。したがって、証明書の検証により、受信 connection を一意に認証できます。接続中のユーザーの識別には、証明書の `Common Name` または `subjectAltName extension` フィールドが使用されます。`subjectAltName extension` では、サーバー設定内で 1 つのワイルドカード '\*' を使用できます。これにより、複数の証明書を同じユーザーに関連付けることができます。さらに、証明書の再発行や失効を行っても、ClickHouse の設定には影響しません。

SSL 証明書認証を有効にするには、各 ClickHouse ユーザーについて、`Common Name` または `Subject Alt Name` の一覧を設定ファイル `users.xml ` に指定する必要があります。

**例**

```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>
                <!-- More names -->
            </ssl_certificates>
            <!-- Other settings -->
        </user_name_1>
        <user_name_2>
            <ssl_certificates>
                <subject_alt_name>DNS:host.domain.com</subject_alt_name>
                <!-- More names -->
            </ssl_certificates>
            <!-- Other settings -->
        </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 の [`chain of trust`](https://en.wikipedia.org/wiki/Chain_of_trust) を正しく機能させるには、[`caConfig`](/ja/reference/settings/server-settings/settings#openssl) パラメータが適切に設定されていることを確認することも重要です。
