天天看點

clickhouse(三):建立登入使用者與設定角色權限

由于clickhouse自帶的預設使用者隻有一個(default),在實際的使用過程中,經常需要根據不同的使用人員建立不同類型的角色賬号。

建立一個新賬号與設定角色權限

在/etc/clickhouse-server 目錄下,編輯users.xml,其中的<users>标簽定義使用者的相關配置資訊,其結構如下:

<users>
    <username>                      <!--使用者登入名-->
        <password>123</password>    <!--使用者登入密碼-->
        <networks>::/0</networks>   <!--允許登入的網絡位址-->
        <profile>default</profile>  <!--使用者使用的profile配置-->
        <quota>default</quota>      <!--使用者能夠使用的資源限額/熔斷機制-->
    </username>
<users>
           

在users.xml中添加了如下配置之後,即可完成一個新使用者的配置

1、使用者密碼的配置有三種方法,詳情參考:clickhouse(二) 設定使用者的登入密碼

2、<networks>表示網絡的通路權限,用于限制某個使用者登入的用戶端位址,共分為IP位址、Host主機名稱以及正則比對三種類型。

(1)、IP位址:直接使用ip位址

<ip>127.0.0.1</ip>
           

(2)、使用host主機名:使用host主機名設定

<host>ch5.nauu.com</host>
           

(3)、正則比對:通過表達式來比對host名稱

<host>^ch\d.nauu.com$</host>
           

在配置了<networks>标簽之後,如果登入的用戶端與配置規則不比對,就會無法登入

3、<profile>标簽定義了使用者的角色資訊,在users.xml中的<profiles>标簽中定義。

<profiles>标簽下的每一個子标簽代表了一種角色的資訊,例如:配置了下面這個配置的使用者隻具有查詢資料的功能

<readonly>
    <readonly>1</readonly>
</readonly>
           

4、<quota>标簽定義了使用者機關時間内的資源限制,也可以稱為是一種熔斷機制。

當使用者的資源使用情況達到配置門檻值時,就會觸發熔斷機制(熔斷是限制資源被過度使用的一種保護機制),正在進行的操作就會被自動切斷。

<quota>标簽的詳細配置在users.xml檔案中,每一個子标簽代表一種quota配置。同樣的,clickhouse也給出了預設的參考配置

<quota>     
    <default>
       <interval>
            <duration>3600</duration>
            <queries>0</queries>
            <errors>0</errors>
            <result_rows>0</result_rows>
            <read_rows>0</read_rows>
            <execution_time>0</execution_time>
       </interval>
    <default>
</quota>
           

1、duration

​ duration表示累計的時間周期,機關為秒,達到該時間周期後,清除所有收集的值,接下來的周期,将重新開始計算,當服務重新開機時,也會清除所有的值,重新開始新的周期。

2、queris

queris表示在該周期内,允許執行的查詢次數,0為不限制。

3、errors

 errors表示在該周期内,允許引發異常的查詢次數,0為不限制。

4、result_rows

result_rows表示在周期内,允許查詢傳回的結果行數,0為不限制。

5、read_rows設定

​ read_rows表示在周期内,允許遠端節點讀取的資料行數,0為不限制。

6、execution_time設定

execution_time表示允許查詢的總執行時間(又叫wall time),機關為秒,0為不限制。

如有錯誤,歡迎指正!