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