MicroStrategy ONE

PostgreSQL 및 Platform Analytics 소비자에 대한 SSL 구성

Platform Analytics 소비자와 PostgreSQL 데이터베이스 간의 통신은 암호화 및 인증에 SSL을 사용하도록 구성할 수 있습니다. 자세한 내용은 다음을 참조하십시오. PostgreSQL 설명서 .

PostgreSQL 서버 측 구성

있어야 합니다. OpenSsl버전 1.1.0 이상이 설치되어 있습니다.

  1. 실행 OpenSsl 애플리케이션을 관리자로 실행하여 개인 키를 생성하십시오. 개인 키를 생성할 때 암호를 제공해야 합니다.

    openssl 명령이 OpenSsl 애플리케이션과 함께 실행되므로 이(가) 모든 줄의 시작 부분에 포함되지 않습니다. 인증서 및 키를 Unix 시스템에서 생성하는 경우 을(를) 포함해야 할 수 있습니다. openssl 을(를) 클릭합니다.

    복사
    genrsa -des3 -out server.key 1024
    rsa -in server.key -out server.key
  2. 서버 인증서를 만듭니다.

    서버 인증서를 성공적으로 생성하려면 OpenSsl 애플리케이션을 재시작해야 할 수 있습니다.

    -subj 은(는) 정보 프롬프트를 방지하는 바로가기입니다.

    -x509 은(는) 인증서 요청이 아닌 자체 서명 인증서를 생성합니다.

    복사
    req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP or HOSTNAME"
  3. 명령 프롬프트 또는 파일 탐색기를 열고 서버 인증서가 있는 위치로 이동합니다.

  4. 새로 생성된 서버 인증서를 복사하여 인증 기관을 만듭니다.

    복사
    copy server.crt root.crt
  5. 다음을에 추가 postgres.conf 파일:

    복사
    listen_addresses = '*' # what IP address(es) to listen on;

    다음의 주석 처리를 제거하고 변경합니다.

    복사
    ssl = on
    ssl_ca_file = '\\LOCATION_OF_FILE\\root.crt'
    ssl_cert_file = '\\LOCATION_OF_FILE\\server.crt'
    ssl_key_file = '\\LOCATION_OF_FILE\\server.key'
    ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
    ssl_prefer_server_ciphers = on
  6. 에서 pg_hba.conf 파일에서 다음을 추가 또는 수정합니다.

    호스트 항목을 주석 처리해야 할 수 있습니다.

    hostssl DB_username에 대해 SSL을 적용합니다.

    clientcert=1 클라이언트 인증(양방향 인증)을 적용합니다.

    복사
    hostssl   platform_analytics_wh   DB_USERNAME   
    CLIENT_IP/32   cert clientcert=1
  7. 두 파일의 변경 사항을 저장합니다.

  8. 열기시작 > 서비스 PostgreSQL 또는 MicroStrategy Repository를 다시 시작합니다.

클라이언트 측 설정

  1. 개인 키 및 인증서를 만듭니다.

    복사
    genrsa -des3 -out postgresql.key 1024
    rsa -in postgresql.key -out postgresql.key
    req -new -key postgresql.key -out postgresql.csr -subj "/CN=DB_USERNAME"
    x509 -req -in postgresql.csr -CA root.crt -CAkey server.key -out postgresql.crt -CAcreateserial

    오류가 발생하면 주석 처리해야 할 수 있습니다. tsa_policy1 에서 openssl.cnf 개 파일. Openssl을 관리자로 저장하고 재시작합니다.

    복사
    # Policies used by the TSA examples.
    #tsa_policy1 = 1.2.3.4.1
    tsa_policy2 = 1.2.3.4.5.6
    tsa_policy3 = 1.2.3.4.5.7 
  2. 아래 명령을 사용하여 개인 키를 DER 형식으로 변환합니다.

    Platform Analytics에서 사용하는 JDBC PostgreSQL 드라이버를 사용하려면 키 파일이 PEM 형식이 아닌 DER 형식이어야 합니다.

    복사
    pkcs8 -topk8 -inform PEM -in postgresql.key -outform 
    DER -nocrypt -out postgresql.key.der
  3. PostgreSQL에 사용되는 ODBC 드라이버에 따라 키 저장소가 필요할 수 있습니다. 키 저장소를 만들려면:

    복사
    pkcs12 -export -in postgresql.crt -inkey 
    postgresql.key -out postgresql.p12
  4. 생성된 파일을 클라이언트 시스템에 복사하고 업데이트 PAConsumerConfig.yaml 파일을 아래 경로로 인증서 및 키를 추가합니다.

    클라이언트 키가 DER에 있음 형식입니다.

    복사
    pgWarehouseDbConnection:
        pgWhHost: YOUR_HOST
        pgWhUser: DB_USERNAME
        pgWhPasswd: YOUR_PASSWORD
        pgWhPort: 5432
        pgWhDb: platform_analytics_wh
        pgWhSSLcert: \LOCATION_OF_FILE\postgresql.crt
        pgWhSSLkey: \LOCATION_OF_FILE\postgresql.key.der
        pgWhSSLrootcert: \LOCATION_OF_FILE\root.crt
        pgWhSSLmode: verify-ca

