에지 비밀번호 재설정

Private Cloud용 Edge v. 4.17.09

설치가 완료되면 OpenLDAP, Apigee Edge 시스템 관리자, Edge 조직 사용자, Cassandra 비밀번호를 재설정할 수 있습니다.

OpenLDAP 비밀번호 재설정

Edge 구성에 따라 OpenLDAP는 다음과 같이 설치할 수 있습니다.

  • 관리 서버 노드에 설치된 OpenLDAP의 단일 인스턴스. 예를 들어 2노드, 5노드 또는 9노드 Edge 구성입니다.
  • OpenLDAP 복제로 구성된 관리 서버 노드에 설치된 여러 OpenLDAP 인스턴스 예를 들어 12노드 Edge 구성에서
  • OpenLDAP 복제로 구성된 자체 노드에 설치된 여러 OpenLDAP 인스턴스 예를 들어 13노드 Edge 구성에서

OpenLDAP 비밀번호를 재설정하는 방법은 구성에 따라 다릅니다.

관리 서버에 설치된 OpenLDAP의 단일 인스턴스의 경우 다음을 수행합니다.

  1. 관리 서버 노드에서 다음 명령어를 실행하여 새 OpenLDAP 비밀번호를 만듭니다.
    > /opt/apigee/apigee-service/bin/apigee-service apigee-openldap change-ldap-password -o oldPword -n newPword
  2. 다음 명령어를 실행하여 관리 서버의 액세스용 새 비밀번호를 저장합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server store_ldap_credentials -p newPword

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

관리 서버 노드에 OpenLDAP가 설치된 OpenLDAP 복제 설정에서는 두 관리 서버 노드에서 모두 위 단계에 따라 비밀번호를 업데이트합니다.

OpenLDAP가 관리 서버가 아닌 노드에 있는 OpenLDAP 복제 설정에서는 먼저 두 OpenLDAP 노드에서 비밀번호를 변경한 다음 두 관리 서버 노드에서 비밀번호를 변경해야 합니다.

시스템 관리자 비밀번호 재설정

시스템 관리자 비밀번호를 재설정하려면 다음 두 위치에서 비밀번호를 재설정해야 합니다.

  • 관리 서버
  • UI

경고: 시스템 관리자 비밀번호를 재설정하기 전에 Edge UI를 중지해야 합니다. 관리 서버에서 먼저 비밀번호를 재설정했기 때문에 UI에서 잠시 동안 이전 비밀번호를 계속 사용할 수 있습니다. UI에서 이전 비밀번호를 사용하여 3회 이상 호출하면 OpenLDAP 서버는 시스템 관리자 계정을 3분 동안 잠급니다.

시스템 관리자 비밀번호를 재설정하려면 다음 단계를 따르세요.

  1. UI 노드에서 Edge UI를 중지합니다.
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
  2. 관리 서버에서 다음 명령어를 실행하여 비밀번호를 재설정합니다.
    > /opt/apigee/apigee-service/bin/apigee-service Edge-management-server change_sysadmin_password -o currentPW -n newPW
  3. Edge UI를 설치하는 데 사용한 무음 구성 파일을 수정하여 다음 속성을 설정합니다.
    APIGEE_ADMINPW=newPW
    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    SMTPMAILFROM="My Company <myco@company.com>"


    UI의 모든 속성이 재설정되므로 새 비밀번호를 전달할 때 SMTP 속성을 포함해야 합니다.
  4. apigee-setup 유틸리티를 사용하여 구성 파일에서 Edge UI의 비밀번호를 재설정합니다.
    > /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
  5. (UI에서 TLS가 사용 설정된 경우에만 해당) 관리 UI의 TLS 구성에 설명된 대로 Edge UI에서 TLS를 다시 사용 설정합니다.

관리 서버가 여러 개인 OpenLDAP 복제 환경에서 한 관리 서버의 비밀번호를 재설정하면 다른 관리 서버가 자동으로 업데이트됩니다. 하지만 모든 Edge UI 노드를 별도로 업데이트해야 합니다.

조직 사용자 비밀번호 재설정

조직 사용자의 비밀번호를 재설정하려면 apigee-servce 유틸리티를 사용하여 apigee-setup을 호출합니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-setup reset_user_password
 [-h] 
 [-u USER_EMAIL] 
 [-p USER_PWD]
 [-a ADMIN_EMAIL] 
 [-P APIGEE_ADMINPW] 
 [-f configFile]

예를 들면 다음과 같습니다.

