Cassandra 인증 사용 설정

기본적으로 Cassandra는 인증이 사용 설정되지 않은 상태로 설치됩니다. 즉, Cassandra 서버에 액세스할 수 있는 모든 사용자가 인증 없이 Cassandra 데이터베이스를 쿼리할 수 있습니다. Edge를 설치한 후 또는 설치 프로세스의 일부로 인증을 사용 설정할 수 있습니다.

자체 사용자 인증 정보를 제공하지 않고 Cassandra에서 인증을 사용 설정하려면 다음과 같은 기본 사용자 인증 정보를 사용합니다.

  • 사용자 이름 = 'cassandra'
  • 비밀번호 = '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에 연결되는 에지 구성요소

다음 에지 구성요소는 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에 연결되는 에지 구성요소 업데이트

다음 절차를 따라 새 사용자 인증 정보로 Cassandra와 통신하는 모든 Edge 구성요소를 업데이트합니다. Cassandra 사용자 인증 정보를 실제로 업데이트하기 전에 이 단계를 수행해야 합니다.

  1. 관리 서버 노드에서 다음 명령어를 실행합니다.
    /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.

    이 명령어는 자동으로 관리 서버를 다시 시작합니다.

  2. 다음 서비스마다 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에서 특수 사용자입니다. 이 사용자를 사용하여 인증하려면 QUORUM 일관성이 필요합니다. Cassandra 일관성 수준 정보를 참조하세요.

    데이터 센터가 여러 개인 경우 Cassandra 인증 사용 설정

    데이터 센터를 확장할 때는 설정에 따라 다음 시나리오 중 하나의 단계를 따르세요.

    시나리오 1: 기존 데이터 센터에서 Cassandra 인증을 사용 설정

    Cassandra 인증이 기존 데이터 센터에서 기본 cassandra:cassandra 사용자 인증 정보로 이미 사용 설정된 경우 아래 단계를 따르세요.

    1. 기본 Cassandra:Cassandra 사용자 인증 정보와 CASS_AUTH=y를 사용하여 새 데이터 센터를 설정하세요. 처음으로 Cassandra 인증 사용 설정을 참조하세요.
    2. 기본 Cassandra 사용자 인증 정보를 사용하여 새 데이터 센터에 Edge 구성요소를 설치합니다.

    Cassandra 인증이 기본이 아닌 사용자 인증 정보로 기존 데이터 센터에서 이미 사용 설정된 경우 다음 단계를 따르세요.

    1. 기본 Cassandra:Cassandra 사용자 인증 정보와 CASS_AUTH=y를 사용하여 새 데이터 센터를 설정합니다. 처음으로 Cassandra 인증 사용 설정을 참조하세요.
    2. 기존 데이터 센터의 사용자 인증 정보를 재사용하려면 처음으로 Cassandra 인증 사용 설정 단계를 따르세요 (기존 데이터 센터에서 기본이 아닌 사용자 인증 정보를 사용하는 경우).
    3. 기본이 아닌 Cassandra 사용자 인증 정보를 사용하여 새 데이터 센터에 Edge 구성요소를 설치합니다.

    시나리오 2: 기존 데이터 센터에 Cassandra 인증이 사용 설정되어 있지 않음

    cassandra 인증이 사용 설정되지 않은 경우 다음 단계를 따르세요.

    1. Cassandra 인증 없이 새 데이터 센터를 설정합니다.
    2. 처음으로 Cassandra 인증 사용 설정 단계에 따라 클러스터 전체에서 Cassandra 인증을 사용 설정합니다 (확장 후).
    3. 여기에 있는 단계에 따라 Cassandra에 연결되는 Edge 구성요소를 업데이트합니다.

    처음으로 Cassandra 인증 사용 설정

    Cassandra 인증을 처음으로 사용 설정하거나 새 Cassandra 사용자 이름과 비밀번호를 만들려면 다음 절차를 따르세요.

    1. 아래 표시된 콘텐츠로 자동 구성 파일을 만듭니다.
      # 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.
    2. 첫 번째 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 키스페이스에서 복구를 실행합니다.
    3. 모든 Cassandra 노드에서 1단계와 2단계를 하나씩 반복합니다.

    Cassandra 설치 후 Cassandra 사용자 인증 정보 변경

    Cassandra를 설치한 후 Cassandra 사용자 인증 정보를 변경하려면 다음 단계를 따르세요.

    1. cqlsh 도구와 기본 사용자 인증 정보를 사용하여 Cassandra 노드 하나에 로그인합니다. 노드 1개에서만 비밀번호를 변경하면 되며 그러면 링에 있는 모든 Cassandra 노드에 비밀번호가 브로드캐스트됩니다.
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p cassandra

      각 항목의 의미는 다음과 같습니다.

      1. cassIP는 Cassandra 노드의 IP 주소입니다.
      2. 9042는 기본 Cassandra 포트입니다.
      3. 기본 사용자는 cassandra입니다.
      4. 기본 비밀번호는 cassandra입니다. 이전에 비밀번호를 변경했다면 현재 비밀번호를 사용하세요. 비밀번호에 특수문자가 포함되어 있으면 작은따옴표로 묶습니다.
    2. cqlsh> 프롬프트에서 다음 명령어를 실행하여 비밀번호를 업데이트합니다.
      ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
    3. 다음 예에 표시된 대로 cqlsh 도구를 종료합니다.
      exit
    4. 관리 서버, 메시지 프로세서, 라우터, Qpid 서버 또는 Postgres 서버를 아직 설치하지 않은 경우 구성 파일에서 다음 속성을 설정한 후 해당 구성요소를 설치합니다.
      CASS_USERNAME=cassandra
      CASS_PASSWORD=NEW_PASSWORD
    5. 관리 서버, 메시지 프로세서, 라우터, Qpid 서버 또는 Postgres 서버를 이미 설치한 경우 에지 비밀번호 재설정에서 새 비밀번호를 사용하도록 구성요소를 업데이트하는 절차를 참조하세요.