メインコンテンツへスキップ
このページは ClickHouse Cloud には適用されません。ここで説明している機能は ClickHouse Cloud サービスではご利用いただけません。 詳しくは、ClickHouse の Cloud Compatibility ガイドを参照してください。
HTTPサーバーを使用して、ClickHouseユーザーを認証できます。HTTP認証は、users.xml またはローカルのアクセス制御パスで定義された既存ユーザーに対する外部認証方式としてのみ使用できます。現在サポートされているのは、GETメソッドを使用する Basic 認証スキームです。

HTTP認証サーバーの定義

HTTP認証サーバーを定義するには、config.xmlhttp_authentication_servers セクションを追加します。
なお、http_authentication_servers セクションでは、異なる名前を付けて複数の HTTP サーバーを定義できます。 パラメータ
  • uri - 認証リクエストの送信先 URI
サーバーとの通信に使用するソケットのタイムアウト (ミリ秒) :
  • connection_timeout_ms - デフォルト: 1000 ms。
  • receive_timeout_ms - デフォルト: 1000 ms。
  • send_timeout_ms - デフォルト: 1000 ms。
再試行パラメータ:
  • max_tries - 認証リクエストを行う最大試行回数。デフォルト: 3
  • retry_initial_backoff_ms - 再試行時のバックオフの初期間隔。デフォルト: 50 ms
  • retry_max_backoff_ms - バックオフの最大間隔。デフォルト: 1000 ms
転送ヘッダー: この部分では、クライアントのリクエストヘッダーから外部 HTTP 認証サービスに転送するヘッダーを定義します。ヘッダーは設定内のヘッダーと大文字・小文字を区別せずに照合されますが、転送時にはそのまま、つまり変更されずに送られます。

users.xml で HTTP 認証を有効にする

ユーザーの HTTP 認証を有効にするには、ユーザー定義で password などのセクションの代わりに、http_authentication セクションを指定します。 パラメータ:
  • server - 前述のとおり、メインの config.xml ファイルで設定した HTTP 認証サーバーの名前。
  • scheme - HTTP 認証スキーム。現在サポートされているのは Basic のみです。デフォルト: Basic
例 (users.xml に記述) :
HTTP認証は、他のどの認証方式とも併用できない点に注意してください。http_authentication と並んで password などの別のセクションが存在すると、ClickHouse は強制的にシャットダウンします。

SQL を使用した HTTP 認証の有効化

ClickHouse で SQL ベースの Access Control and Account Management が有効になっている場合は、HTTP 認証で識別されるユーザーも SQL ステートメントを使って作成できます。
…または、スキームを明示的に定義しない場合は Basic がデフォルトです

セッション設定の受け渡し

HTTP認証サーバーからのレスポンスボディがJSON形式で、settings サブオブジェクトを含んでいる場合、ClickHouseはその key: value ペアを文字列の値としてパースし、認証済みユーザーの現在のセッションのセッション設定として適用を試みます。パースに失敗した場合、サーバーからのレスポンスボディは無視されます。
最終更新日 2026年7月3日