> /opt/apigee/apigee-service/bin/apigee-service apigee-setup reset_user_password -u user@myCo.com -p foo12345 -a admin@myCo.com -P adminPword 

다음은 '-f' 옵션과 함께 사용할 수 있는 구성 파일 예입니다.

USER_NAME= user@myCo.com
USER_PWD= "foo12345"
APIGEE_ADMINPW= adminPword 

Update user API를 사용하여 사용자 비밀번호를 변경할 수도 있습니다.

시스템 관리자 및 조직 사용자 비밀번호 규칙

이 섹션을 사용하여 API 관리 사용자에게 원하는 수준의 비밀번호 길이와 안전성을 적용합니다. 이 설정은 사전 구성된 일련의 정규 표현식 (고유 번호가 지정됨)을 사용하여 비밀번호 콘텐츠 (예: 대문자, 소문자, 숫자, 특수문자)를 확인합니다. 이러한 설정을 /opt/apigee/customer/application/management-server.properties 파일에 작성합니다. 이 파일이 없으면 만듭니다.

management-server.properties를 수정한 후 관리 서버를 다시 시작합니다.

> /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

그런 다음 정규식의 다양한 조합을 그룹화하여 비밀번호 강도 등급을 설정할 수 있습니다. 예를 들어 대문자와 소문자가 각각 한 개 이상 있는 비밀번호는 강도 등급이 '3'이지만 소문자와 숫자가 각각 한 개 이상 있는 비밀번호는 더 강력한 등급 '4'를 받을 수 있습니다.

속성

설명

conf_security_password.validation.minimum.
password.length=8

conf_security_password.validation.default.rating=2

conf_security_password.validation.minimum.
rating.required=3

이를 사용하여 유효한 비밀번호의 전반적인 특성을 파악합니다. 비밀번호 강도에 대한 기본 최소 평가 (뒷부분의 표에 설명)는 3입니다.

password.validation.default.rating=2가 필수 최소 등급보다 낮습니다. 즉, 입력한 비밀번호가 구성한 규칙을 벗어나면 비밀번호 등급이 2로 지정되므로 비밀번호가 유효하지 않습니다 (최소 등급 3 미만).

다음은 비밀번호 특성을 식별하는 정규 표현식입니다. 각 섹션에는 번호가 매겨집니다. 예를 들어 'password.validation.regex.5=…'는 표현식 5입니다. 파일의 뒷부분 섹션에서 이러한 숫자를 사용하여 전체 비밀번호 강도를 결정하는 다양한 조합을 설정합니다.

conf_security_password.validation.regex.1=^(.)\\1+$

1 – 모든 문자가 반복됨

conf_security_password.validation.regex.2=^.*[a-z]+.*$

2 – 소문자 1개 이상

conf_security_password.validation.regex.3=^.*[A-Z]+.*$

3 – 대문자 1개 이상

conf_security_password.validation.regex.4=^.*[0-9]+.*$

4 – 숫자 1개 이상

conf_security_password.validation.regex.5=^.*[^a-zA-z0-9]+.*$

5 – 특수문자 1개 이상 (밑줄 _ 제외)

conf_security_password.validation.regex.6=^.*[_]+.*$

6 – 밑줄 1개 이상

conf_security_password.validation.regex.7=^.*[a-z]{2,}.*$

7 – 소문자가 2개 이상

conf_security_password.validation.regex.8=^.*[A-Z]{2,}.*$

8 – 2개 이상의 대문자

conf_security_password.validation.regex.9=^.*[0-9]{2,}.*$

9 – 2자리 이상

conf_security_password.validation.regex.10=^.*[^a-zA-z0-9]{2,}.*$

10 – 특수문자 2개 이상 (밑줄 제외)

conf_security_password.validation.regex.11=^.*[_]{2,}.*$

11 – 밑줄 2개 이상

다음 규칙은 비밀번호 내용에 따라 비밀번호 안전성을 결정합니다. 각 규칙은 이전 섹션의 정규 표현식 하나 이상을 포함하고 이에 숫자 강도를 할당합니다. 비밀번호의 숫자 강도는 이 파일 상단의 conf_security_password.validation.minimum.rating.required 숫자와 비교하여 비밀번호의 유효성을 확인합니다.

conf_security_password.validation.rule.1=1,AND,0

conf_security_password.validation.rule.2=2,3,4,AND,4

conf_security_password.validation.rule.3=2,9,AND,4

conf_security_password.validation.rule.4=3,9,AND,4

conf_security_password.validation.rule.5=5,6,OR,4

conf_security_password.validation.rule.6=3,2,AND,3

