A opção SSL 'strict' habilita a validação obrigatória de certificados para conexões de entrada. Nesse caso, somente conexões com certificados confiáveis podem ser estabelecidas. Conexões com certificados não confiáveis serão rejeitadas. Assim, a validação de certificados permite autenticar de forma exclusiva uma conexão de entrada. O campo Common Name ou a extensão subjectAltName do certificado é usado para identificar o usuário conectado. A extensão subjectAltName oferece suporte ao uso de um caractere curinga '*' na configuração do servidor. Isso permite associar vários certificados ao mesmo usuário. Além disso, a reemissão e a revogação dos certificados não afetam a configuração do ClickHouse.
Para habilitar a autenticação por certificado SSL, uma lista de Common Name ou Subject Alt Name para cada usuário do ClickHouse deve ser especificada no arquivo de configurações users.xml :
Exemplo
<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>
<!-- Wildcard support -->
<subject_alt_name>URI:spiffe://foo.com/*/bar</subject_alt_name>
</ssl_certificates>
</user_name_3>
</users>
</clickhouse>Para que a cadeia de confiança do SSL funcione corretamente, também é importante garantir que o parâmetro caConfig esteja configurado adequadamente.