Cassandra 인증 사용 설정

프라이빗 클라우드용 Edge v. 4.17.09

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

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

  • username = 'cassandra'
  • password = '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.

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


    이 명령어는 Management Server를 자동으로 다시 시작합니다.
  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:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c239e43bc09f8050
    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. Stack 노드를 구성합니다.
      > /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