conf_security_password.validation.rule.7=2,9,AND,3

conf_security_password.validation.rule.8=3,9,AND,3

각 규칙에는 번호가 지정됩니다. 예를 들어 'password.validation.rule.3=…'은 규칙 3입니다.

각 규칙은 다음 형식 (등호 기호 오른쪽)을 사용합니다.

<regex-index-list>,<AND|OR>,<rating>

regex-index-list는 정규 표현식 목록 (이전 섹션의 숫자별)과 AND|OR 연산자 (즉, 나열된 표현식 중 일부 또는 전부를 고려함)입니다.

rating은 각 규칙에 부여된 숫자 강도 등급입니다.

예를 들어 규칙 5는 특수문자 또는 하이픈이 하나 이상 포함된 비밀번호의 강도 등급이 4임을 의미합니다. password.validation.minimum을 사용합니다.
rating.required=3이 있으면 평점이 4인 비밀번호가 유효합니다.

conf_security_rbac.password.validation.enabled=true

싱글 사인온 (SSO)이 사용 설정된 경우 역할 기반 액세스 제어 비밀번호 검증을 false로 설정합니다. 기본값은 true입니다.

Cassandra 비밀번호 재설정

기본적으로 Cassandra는 인증이 사용 중지된 상태로 제공됩니다. 인증을 사용 설정하면 비밀번호가'cassandra'인 사전 정의된 사용자 'cassandra'가 사용됩니다. 이 계정을 사용하거나, 이 계정에 다른 비밀번호를 설정하거나, 새 Cassandra 사용자를 만들 수 있습니다. Cassandra CREATE/ALTER/DROP USER 문을 사용하여 사용자를 추가, 삭제, 수정합니다.

Cassandra 인증을 사용 설정하는 방법에 관한 자세한 내용은 Cassandra 인증 사용 설정을 참고하세요.

Cassandra 비밀번호를 재설정하려면 다음 단계를 따르세요.

  • Cassandra 노드 1개에 비밀번호를 설정하면 링의 모든 Cassandra 노드에 브로드캐스트됩니다.
  • 각 노드의 관리 서버, 메시지 프로세서, 라우터, Qpid 서버, Postgres 서버, BaaS 스택을 새 비밀번호로 업데이트합니다.

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

Cassandra 비밀번호를 재설정하려면 다음 안내를 따르세요.

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

    여기서:
    • cassIP는 Cassandra 노드의 IP 주소입니다.
    • 9042는 Cassandra 포트입니다.
    • 기본 사용자는 cassandra입니다.
    • 기본 비밀번호는 cassandra입니다. 이전에 비밀번호를 변경한 경우 현재 비밀번호를 사용하세요.
  2. cqlsh> 프롬프트로 다음 명령어를 실행하여 비밀번호를 업데이트합니다.
    cqlsh> ALTER USER cassandra WITH PASSWORD 'NEW_PASSWORD';

    새 비밀번호에 따옴표 문자가 포함된 경우 따옴표 문자를 앞에 추가하여 이스케이프 처리합니다.
  3. cqlsh 도구를 종료합니다.
    cqlsh> exit
  4. 관리 서버 노드에서 다음 명령어를 실행합니다.
    > /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=CASS_USERNAME
    CASS_PASSWORD=CASS_PASSWROD


    이 명령어는 관리 서버를 자동으로 다시 시작합니다.
  5. 다음에 4단계를 반복합니다.
    • 모든 메시지 프로세서
    • 모든 라우터
    • 모든 Qpid 서버 (edge-qpid-server)
    • Postgres 서버 (edge-postgres-server)
  6. 버전 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:ae1b6dedbf6b26aaab8bee815a910737c1c15b55f3505c20

      사용자 이름을 변경한 경우 이에 따라 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 비밀번호가 변경되었습니다.

PostgreSQL 비밀번호 재설정

기본적으로 PostgreSQL 데이터베이스에는 'postgres'와 'apigee'라는 두 가지 사용자가 정의되어 있습니다. 두 사용자의 기본 비밀번호는 모두 'postgres'입니다. 다음 절차에 따라 기본 비밀번호를 변경하세요.

