メインコンテンツへスキップ
メインコンテンツへスキップ

SSL X.509 証明書認証

Not supported in ClickHouse Cloud
注記

This page is not applicable to ClickHouse Cloud. The feature documented here is not available in ClickHouse Cloud services. See the ClickHouse Cloud Compatibility guide for more information.

SSL 'strict' option は、受信接続に対して証明書検証を必須とします。この場合、信頼された証明書を持つ接続のみが確立されます。信頼されていない証明書による接続は拒否されます。このように、証明書検証により受信接続を一意に識別して認証できます。接続ユーザーの識別には、証明書の Common Name フィールドまたは subjectAltName extension フィールドが使用されます。subjectAltName extension では、サーバー設定でワイルドカード '*' を 1 つだけ使用できます。これにより、複数の証明書を同一ユーザーに関連付けることができます。さらに、証明書の再発行や失効は ClickHouse の設定に影響しません。

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

<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 のchain of trustが正しく機能するためには、caConfigパラメータが適切に設定されていることを確認することも重要です。