[Clickhouse] 계정과 권한 제어

계정, 보안과 관련된 진지한 설정들은 다음 파일에서 조정할 수 있다.

sudo vi /etc/clickhouse-server/users.xml

패스워드 기본 해싱 알고리즘이라든지, 유저 접근 IP를 제어한다든지 하는 것들을 여기서 조정할 수 있다.
수정한 뒤에 systemctl restart clickhouse-server로 재부팅하면 반영된다.




사용자 생성

계정을 생성하는 것은 Create user 쿼리를 통해 처리할 수 있다.

CREATE USER test IDENTIFIED WITH sha256_password BY 'q1w2e3r4'




권한제어

권한을 유저에게 부여하려면, Role이라는 권한 단위를 만든 다음에 User에게 부여해야 한다.

특정 데이터베이스에 한정해서 읽기전용 권한을 부여하고 싶다면, 이런 식으로 Role을 만들 수 있다.

CREATE ROLE Role이름;
GRANT SELECT ON 데이터베이스.* TO Role이름;

그리고 GRANT로 Role을 User에 할당해주면 끝이다.

GRANT Role이름 TO 계정;



참조
https://clickhouse.com/docs/operations/access-rights
https://clickhouse.com/docs/sql-reference/statements/create/user