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はそのキー:値ペアを文字列値として解析し、認証されたユーザーの現在のセッションのセッション設定として設定を試みます。解析に失敗した場合、サーバーからのレスポンスボディは無視されます。