원격접속 허용하기
카산드라를 설치하면 기본적으로 외부 클라이언트에서 원격으로 접속하는 것을 허용하지 않습니다.
원격 접속을 허용하기 위해 cassandra.yaml
파일을 열어서 약간의 설정을 바꿔줍니다.
카산드라 설정파일을 엽니다.
sudo vim /etc/cassandra/cassandra.yaml
rpc_address
와 broadcast_rpc_address
부분을 찾아서 설정을 변경해줍니다.
# rpc_address: localhost rpc_address: 0.0.0.0 # broadcast_rpc_address: 1.2.3.4 broadcast_rpc_address: 1.2.3.4
rpc_address의 기본값은 localhost이며 이를 와일드카드(*)와 같은 의미인 0.0.0.0으로 설정을 변경해줍니다.
broadcast_rpc_address는 기본적으로 주석처리되어있으며, rpc_address가 IP가 아닌 0.0.0.0 이라면 주석을 해제해줘야합니다.
이제부터 카산드라는 외부 클라이언트의 원격 접속을 허용하게 됩니다.
하지만, 로컬에서 cqlsh
로 아무런 인증절차 없이 카산드라를 실행할 수 있는 것처럼 외부 클라이언트도 아무런 인증절차 없이 카산드라에 접속해서 데이터를 조작할 수 있게됩니다. 이를 방지하기 위해 보안설정을 해줘야합니다.
보안설정(로그인 설정) 하기
카산드라 설정파일에서 authenticator
부분을 찾아서 설정을 변경해줍니다.
# authenticator: AllowAllAuthenticator authenticator: PasswordAuthenticator
authenticator의 기본 값은 AllowAllAuthenticator이며, PasswordAuthenticator로 설정을 변경하였습니다.
카산드라 최고관리자의 아이디와 패스워드는 기본적으로 cassandra/cassandra로 설정되어있습니다.
보안상 최고관리자 권한을 갖고있는 유저인 cassandra를 삭제하고 새로운 유저를 추가합니다.
최고관리자 권한으로 카산드라 쉘에 로그인합니다.
cqlsh -u cassandra -p cassandra
새로운 SUPERUSER를 추가합니다.
CREATE USER root WITH PASSWORD 'password' SUPERUSER;
새로 추가한 SUPERUSER로 로그인 후 cassandra계정을 삭제합니다.
cqlsh -u root -p password DROP USER cassandra;
설정이 모두 제대로 적용 되었는지 확인합니다.
LIST USERS; # name | super #------+------- # root | True
설정이 정상적으로 적용된 것을 확인할 수 있습니다.
'데이터베이스' 카테고리의 다른 글
우분투 카산드라 설치 및 CQL 쉘 접속하기 (0) | 2016.11.11 |
---|---|
MySQL 데이터베이스에서 순위(랭킹) 구하기 (3) | 2016.05.26 |