Cassandra 인증 사용 설정

Private Cloud용 Edge v. 4.17.01

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

Cassandra에서 인증을 사용 설정하면 다음과 같은 기본 사용자 인증 정보가 사용됩니다.

  • username = 'cassandra'
  • password = 'cassandra'

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

자세한 내용은 http://www.datastax.com/documentation/cql/3.0/cql/cql_reference/cqlCommandsTOC.html을 참고하세요.

설치 중에 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.

다음 Edge 구성요소가 Cassandra에 액세스합니다.

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

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

CASS_USERNAME=cassandra 
CASS_PASSWORD=cassandra

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

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

  1. cqlsh 도구와 기본 사용자 인증 정보를 사용하여 Cassandra 노드 중 하나에 로그인합니다. 하나의 노드에서만 비밀번호를 변경하면 링의 모든 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 스택을 이미 설치한 경우 새 비밀번호를 사용하도록 이러한 구성요소를 업데이트하는 절차는 Edge 비밀번호 재설정을 참고하세요.

설치 후 Cassandra 인증 사용 설정

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

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

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

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

    원하는 경우 새 사용자 이름과 비밀번호가 포함된 파일을 명령어에 전달할 수 있습니다.
    > apigee-service edge-management-server store_cassandra_credentials -f configFile

    여기서 configFile에는 다음이 포함됩니다.
    CASS_USERNAME=cassandra
    CASS_PASSWORD=CASS_PASSWROD


    이 명령어는 관리 서버를 자동으로 다시 시작합니다.
  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:ae1b6dedbf6b26aaab8bee835a9
    2. /opt/apigee/customer/application/usergrid.properties에서 다음 토큰을 설정합니다. 이 파일이 없으면 다음과 같이 만듭니다.
      usergrid-deployment_cassandra.username=cassandra
      usergrid-deployment_cassandra.password=SECURE:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050


      이 예에서는 Cassandra의 기본 사용자 이름을 사용합니다. 사용자 이름을 변경한 경우 이에 따라 usergrid-deployment_cassandra.username의 값을 설정합니다.

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

      참고: 각 BaaS 스택 노드에는 비밀번호를 암호화하는 데 사용되는 고유한 키가 있습니다. 따라서 각 BaaS 스택 노드에서 암호화된 값을 별도로 생성해야 합니다.
    3. usergrid.properties 파일의 소유권을 'Apigee' 사용자로 변경합니다.
      > chown apigee:apigee /opt/apigee/customer/application/usergrid.properties
    4. 스택 노드를 구성합니다.
      > /opt/apigee/apigee-service/bin/apigee-service baas-usergrid configure
    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