Cassandra 인증 사용 설정

Private Cloud용 Edge v4.18.01

기본적으로 Cassandra는 인증이 사용 설정되지 않은 상태로 설치됩니다. 즉, 누구나 Cassandra에 액세스할 수 있습니다. Edge를 설치한 후 또는 설치 프로세스의 일부로 인증을 사용 설정할 수 있습니다.

Cassandra에서 인증을 사용 설정하기로 결정하면 다음 기본 사용자 인증 정보를 사용합니다.

  • 사용자 이름 = 'cassandra'
  • 비밀번호 = 'cassandra'

이 계정을 사용하거나, 계정에 다른 비밀번호를 설정하거나, 새 Cassandra 사용자를 만들 수 있습니다. Cassandra CREATE/ALTER/DROP USER 문을 사용하여 사용자를 추가, 삭제, 수정합니다.

자세한 내용은 Cassandra SQL 셸 명령어를 참조하세요.

설치 중에 Cassandra 인증 사용 설정

Cassandra 인증을 설치 시간으로 사용 설정할 수 있습니다. 그러나 Cassandra를 설치할 때 인증을 사용 설정할 수 있지만 기본 사용자 이름과 비밀번호는 변경할 수 없습니다. Cassandra 설치가 완료된 후에는 이 단계를 수동으로 수행해야 합니다.

참고: '-p c', '-p ds', '-p sa', '-p aio', '-p asa' 및 '-p ebp' 옵션을 사용하여 Cassandra를 설치할 때 이 절차를 사용합니다.

설치 시 Cassandra 인증을 사용 설정하려면 모든 Cassandra 노드의 구성 파일에 CASS_AUTH 속성을 포함합니다.

CASS_AUTH=y # The default value is n.

다음 에지 구성요소는 Cassandra에 액세스합니다.

  • 관리 서버
  • 메시지 프로세서
  • 라우터
  • Qpid 서버
  • Postgres 서버
  • BaaS 스택

따라서 이러한 구성요소를 설치할 때는 구성 파일에 다음 속성을 설정하여 Cassandra 사용자 인증 정보를 지정해야 합니다.

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

Cassandra를 설치한 후 Cassandra 사용자 인증 정보를 변경할 수 있습니다. 하지만 이미 관리 서버, 메시지 프로세서, 라우터, Qpid 서버, Postgres 서버 또는 BaaS 스택을 설치한 경우 새 사용자 인증 정보를 사용하도록 해당 구성요소도 업데이트해야 합니다.

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> 프롬프트로 실행하여 비밀번호를 업데이트합니다.
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  3. cqlsh 도구 종료:
    cqlsh> exit
  4. 관리 서버, 메시지 프로세서, 라우터, Qpid 서버, Postgres 서버 또는 BaaS 스택을 아직 설치하지 않은 경우 구성 파일에서 다음 속성을 설정한 후 해당 구성요소를 설치합니다.
    CASS_USERNAME=cassandra
    CASS_PASSWORD=NEW_PASSWORD
  5. 관리 서버, 메시지 프로세서, 라우터, Qpid 서버, Postgres 서버 또는 BaaS 스택을 이미 설치한 경우 에지 비밀번호 재설정에서 새 비밀번호를 사용하도록 구성요소를 업데이트하는 절차를 참조하세요.

설치 후 Cassandra 인증 사용 설정

인증을 사용 설정하려면 다음 안내를 따르세요.

  • Cassandra 사용자 이름과 비밀번호로 Cassandra에 연결되는 모든 Edge 구성요소를 업데이트합니다.
  • 모든 Cassandra 노드에서 인증을 사용 설정합니다.
  • 노드 하나에 Cassandra 사용자 이름과 비밀번호를 설정합니다. Cassandra 노드 한 개에서 사용자 인증 정보를 변경하기만 하면 링에 있는 모든 Cassandra 노드에 브로드캐스트됩니다.

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

  1. 관리 서버 노드에서 다음 명령어를 실행합니다.
    > /opt/apigee/apigee-service/bin/apigee-serviceedge-management-server store_cassandra_credentials -u CASS_USERNAME -p CASS_PASSWORD

    새 사용자 이름과 비밀번호가 포함된 명령어에 파일을 전달할 수 있습니다.
    > apigee-service edge-PASSFiles-f





    configFile
  2. 다음 기기에서 1단계를 반복합니다.
    • 모든 메시지 프로세서
    • 모든 라우터
    • 모든 Qpid 서버 (edge-qpid-server)
    • Postgres 서버 (edge-postgres-server)
  3. 버전 4.16.05.04 이상의 BaaS 스택 노드에서 다음을 실행합니다.
    1. 다음 명령어를 실행하여 암호화된 비밀번호를 생성합니다.
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid secure_password

      이 명령어는 일반 텍스트 비밀번호를 입력하라는 메시지를 표시하고 다음과 같은 형식으로 암호화된 비밀번호를 반환합니다.
      SECURE:ae1b6dedbf6b26aaab8bee35b751bc51bc51bc5f
    2. /opt/apigee/customer/application/usergrid.properties에 다음 토큰을 설정합니다. 해당 파일이 없으면 만듭니다.
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c209에 Cassandra의 기본 사용자 이름 사용
      이 사용자 이름은
      .
      사용자 이름을 변경했다면 그에 따라 usergrid-deployment_cassandra.username 값을 설정합니다.

      비밀번호에 'SECURE:' 프리픽스를 포함해야 합니다. 그렇지 않으면 BaaS 스택이 값을 암호화되지 않은 것으로 해석합니다.

      참고: 각 BaaS 스택 노드에는 비밀번호를 암호화하는 데 사용되는 고유 키가 있습니다. 따라서 암호화된 값을 각 BaaS 스택 노드에서 개별적으로 생성해야 합니다.
    3. usergrid.properties 파일의 소유권을 'apigee' user로 변경합니다.
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. 스택 노드를 구성합니다.
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configuration
    5. BaaS 스택을 다시 시작합니다.
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
    6. 모든 BaaS 스택 노드에 이 단계를 반복합니다.

다음 절차에 따라 Cassandra 인증을 사용 설정하고 사용자 이름과 비밀번호를 설정합니다.

  1. 첫 번째 Cassandra 노드에 로그인합니다.
  2. 다음 명령어를 실행합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra
      enable_cassandra_authentication -e y

    이 명령어는 인증을 사용 설정하고 Cassandra를 다시 시작합니다.

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

    장소

    • cassIP는 Cassandra 노드의 IP 주소입니다.
    • 9042은 Cassandra 포트입니다.
    • 기본 사용자는 cassandra입니다.
    • 기본 비밀번호는 cassandra입니다. 이전에 비밀번호를 변경했다면 현재 비밀번호를 사용하세요.
  5. cqlsh> 프롬프트에서 다음 명령어를 실행하여 비밀번호를 업데이트합니다.
    ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';
  6. cqlsh> 프롬프트에서 다음 명령어를 실행하여 키스페이스를 항상 사용할 수 있도록 합니다. 단일 데이터 센터:
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3'};
    데이터 센터 2개:
    ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-1': '3', 'dc-2': '3'};
  7. cqlsh 도구를 종료합니다.
    exit
  8. nodetool repair를 실행하여 변경사항이 모든 Cassandra 노드에 전파되는지 확인합니다.
    /opt/apigee/apigee-cassandra/bin/nodetool repair system_auth