ClickHouse開啟ldap認證簡介

      網友投稿 1143 2022-05-30

      環境要求:

      安裝且正常運行的ClickHouse 20.8 與OpenLDAP集群。

      測試clickhouse-client 用默認用戶可以正常登錄,用ldapsearch指令可以正常用ldap服務器管理員賬號密碼或普通用戶賬號密碼正常連接,且有用戶數據。

      例如:

      # 通過默認用戶可以登錄ClickHouse clickhouse-client -h 127.0.0.1 --port 9000 # 通過ldapsearch指令可以從加密傳輸端口連接到ldap server ldapsearch -LLL -W -H ldaps://127.0.0.1:636 -D "cn=root,dc=hadoop,dc=com" -b "dc=hadoop,dc=com" # 通過ldapwhoami指令與管理員賬戶密碼可以從加密傳輸端口連接到ldap server,且有正確數據反饋 $ ldapwhoami -x -D "cn=root,ou=Users,dc=hadoop,dc=com" -W -H ldaps://127.0.0.1:636 dn:cn=root,ou=Users,dc=hadoop,dc=com # 通過ldapwhoami指令與用戶密碼可以從加密傳輸端口連接到ldap server,且有正確數據反饋 $ ldapwhoami -x -D "uid=pro1,ou=Users,dc=hadoop,dc=com" -w pro1 dn:uid=pro1,ou=Users,dc=hadoop,dc=com

      方案一:

      通過配置config.xml與users.xml文件,進行新增用戶,配置ldap認證。可用于配置默認用戶和管理員用戶使用。

      注:config.xml中配置參數詳解在文末有詳細解釋。

      修改/etc/clickhouse-server/config.xml文件在標簽內配置ldap_server的信息,如果沒有可根據官網說明文檔自行添加或直接使用下文所舉例子。? 采用明文數據傳輸方式

      localhost 389 uid= ,ou=Group,dc=node1,dc=com no never

      加密數據傳輸方式修改

      localhost 636 uid= ,ou=Group,dc=node1,dc=com yes allow

      /etc/clickhouse-server/users.xml文件,在標簽內添加用戶信息,并將密碼驗證配置成?ldap_server_name

      ldap_server_name ::/0 default default

      用修改的配置文件重新啟動clickhouse-server

      /usr/bin/clickhouse-server --config-file=/etc/clickhouse-server/config.xml

      使用OpenLDAP中的用戶username與其對應的密碼登錄ClickHouse

      /usr/bin/clickhouse-client --port 7000 --user username --password %TGB6yhn

      方案二

      開啟ClickHouse?RBAC功能,用SQL命令創建使用LDAP服務器進行認證的用戶,并在/etc/clickhouse-server/config.xml配置相應的LDAP服務配置。此方案適合從LDAP服務器中批量向ClickHouse中導入用戶。

      修改/etc/clickhouse-server/config.xml文件在標簽內配置ldap_server的信息(與方案一中涉及內容相同)

      采用明文數據傳輸方式

      localhost 389 uid= ,ou=Group,dc=node1,dc=com no never

      加密數據傳輸方式修改

      localhost 636 uid= ,ou=Group,dc=node1,dc=com yes allow

      開啟ClickHouse RBAC功能

      在?config.xml?中添加?access_control_path?配置項,默認可能已經配置,沒有請添加。

      /var/lib/clickhouse/access/

      通過 SQL 形式創建的用戶、角色等信息將以文件的形式被保存在這個目錄。在添加完配置后需要重啟服務,重啟之后,在指定目錄下會生成一系列存儲文件:

      -rw-r-----. 1 clickhouse clickhouse 1 May 15 20:27 quotas.list -rw-r-----. 1 clickhouse clickhouse 1 May 15 20:27 roles.list -rw-r-----. 1 clickhouse clickhouse 1 May 15 20:27 row_policies.list -rw-r-----. 1 clickhouse clickhouse 1 May 15 20:27 settings_profiles.list -rw-r-----. 1 clickhouse clickhouse 1 May 15 20:39 users.list

      在?users.xml?中為默認用戶?default?添加?access_management?配置項

      ClickHouse開啟ldap認證簡介

      1 ...

      至此配置項完成,重啟clickhouse-server,讓配置生效:

      systemctl restart clickhouse-server

      此時默認用戶default,就開啟了 SQL 驅動的訪問控制和賬戶管理功能。default 作為默認用戶,默認擁有所有的權限,我們應該將它當做 super admin 使用。所以一般我們會使用 default 用戶創建另外一批 admin 用戶,用于日常管理,例如:

      CREATE USER userName IDENTIFIED WITH PLAINTEXT_PASSWORD BY 'password';

      使用默認提供的default賬號登陸(default?作為默認用戶,默認擁有所有的權限),新建root賬號:

      clickhouse-client -m

      登錄成功后進行下列操作:

      -- 創建用戶:用戶名 root 密碼 root Clickhouse> CREATE USER root IDENTIFIED WITH PLAINTEXT_PASSWORD BY 'root'; -- 授予root賬號權限: Clickhouse> set allow_introspection_functions=1; Clickhouse> GRANT ALL ON *.* TO root WITH GRANT OPTION; -- 賬號查詢和確認: Clickhouse> show create user root; SHOW CREATE USER root ┌─CREATE USER root────────────────────────────────────┐ │ CREATE USER root IDENTIFIED WITH plaintext_password │ └─────────────────────────────────────────────────────┘

      創建完管理員賬戶后,用管理員賬戶登錄,進行相關配置,并限制default用戶權限,直接將users.xml中標簽中標簽內容注釋掉即可。

      # 使用root 用戶登錄ClickHouse clickhouse-client -u root --password root # 創建pro1用戶,設置ldap_server 為config.xml中定義的'my_ldap_server' (該用戶pro1為OpenLDAP中已有的用戶名) Clickhouse> CREATE USER pro1 IDENTIFIED WITH ldap_server BY 'ldap_server_name';

      退出root登錄,使用用戶pro1登錄驗證配置是否成功

      clickhouse-client -u pro1 --password %TGB6yhn

      ? config.xml中配置參數詳解:

      host

      LDAP服務器主機名或IP,必選參數,不能為空。

      port

      LDAP服務器端口,如果enable_tls設置為true,則默認為636,否則為389。

      auth_dn_prefix, auth_dn_suffix

      用于構造要綁定到的DN的前綴和后綴。

      實際上,生成的DN將被構造為auth_dn_prefix?+?escape(user_name)?+?auth_dn_suffix字符串。

      注意,這意味著auth_dn_suffix通常應將逗號“,”作為其第一個非空格字符。

      enable_tls

      觸發使用LDAP服務器安全連接的標志。

      為純文本(ldap://)協議指定“no”(不推薦)。

      為LDAP?over?SSL/TLS?(ldaps://)協議指定“yes”(建議為默認值)。

      指定舊版StartTLS協議(純文本(ldap://)協議,升級到TLS)的“starttls”。

      tls_minimum_protocol_version

      SSL/TLS的最小協議版本。

      接受的值是:?'ssl2'、'ssl3'、'tls1.0'、'tls1.1'、'tls1.2'(默認值)。

      tls_require_cert

      SSL/TLS對端證書校驗行為。

      接受的值是:?'never'、'allow'、'try'、'require'(默認值)。

      tls_cert_file

      證書文件。

      tls_key_file

      證書密鑰文件。

      tls_ca_cert_file

      CA證書文件。

      tls_ca_cert_dir

      CA證書所在的目錄。

      tls_cipher_suite

      允許加密套件。

      ClickHouse

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:微信小程序使用GoEasy實現websocket實時通訊
      下一篇:國家管網攜手華為云Stack打造數字平臺,油氣管道風險作業更安全
      相關文章
      色九月亚洲综合网| 亚洲中文无码亚洲人成影院| 日本系列1页亚洲系列| 国产精品亚洲综合五月天| 久久精品国产亚洲av影院| 亚洲丝袜美腿视频| 色播亚洲视频在线观看| 日本久久久久亚洲中字幕| 亚洲AV无码专区在线播放中文| 亚洲日产韩国一二三四区| 亚洲熟妇无码AV在线播放| 亚洲精品你懂的在线观看| 国产AV无码专区亚洲AV男同| 久久精品国产亚洲麻豆| 含羞草国产亚洲精品岁国产精品| 亚洲乳大丰满中文字幕| 国产亚洲精品影视在线产品| 久久久久亚洲?V成人无码| 亚洲一区爱区精品无码| 久久亚洲综合色一区二区三区| 亚洲精品美女久久久久99| 国产精品亚洲一区二区三区在线| 中文字幕亚洲乱码熟女一区二区 | 亚洲国产综合专区电影在线| 亚洲小视频在线观看| 精品无码一区二区三区亚洲桃色| 99人中文字幕亚洲区| 亚洲人色大成年网站在线观看| 亚洲一级毛片免费观看| 亚洲日本va一区二区三区| 国产精品亚洲专区无码牛牛| 亚洲精品黄色视频在线观看免费资源| 亚洲VA综合VA国产产VA中| 亚洲线精品一区二区三区影音先锋| 国产亚洲综合成人91精品| 综合自拍亚洲综合图不卡区| 亚洲乱码日产精品BD在线观看| 亚洲午夜无码毛片av久久京东热| 亚洲av第一网站久章草| 久久影视国产亚洲| 亚洲成在人天堂在线|