* Replace underscores with hyphens * remove temporary code * fix style check * fix collapse
6.1 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | d734a8e46d |
63 | ユーザー設定 |
ユーザー設定
その users
のセクション user.xml
設定ファイルにユーザを設定します。
の構造 users
セクション:
<users>
<!-- If user name was not specified, 'default' user is used. -->
<user_name>
<password></password>
<!-- Or -->
<password_sha256_hex></password_sha256_hex>
<networks incl="networks" replace="replace">
</networks>
<profile>profile_name</profile>
<quota>default</quota>
<databases>
<database_name>
<table_name>
<filter>expression</filter>
<table_name>
</database_name>
</databases>
</user_name>
<!-- Other users settings -->
</users>
user_name/パスワード
パスワードは、平文またはsha256(hex形式)で指定できます。
-
平文でパスワードを割り当てるには (推奨しない)、それを置く
password
要素。例えば,
<password>qwerty</password>
. パスワードは空白のままにできます。
-
SHA256ハッシュを使用してパスワードを割り当てるには、
password_sha256_hex
要素。例えば,
<password_sha256_hex>65e84be33532fb784c48129675f9eff3a682b27168c0ea744b2cf58ee02337c5</password_sha256_hex>
.シェルからパスワードを生成する方法の例:
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
結果の最初の行はパスワードです。 第二の行は、対応するsha256ハッシュです。
-
MySQLクライアントとの互換性のために、passwordはダブルSHA1ハッシュで指定できます。 それを置く
password_double_sha1_hex
要素。例えば,
<password_double_sha1_hex>08b4a0f1de6ad37da17359e592c8d74788a83eb0</password_double_sha1_hex>
.シェルからパスワードを生成する方法の例:
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
結果の最初の行はパスワードです。 第二の行は、対応するダブルsha1ハッシュです。
user_name/networks
ユーザーがclickhouseサーバーに接続できるネットワークのリスト。
リストの各要素には、次のいずれかの形式があります:
-
<ip>
— IP address or network mask.例:
213.180.204.3
,10.0.0.1/8
,10.0.0.1/255.255.255.0
,2a02:6b8::3
,2a02:6b8::3/64
,2a02:6b8::3/ffff:ffff:ffff:ffff::
. -
<host>
— Hostname.例えば:
example01.host.ru
.アクセスを確認するには、dnsクエリが実行され、返されたすべてのipアドレスがピアアドレスと比較されます。
-
<host_regexp>
— Regular expression for hostnames.例えば,
^example\d\d-\d\d-\d\.host\.ru$
アクセスを確認するには、 DNS PTRクエリ ピアアドレスに対して実行され、指定された正規表現が適用されます。 次に、PTRクエリの結果に対して別のDNSクエリが実行され、すべての受信アドレスがピアアドレスと比較されます。 Regexpは$で終わることを強くお勧めします。
すべての結果のdnsの要求をキャッシュまでのサーバが再起動してしまいます。
例
オープンアクセスのためのユーザーからネットワークのいずれかを指定し:
<ip>::/0</ip>
!!! warning "警告" この不安にオープンアクセスからネットワークを持っていない場合、ファイアウォールを適切に設定されたサーバーに直接接続されます。
オープンアクセスのみからlocalhostを指定し:
<ip>::1</ip>
<ip>127.0.0.1</ip>
user_name/プロファイル
を割り当てることができる設定プロファイルをユーザーです。 設定プロファイルはの別のセクションで設定されます users.xml
ファイル。 詳細については、 設定のプロファイル.
ユーザー名/クォータ
クォータを使用すると、一定期間にわたってリソース使用量を追跡または制限できます。 クォータは、 quotas
のセクション users.xml
構成ファイル。
ユーザにクォータセットを割り当てることができます。 クォータ設定の詳細については、以下を参照してください クォータ.
user_name/データベース
このセクションでは、clickhouseによって返される行を制限することができます SELECT
現在のユーザーが行うクエリは、基本的な行レベルのセキュリティを実装します。
例えば
以下の構成力がユーザー user1
の行だけを見ることができます table1
の結果として SELECT
クエリ、ここでの値 id
フィールドは1000です。
<user1>
<databases>
<database_name>
<table1>
<filter>id = 1000</filter>
</table1>
</database_name>
</databases>
</user1>
その filter
結果として得られる任意の式を指定できます UInt8-タイプ値。 通常、比較演算子と論理演算子が含まれます。 からの行 database_name.table1
このユーザーに対して0のフィルター結果は返されません。 フィルタリングは PREWHERE
操作および無効化 WHERE→PREWHERE
最適化。