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