본문으로 바로가기

Cassandra SuperUser 삭제 및 생성

category Database/Cassandra 2022. 8. 16. 15:49
반응형

카산드라를 사용하면서 초기 설정 시에 해야할 내용을 정리

환경

OS : ubuntu

docker-compose 로 yml 파일을 정의하여 가동시킴

docker-compose 설치는 여기서 확인

ersion: '3.9'

services:
  cassandra:
    image: cassandra:4.0
    ports:
      - 7000:7000
      - 9042:9042
    volumes:
      - /data/apps/cassandra:/var/lib/cassandra
    environment:
      - CASSANDRA_CLUSTER_NAME=test
      - CASSANDRA_USER=user
      - CASSANDRA_PASSWORD=password
      - CASSANDRA_DC=datacenter1
      - CASSANDRA_RACK=rack0

컨테이너 접근

docker exec -it container_id /bin/bash

ubuntu vim install

apt-get update
apt-get install vim

/etc/cassandra/cassandra.yaml 수정

  1. :110 번줄로 이동
  2. 편집 상태로 변경하여 다음으로 수정 및 저장
#authenticator: AllowAllAuthenticator
authenticator: PasswordAuthenticator

재시작

컨테이너 접근을 빠져나와서 재시작

docker-compose -f cassandra.yml up -d

재시작을 한다고 위의 설정이 초기화되는 것은 아니다.
다만 yml 경로를 바꾸던가 컨테이너 아이디가 바뀐다면 새로운 컨테이너라서 다시 설정해줘야함.


컨테이너 재접근 및 cqlsh 접속

컨테이너 접근 후 다음을 실행하여 또 다른 수퍼유저를 생성하고 계정전환을 한 뒤 기존 수퍼유저를 삭제한다.
하는 김에 일반 유저도 하나 생성

test@asdfqewr123: cqlsh -u cassandra -p cassandra

user@cqlsh> CREATE USER testadmin WITH PASSWORD 'iamroot' SUPERUSER;
user@cqlsh> exit;

test@asdfqewr123: cqlsh -u testadmin -p iamroot

testadmin@cqlsh> drop user cassandra;
testadmin@cqlsh> CREATE USER user WITH PASSWORD 'password' NOSUPERUSER;
testadmin@cqlsh> LIST USERS;

제대로 생성되었다면 접근하는 곳 모두 계정정보를 통해 접근하게된다.

기존의 AllowAllAuthenticator 설정은 모두가 접근 가능한 상태이므로 보안상 좋지않다.

출처: https://jhproject.tistory.com/46 [JH PROJECT:티스토리]

반응형

'Database > Cassandra' 카테고리의 다른 글

Cassandra Backup & Restore Snapshot From Server To AWS S3  (0) 2022.08.02