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

SSL X.509 証明書認証

Not supported in ClickHouse Cloud
注記

このページは ClickHouse Cloud には該当しません。ここで説明している機能は、ClickHouse Cloud サービスでは利用できません。 詳細については、ClickHouse の Cloud Compatibility ガイドを参照してください。

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パラメータが適切に設定されていることを確認することも重要です。