本页不适用于 ClickHouse Cloud。本文档介绍的功能不适用于 ClickHouse Cloud 服务。
更多信息,请参阅 ClickHouse 的 Cloud Compatibility 指南。
users.xml 或本地访问控制配置中。这些用户只能使用 HTTP 请求,并且必须能够通过 GSS-SPNEGO 机制完成身份验证。
要采用这种方式,必须先在系统中配置 Kerberos,并在 ClickHouse config 中启用它。
在 ClickHouse 中启用 Kerberos
config.xml 中添加 kerberos 部分。该部分还可包含其他参数。
参数
-
principal- 接受安全上下文时将获取并使用的规范服务主体名称。- 此参数为可选项;如果省略,将使用默认主体。
-
realm- 领域,用于将身份验证限制为仅接受发起方领域与其匹配的请求。- 此参数为可选项;如果省略,则不会按领域进行额外过滤。
-
keytab- 服务 keytab 文件的路径。- 此参数为可选项;如果省略,则必须在
KRB5_KTNAME环境变量中设置服务 keytab 文件路径。
- 此参数为可选项;如果省略,则必须在
config.xml 中) :
只能定义一个
kerberos 部分。若存在多个 kerberos 部分,ClickHouse 将禁用 Kerberos 身份验证。不能同时指定
principal 和 realm 部分。若同时存在 principal 和 realm 部分,ClickHouse 将禁用 Kerberos 身份验证。Kerberos 作为现有用户的外部身份验证器
users.xml 或本地访问控制配置中定义的用户) 。目前,只有通过 HTTP 接口发出的请求才能使用 Kerberos (通过 GSS-SPNEGO 机制) 。
Kerberos 主体名称格式通常遵循以下模式:
- primary/instance@REALM
在 users.xml 中启用 Kerberos
kerberos 部分,而不要使用 password 或类似部分。
参数:
realm- 用于将身份验证限制为仅接受发起者领域与其匹配的请求。- 此参数为可选;如果省略,则不会按领域进行额外过滤。
users.xml 中) :
请注意,Kerberos 身份验证不能与任何其他身份验证机制同时使用。如果除
kerberos 外还存在其他节 (例如 password) ,ClickHouse 将会关闭。提醒请注意,现在只要用户
my_user 使用 kerberos,就必须按照前文所述在主 config.xml 文件中启用 Kerberos。