모든 Postgres 마스터 노드에서 비밀번호를 변경합니다. 두 개의 Postgres 서버가 마스터/대기 모드로 구성된 경우 마스터 노드에서만 비밀번호를 변경하면 됩니다. 자세한 내용은 Postgres용 마스터-스탠바이 복제 설정을 참고하세요.

  1. 마스터 Postgres 노드에서 디렉터리를 /opt/apigee/apigee-postgresql/pgsql/bin으로 변경합니다.
  2. PostgreSQL 'postgres' 사용자 비밀번호를 설정합니다.
    1. 다음 명령어를 사용하여 PostgreSQL 데이터베이스에 로그인합니다.
      > psql -h localhost -d apigee -U postgres
    2. 메시지가 표시되면 'postgres' 사용자 비밀번호를 'postgres'로 입력합니다.
    3. PostgreSQL 명령어 프롬프트에서 다음 명령어를 입력하여 기본 비밀번호를 변경합니다.
      apigee=> ALTER USER postgres WITH PASSWORD 'apigee1234';
    4. 다음 명령어를 사용하여 PostgreSQL 데이터베이스를 종료합니다.
      apigee=> \q
  3. PostgreSQL 'apigee' 사용자 비밀번호를 설정합니다.
    1. 다음 명령어를 사용하여 PostgreSQL 데이터베이스에 로그인합니다.
      > psql -h localhost -d apigee -U apigee
    2. 메시지가 표시되면 'apigee' 사용자 비밀번호를 'postgres'로 입력합니다.
    3. PostgreSQL 명령어 프롬프트에서 다음 명령어를 입력하여 기본 비밀번호를 변경합니다.
      apigee=> ALTER USER apigee WITH PASSWORD 'apigee1234';
    4. 다음 명령어를 사용하여 PostgreSQL 데이터베이스를 종료합니다.
      apigee=> \q
  4. APIGEE_HOME 설정:
    > export APIGEE_HOME=/opt/apigee/edge-postgres-server
  5. 새 비밀번호를 암호화합니다.
    > sh /opt/apigee/edge-postgres-server/utils/scripts/utilities/passwordgen.sh apigee1234

    이 명령어는 아래와 같이 암호화된 비밀번호를 반환합니다. 암호화된 비밀번호는 ':' 문자 다음에 시작되며 ':'는 포함되지 않습니다.
    암호화된 문자열 :WheaR8U4OeMEM11erxA3Cw==
  6. 'postgres' 및 'apigee' 사용자의 새 암호화된 비밀번호로 관리 서버 노드를 업데이트합니다.
    1. 관리 서버에서 디렉터리를 /opt/apigee/customer/application으로 변경합니다.
    2. management-server.properties 파일을 수정하여 다음 속성을 설정합니다. 이 파일이 없으면 다음과 같이 만듭니다.
      참고: 일부 속성은 암호화된 'postgres' 사용자 비밀번호를 사용하고 일부 속성은 암호화된 'apigee' 사용자 비밀번호를 사용합니다.
      • conf_pg-agent_password=newEncryptedPasswordForPostgresUser
      • conf_pg-ingest_password=newEncryptedPasswordForPostgresUser
      • conf_query-service_pgDefaultPwd=newEncryptedPasswordForApigeeUser
      • conf_query-service_dwDefaultPwd=newEncryptedPasswordForApigeeUser
      • conf_analytics_aries.pg.password=newEncryptedPasswordForPostgresUser
    3. 파일의 소유자가 'apigee' 사용자인지 확인합니다.
      > chown apigee:apigee management-server.properties
  7. 암호화된 새 비밀번호로 모든 Postgres 서버 및 Qpid 서버 노드를 업데이트합니다.
    1. Postgres 서버 또는 Qpid 서버 노드에서 디렉터리를 /opt/apigee/customer/application으로 변경하세요.
    2. 다음 파일을 수정합니다. 다음 파일이 없으면 만듭니다.
      • postgres-server.properties
      • qpid-server.properties
    3. 파일에 다음 속성을 추가합니다.
      참고: 이러한 모든 속성은 암호화된 'postgres' 사용자 비밀번호를 사용합니다.
      • conf_pg-agent_password=newEncryptedPasswordForPostgresUser
      • conf_pg-ingest_password=newEncryptedPasswordForPostgresUser
      • conf_query-service_pgDefaultPwd=newEncryptedPasswordForPostgresUser
      • conf_query-service_dwDefaultPwd=newEncryptedPasswordForPostgresUser
      • conf_analytics_aries.pg.password=newEncryptedPasswordForPostgresUser
    4. 파일의 소유자가 'apigee' 사용자인지 확인합니다.
      > chown apigee:apigee postgres-server.properties
      > chown apigee:apigee qpid-server.properties
  8. 다음 구성요소를 순서대로 다시 시작합니다.
    1. PostgreSQL 데이터베이스:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
    2. Qpid 서버:
      > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    3. Postgres 서버:
      > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
    4. 관리 서버:
      > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart