기본적으로 Cassandra는 인증이 사용 설정되지 않은 상태로 설치됩니다. 즉, Cassandra 서버에 액세스할 수 있는 모든 사용자가 인증 없이 Cassandra 데이터베이스를 쿼리할 수 있습니다. Edge를 설치한 후 또는 설치 프로세스의 일부로 인증을 사용 설정할 수 있습니다.
자체 사용자 인증 정보를 제공하지 않고 Cassandra에서 인증을 사용 설정하면 다음 기본 사용자 인증 정보가 사용됩니다.
- username = 'cassandra'
- password = 'cassandra'
이 사용자 계정을 사용하거나, 이 사용자 계정에 다른 비밀번호를 설정하거나, 새 Cassandra 사용자를 만들 수 있습니다. Cassandra CREATE/ALTER/DROP USER 문을 사용하여 사용자를 추가, 삭제, 수정합니다.
자세한 내용은 Cassandra SQL 셸 명령어를 참조하세요.
설치 중에 Cassandra 인증 사용 설정
설치 시 Cassandra 인증을 사용 설정할 수 있습니다. 하지만 Cassandra를 설치할 때 인증을 사용 설정할 수 있지만 설치 중에는 항상 기본 cassandra 사용자 이름과 비밀번호 (‘cassandra’:’cassandra’)를 사용해야 합니다.
기본값이 아닌 Cassandra 사용자 인증 정보를 사용하려면 설치 후
여기에 나열된 단계에 따라 Cassandra 인증을 다시 사용 설정해야 합니다.
새 Cassandra 설치 중에 Cassandra 인증을 사용 설정하려면 모든 Cassandra 노드의 구성 파일에 아래 속성을 포함합니다.
CASS_AUTH=y CASS_USERNAME=cassandra CASS_PASSWORD=cassandra
그러면 설치 시 인증이 사용 설정되고 기본 cassandra:cassandra 사용자 인증 정보가 있는 Cassandra가 설정됩니다.
초기 설치가 완료되면 다음 단계 중 하나 이상을 수행할 수 있습니다.
- 여기의 절차에 따라 Cassandra 인증에 사용할 대체 사용자를 만듭니다.
- 여기의 단계에 따라 기본 Cassandra 사용자의 비밀번호를 변경합니다.
- Cassandra를 사용하는 Edge 구성요소를 설치하여 위에서 설정한 사용자 인증 정보를 사용합니다.
Cassandra에 연결하는 Edge 구성요소
다음 Edge 구성요소는 Cassandra에 액세스합니다.
- 관리 서버
- 메시지 프로세서
- 라우터
- Qpid 서버
- Postgres 서버
Cassandra 인증이 사용 설정된 경우 Edge 구성요소 설치
이러한 Edge 구성요소를 처음 설치할 때 Cassandra 인증을 사용 설정한 경우 자동 구성 파일에 다음 설정을 제공해야 합니다.
CASS_AUTH=Y CASS_USERNAME=<valid username in Cassandra> CASS_PASSWORD=<password for the above username>
Cassandra를 설치한 후 Cassandra 사용자 인증 정보를 변경할 수 있습니다. 하지만 관리 서버, 메시지 프로세서, 라우터, Qpid 서버 또는 Postgres 서버를 이미 설치한 경우 다음 섹션에 설명된 대로 새 사용자 인증 정보를 사용하도록 해당 구성요소를 업데이트해야 합니다.
Cassandra에 연결하는 Edge 구성요소 업데이트
다음 절차에 따라 Cassandra와 통신하는 모든 Edge 구성요소를 새 사용자 인증 정보로 업데이트합니다. 실제로 Cassandra 사용자 인증 정보를 업데이트하기 전에 이 단계를 수행해야 합니다.
- 관리 서버 노드에서 다음 명령어를 실행합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-management-server store_cassandra_credentials -u cassandra_username -p cassandra_password
원하는 경우 새 사용자 이름과 비밀번호가 포함된 파일을 명령어에 전달할 수 있습니다.
apigee-service edge-management-server store_cassandra_credentials -f configFile
여기서
configFile에는 다음이 포함됩니다.CASS_USERNAME=cassandra_username # Default is cassandra CASS_PASSWORD='cassandra_password' # Default is cassandra; wrap in single quotes if it includes special characters.
이 명령어는 관리 서버를 자동으로 다시 시작합니다.
- 다음 각 서비스에 대해 1단계를 반복합니다.
- 모든 메시지 프로세서
- 모든 라우터
- 모든 Qpid 서버 (edge-qpid-server)
- Postgres 서버 (edge-postgres-server)
각 서비스에 대해 1단계를 반복할 때 위 명령어의
edge-management-server를 적절한 서비스 이름으로 바꿉니다. 예를 들어 라우터 서비스의 단계를 실행할 때는 다음 명령어를 사용합니다./opt/apigee/apigee-service/bin/apigee-service edge-router store_cassandra_credentials -u cassandra -p cassandra
설치 후 Cassandra 인증 사용 설정
다음 섹션에서는 설치 후 Cassandra 인증을 사용 설정하는 방법을 설명합니다.
단일 데이터 센터 설정에서 Cassandra 인증 사용 설정
Cassandra가 이미 설치된 단일 데이터 센터 기반 Apigee 설정의 경우 다음을 수행할 수 있습니다.
- 기본 Cassandra 사용자 (
cassandra:cassandra)를 사용하거나 완전히 새로운 수퍼유저를 만들어 Cassandra 인증을 처음으로 사용 설정합니다. 방법은 다음과 같습니다.- 처음으로 Cassandra 인증 사용 설정의 단계를 따릅니다.
- Cassandra 사용자 이름과 비밀번호를 사용하여 Cassandra에 연결하는 Edge 구성요소를 업데이트합니다.
- 기존 Cassandra 사용자의 비밀번호를 변경합니다.
기본 Cassandra 사용자 인증 정보(
cassandra:cassandra)를 사용하여 Cassandra 인증을 사용 설정한 경우 아래 단계에 따라 비밀번호를 변경할 수 있습니다.- Cassandra 사용자의 비밀번호를 변경합니다.
- Cassandra 사용자 이름과 비밀번호로 Cassandra에 연결되는 Edge 구성요소를 업데이트합니다.
참고: 'Cassandra' 사용자는 Cassandra의 특수 사용자입니다. 이 사용자를 사용한 인증에는 QUORUM 일관성이 필요합니다. Cassandra 일관성 수준 정보를 참조하세요.
데이터 센터가 여러 개인 경우 Cassandra 인증 사용 설정
데이터 센터를 확장할 때는 설정에 따라 다음 시나리오 중 하나에 해당하는 단계를 따르세요.
시나리오 1: 기존 데이터 센터에 Cassandra 인증이 사용 설정됨
기본
cassandra:cassandra사용자 인증 정보가 있는 기존 데이터 센터에서 Cassandra 인증이 이미 사용 설정된 경우 다음 단계를 따르세요.- 기본 Cassandra:Cassandra 사용자 인증 정보 및 CASS_AUTH=y를 사용하여 새 데이터 센터를 설정합니다. 처음으로 Cassandra 인증 사용 설정을 참조하세요.
- 기본 Cassandra 사용자 인증 정보를 사용하여 새 데이터 센터에 Edge 구성요소를 설치합니다.
기본 사용자 인증 정보가 아닌 사용자 인증 정보로 기존 데이터 센터에서 Cassandra 인증이 이미 사용 설정된 경우 다음 단계를 따르세요.
- 기본 Cassandra:Cassandra 사용자 인증 정보 및 CASS_AUTH=y를 사용하여 새 데이터 센터를 설정합니다. 처음으로 Cassandra 인증 사용 설정을 참조하세요.
- 처음으로 Cassandra 인증 사용 설정 단계를 따라 기존 데이터 센터의 사용자 인증 정보를 재사용합니다 (기존 데이터 센터에서 기본이 아닌 사용자 인증 정보를 사용하는 경우).
- 기본값이 아닌 Cassandra 사용자 인증 정보를 사용하여 새 데이터 센터에 Edge 구성요소를 설치합니다.
시나리오 2: 기존 데이터 센터에 Cassandra 인증이 사용 설정되지 않음
Cassandra 인증이 사용 설정되지 않은 경우 다음 단계를 수행합니다.
- Cassandra 인증 없이 새 데이터 센터를 설정합니다.
- 처음으로 Cassandra 인증 사용 설정 단계에 따라 클러스터 전체에서 Cassandra 인증을 사용 설정합니다 (확장 후).
- 여기의 단계에 따라 Cassandra에 연결되는 Edge 구성요소를 업데이트합니다.
처음으로 Cassandra 인증 사용 설정
다음 절차를 사용하여 Cassandra 인증을 처음 사용 설정하거나 새 Cassandra 사용자 이름과 비밀번호를 만듭니다.
- 아래 표시된 콘텐츠로 자동 구성 파일을 만듭니다.
# Specify IP address or DNS name of cassandra node IP1=192.168.1.1 IP2=192.168.1.2 IP3=192.168.1.3 # Must resolve to IP address or DNS name of host HOSTIP=$(hostname -i) # Set to ‘y’ to enable Cassandra authentication. CASS_AUTH=y # Possible values are ‘y/n’ # Cassandra username. If it does not exist, this user would be created as a SUPERUSER CASS_USERNAME=cassandra # Default value is cassandra # Cassandra Password. If CASS_USERNAME does not exist, create SUPERUSER with this as password CASS_PASSWORD=cassandra # Default value is cassandra # Space-separated IP/DNS names of the Cassandra hosts CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" # Username of an existing C* user. Only needed if you have disabled or change details of the default cassandra user(‘cassandra’) CASS_EXISTING_USERNAME=cassandra # The default username is cassandra # Password of an existing C* user. Only needed if you have disabled or change password of the default cassandra user(‘cassandra’) CASS_EXISTING_PASSWORD=cassandra # The default password is cassandra # Cassandra port CASS_PORT=9042 # The default port is 9042.
- 첫 번째 Cassandra 노드에 로그인하고 다음 명령어를 실행합니다.
apigee-service apigee-cassandra enable_cassandra_authentication -f CONFIG
원하는 경우 다음 예시와 같이 속성을 스크립트에 명령어 인수로 전달할 수 있습니다.
CASS_AUTH=y HOSTIP=$(hostname -i) CASS_PORT=9042 CASS_EXISTING_USERNAME=cassandra CASS_EXISTING_PASSWORD=cassandra CASS_USERNAME=cassandra CASS_PASSWORD=cassandra CASS_HOSTS="192.168.1.1:1,1 192.168.1.2:1,1 192.168.1.3:1,1" apigee-service apigee-cassandra enable_cassandra_authentication
참고:
- 기본 Cassandra 사용자 인증 정보의 경우 위 명령어는 Cassandra 인증을 사용 설정하고 Cassandra를 다시 시작합니다.
- 기본 사용자 인증 정보가 아닌 경우 이 명령어는 복제 요소도 변경하고, 수퍼유저를 만들고, system_auth 키스페이스에서 복구를 실행합니다.
- 모든 Cassandra 노드에서 1단계와 2단계를 하나씩 반복합니다.
Cassandra 설치 후 Cassandra 사용자 인증 정보 변경
Cassandra를 설치한 후 Cassandra 사용자 인증 정보를 변경하려면 다음 안내를 따르세요.
cqlsh도구와 기본 사용자 인증 정보를 사용하여 Cassandra 노드에 로그인합니다. 한 노드에서만 비밀번호를 변경하면 되며, 이 비밀번호는 링의 모든 Cassandra 노드에 브로드캐스트됩니다./opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra
각 항목의 의미는 다음과 같습니다.
- cassIP는 Cassandra 노드의 IP 주소입니다.
- 9042는 기본 Cassandra 포트입니다.
- 기본 사용자는
cassandra입니다. - 기본 비밀번호는
cassandra입니다. 이전에 비밀번호를 변경한 경우 현재 비밀번호를 사용합니다. 비밀번호에 특수문자가 포함된 경우 작은따옴표로 묶습니다.
cqlsh>프롬프트에서 다음 명령어를 실행하여 비밀번호를 업데이트합니다.ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
- 다음 예시와 같이
cqlsh도구를 종료합니다.exit
- 아직 관리 서버, 메시지 프로세서, 라우터, Qpid 서버 또는 Postgres 서버를 설치하지 않은 경우 구성 파일에서 다음 속성을 설정한 후 해당 구성요소를 설치합니다.
CASS_USERNAME=cassandra CASS_PASSWORD=NEW_PASSWORD
- 이미 관리 서버, 메시지 프로세서, 라우터, Qpid 서버 또는 Postgres 서버를 설치한 경우 Edge 비밀번호 재설정에서 새 비밀번호를 사용하도록 해당 구성요소를 업데이트하는 절차를 참조하세요.