HTTP
このページは ClickHouse Cloud には適用されません。ここに記載されている機能は ClickHouse Cloud サービスでは利用できません。詳細については ClickHouse の Cloud Compatibility ガイドをご覧ください。
HTTPサーバーはClickHouseユーザーを認証するために使用できます。HTTP認証は、users.xml
内で定義されているか、ローカルアクセス制御パスの既存ユーザーに対して外部認証機構としてのみ使用可能です。現在、Basic 認証スキームがGETメソッドを使用してサポートされています。
HTTP認証サーバーの定義
HTTP認証サーバーを定義するには、config.xml
にhttp_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
- 認証リクエストを行う最大試行回数。デフォルト: 3retry_initial_backoff_ms
- 再試行のバックオフ初期間隔。デフォルト: 50 msretry_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認証の有効化
SQL駆動のアクセス制御とアカウント管理がClickHouseで有効になっている場合、HTTP認証によって識別されたユーザーは、SQLステートメントを使用して作成することもできます。
...または、Basic
は明示的なスキーム定義なしでデフォルトです
セッション設定の送信
HTTP認証サーバーからのレスポンスボディがJSON形式で、settings
サブオブジェクトを含む場合、ClickHouseはそのキー:値ペアを文字列値として解析し、認証されたユーザーの現在のセッションのセッション設定として設定を試みます。解析に失敗した場合、サーバーからのレスポンスボディは無視されます。