PostgreSQL 서버 측 구성

  1. OpenSsl을 사용하여 개인 키를 생성합니다. 개인 키를 생성할 때 암호를 제공해야 합니다.

    복사
    openssl genrsa -des3 -out server.key 1024
  2. 암호 제거:

    복사
    openssl rsa -in server.key -out server.key
  3. 키 파일에 대한 액세스를 부여합니다.

    에 대한 권한 server.key 은(는) 세계 또는 그룹에 대한 액세스를 비활성화해야 합니다. 이 작업을 수행하려면 chmod 권한 0600. 또는 파일의 소유자는 root 그룹 읽기 권한이 있음, 즉 chmod 0640 개의 권한. 이 설정은 운영 체제에서 인증서 및 키 파일을 관리하는 설치를 위한 것입니다. 그러면 PostgreSQL 서버가 실행되는 사용자는 해당 인증서 및 키 파일에 액세스할 수 있는 그룹의 구성원이 되어야 합니다.

    파일 권한 및 소유자를 PostgreSQL을 실행하는 시스템 사용자로 변경합니다.

    복사
    chown PSQL_OWNER:PSQL_OWNER server.key
    chmod 0600 server.key

    소유자가 root:

    복사
    chown root:root server.key
    chmod 06040 server.key
  4. 서버 인증서 및 인증 기관을 만듭니다.

    -subj 은(는) 정보 프롬프트를 방지하는 바로가기입니다.

    -x509 은(는) 인증서 요청이 아닌 자체 서명 인증서를 생성합니다.

    복사
    openssl req -new -key server.key -days 3650 -out server.crt -x509 -subj "/CN=IP OR HOSTNAME"
    cp server.crt root.crt
  5. 생성된 모든 인증서에 대해 다음을 수행합니다.

    복사
    chown PSQL_OWNER:PSQL_OWNER server.crt
    chmod 0600 server.crt

    chown PSQL_OWNER:PSQL_OWNER root.crt
    chmod 0600 root.crt
  6. 다음을에 추가 postgres.conf 파일:

    복사
    listen_addresses = '*' # what IP address(es) to listen on;

    다음의 주석 처리를 제거하고 변경합니다.

    복사
    ssl = on
    ssl_ca_file = '/LOCATION_OF_FILE/root.crt'
    ssl_cert_file = '/LOCATION_OF_FILE/server.crt'
    ssl_key_file = '/LOCATION_OF_FILE/server.key'
    ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
    ssl_prefer_server_ciphers = on
  7. 에서 pg_hba.conf 파일에서 다음을 추가 또는 수정합니다.

    호스트 항목을 주석 처리해야 할 수 있습니다.

    hostssl DB_username에 대해 SSL을 적용합니다.

    clientcert=1 클라이언트 인증(양방향 인증)을 적용합니다.

    복사
    hostssl   platform_analytics_wh   DB_USERNAME   CLIENT_IP/32   cert clientcert=1
  8. PostgreSQL 또는 MicroStrategy 저장소를 다시 시작합니다.

    PostgreSQL이 MicroStrategy 외부에 설치된 경우 다음과 같은 명령을 사용합니다.

    복사
    systemctl restart postgresql-11

    MicroStrategy Repository가 플랫폼 분석에 사용되는 경우 다음 명령을 사용하십시오.

    이 명령은 다음으로 실행할 수 없습니다. root.

    복사
    cd /opt/MicroStrategy/PlatformAnalytics/bin 
    ./mstr_pg_ctl restart

클라이언트 측 설정

  1. 개인 키 및 인증서를 만듭니다.

    복사
    openssl genrsa -des3 -out postgresql.key 1024
    openssl rsa -in postgresql.key -out postgresql.key
    openssl req -new -key postgresql.key -out postgresql.csr -subj "/CN=DB_USERNAME"
    openssl x509 -req -in postgresql.csr -CA root.crt -CAkey server.key -out postgresql.crt -CAcreateserial
  2. 아래 명령을 사용하여 개인 키를 DER 형식으로 변환합니다.

    Platform Analytics에서 사용하는 JDBC PostgreSQL 드라이버를 사용하려면 키 파일이 PEM 형식이 아닌 DER 형식이어야 합니다.

    복사
    openss1 pkcs8 -topk8 -inform PEM -in postgresql.key -outform DER -nocrypt -out postgresql.key.der
  3. PostgreSQL에 사용되는 ODBC 드라이버에 따라 키 저장소가 필요할 수 있습니다. 키 저장소를 만들려면:

    복사
    openss1 pkcs12 -export -in postgresql.crt -inkey postgresql.key -out postgresql.p12
  4. 생성된 파일을 클라이언트 시스템에 복사하고 업데이트 PAConsumerConfig.yaml 파일을 아래 경로로 인증서 및 키를 추가합니다.

    클라이언트 키가 DER에 있음 형식입니다.

    복사
    pgWarehouseDbConnection:
        pgWhHost: YOUR_HOST
        pgWhUser: DB_USERNAME
        pgWhPasswd: YOUR_PASSWORD
        pgWhPort: 5432
        pgWhDb: platform_analytics_wh
        pgWhSSLcert: /LOCATION_OF_FILE/postgresql.crt
        pgWhSSLkey: /LOCATION_OF_FILE/postgresql.key.der
        pgWhSSLrootcert: /LOCATION_OF_FILE/root.crt
        pgWhSSLmode: verify-ca