メインコンテンツへスキップ
このページは ClickHouse Cloud には適用されません。ここで説明している機能は ClickHouse Cloud サービスではご利用いただけません。 詳しくは、ClickHouse の Cloud Compatibility ガイドを参照してください。
既存の ClickHouse ユーザーが適切に設定されていれば、Kerberos 認証プロトコルを使用して認証できます。 現時点では、Kerberos は users.xml またはローカルのアクセス制御パスで定義された既存ユーザーに対する外部認証機構としてのみ使用できます。これらのユーザーが使用できるのは HTTP リクエストのみで、GSS-SPNEGO メカニズムによる認証に対応している必要があります。 この方式では、システム側で Kerberos を設定し、ClickHouse の設定で有効にする必要があります。

ClickHouse で Kerberos を有効にする

Kerberos を有効にするには、config.xmlkerberos セクションを追加する必要があります。このセクションには、追加のパラメータを含めることができます。

パラメーター

  • principal - セキュリティコンテキストを受け入れる際に取得して使用する、正規化されたサービスプリンシパル名。
    • このパラメーターは省略可能です。省略した場合は、デフォルトのプリンシパルが使用されます。
  • realm - レルム。イニシエーターの レルム がこれと一致するリクエストのみに認証を制限するために使用されます。
    • このパラメーターは省略可能です。省略した場合、レルム による追加のフィルタリングは適用されません。
  • keytab - サービス keytab ファイルへのパス。
    • このパラメーターは省略可能です。省略した場合、サービス keytab ファイルへのパスは KRB5_KTNAME 環境変数で設定する必要があります。
例 (config.xml に記述) :
<clickhouse>
    <!- ... -->
    <kerberos />
</clickhouse>
principal を指定した場合:
<clickhouse>
    <!- ... -->
    <kerberos>
        <principal>HTTP/clickhouse.example.com@EXAMPLE.COM</principal>
    </kerberos>
</clickhouse>
レルムでフィルタリングする場合:
<clickhouse>
    <!- ... -->
    <kerberos>
        <realm>EXAMPLE.COM</realm>
    </kerberos>
</clickhouse>
kerberos セクションは 1 つだけ定義できます。複数の kerberos セクションがあると、ClickHouse は Kerberos 認証を無効にします。
principal セクションと realm セクションは同時に指定できません。principal セクションと realm セクションの両方があると、ClickHouse は Kerberos 認証を無効にします。

既存ユーザーの外部認証機構としての Kerberos

Kerberos は、ローカルで定義されたユーザー (users.xml またはローカルのアクセス制御パスで定義されたユーザー) の identity を検証する方法として使用できます。現在、Kerberos 認証を適用できるのは、HTTP インターフェイス経由のリクエストのみです (GSS-SPNEGO メカニズムを使用) 。 Kerberos プリンシパル名の形式は、通常、次のパターンに従います。
  • primary/instance@REALM
/instance の部分は、0 回以上現れる場合があります。認証を成功させるには、イニシエーターの正規プリンシパル名の primary 部分が、Kerberos 認証を適用するユーザー名と一致している必要があります

users.xml で Kerberos を有効にする

ユーザーに対して Kerberos 認証を有効にするには、ユーザー定義で password などのセクションの代わりに kerberos セクションを指定します。 パラメータ:
  • realm - 認証を、イニシエーターの レルム がこれと一致するリクエストのみに制限するために使用する レルム です。
    • このパラメータは省略可能です。省略した場合、レルム による追加の絞り込みは適用されません。
例 (users.xml に記述) :
<clickhouse>
    <!- ... -->
    <users>
        <!- ... -->
        <my_user>
            <!- ... -->
            <kerberos>
                <realm>EXAMPLE.COM</realm>
            </kerberos>
        </my_user>
    </users>
</clickhouse>
Kerberos認証は、他の認証方式と併用できない点に注意してください。kerberos と並んで password などの別のセクションが存在すると、ClickHouse は停止します。
リマインダーなお、ユーザー my_userkerberos を使用する場合は、前述のとおりメインの config.xml ファイルで Kerberos を有効にしておく必要があります。

SQL による Kerberos の有効化

ClickHouse で SQL による Access Control and Account Management が有効な場合は、Kerberos で識別されるユーザーも SQL 文を使って作成できます。
CREATE USER my_user IDENTIFIED WITH kerberos REALM 'EXAMPLE.COM'
…または、レルムで絞り込まずに:
CREATE USER my_user IDENTIFIED WITH kerberos
最終更新日 2026年6月10日