SSL 데이터베이스 연결을 사용하도록 HFM 서버 구성

HFM 서버의 트러스트 저장소에 데이터베이스 인증서 추가

HFM 데이터소스가 실행되는 모든 EPM 서버마다 다음 단계를 수행해야 합니다. 아래에서 사용된 %MW_HOME% 환경 변수는 Oracle Middleware가 설치되는 위치입니다. 이 환경 변수는 EPM 설치 중 기본적으로 생성되지 않으며 아래 단계에서는 EPM 설치의 상위 디렉토리를 표시하는 데 사용됩니다.

EPM이 설치되는 위치는 EMP_ORACLE_HOME 환경 변수로 지정됩니다. 아래 예에서는 키 저장소 및 트러스트 저장소를 EPM이 설치된 동일한 위치의 디렉토리에 배치합니다. 키 저장소 및 트러스트 저장소 파일은 HFM 서버의 파일 시스템 어느 곳이든 있을 수 있습니다.

  1. %MW_HOME% 아래에 새 디렉토리를 생성하여 Java 키 저장소와 PKCS12 트러스트 저장소를 저장합니다.
    1. cd %MW_HOME%
    2. mkdir certs
  2. JDK에서 Java 키 저장소 파일 cacerts를 복사합니다.
    1. cd %MW_HOME%\certs
    2. copy %MW_HOME%\jdk1.8.0_181\jre\lib\security\cacerts testing_cacerts

      JDK 키 저장소를 복사하여 JDK 기본 키 저장소 대신 사용하는 이유는 JDK가 업그레이드되고 이전 JDK가 삭제되는 경우 기본 키 저장소에 삽입된 키 및 인증서가 손실되기 때문입니다.

  3. Base 64 인증서를 %MW_HOME%\certs에 복사합니다.
  4. 인증서를 Java 키 저장소 파일 testing_cacerts로 임포트합니다.
    1. keytool -importcert -file bur00cbb-certificate.crt -keystore testing_cacerts -alias "myserver"를 예로 들 수 있습니다.
      1. 키 저장소의 비밀번호를 지정해야 합니다.
      2. "myserver"를 데이터베이스 서버의 정규화된 도메인 이름으로 바꿔야 합니다.
    2. 인증서를 신뢰하는지 확인하는 질문이 표시되면 y를 지정합니다.
  5. JDK Java 키 저장소 파일에서 PKCS12 형식으로 트러스트 저장소를 생성합니다. 예를 들면 다음과 같습니다.
    keytool -importkeystore -srckeystore testing_cacerts -srcstoretype JKS -deststoretype PKCS12 -destkeystore testing_cacerts.pfx

SSL을 사용하도록 HFM JDBC 연결 업데이트

  1. SSL을 사용하도록 HFM 데이터베이스 JDBC 연결을 재구성합니다.
    1. EPM 구성 툴을 실행합니다.
      1. Financial Management 노드 아래에서 데이터베이스 구성애플리케이션 서버에 배포 노드를 선택합니다.
      2. 다음을 누릅니다.
      3. HFM JDBC 연결에 대해 이러한 단계를 각각 수행합니다.
        1. 포트, 서비스 이름, 사용자 이름, 비밀번호 열에 해당 연결에 대한 SSL 포트, 서비스 이름, 사용자 이름, 비밀번호를 입력합니다.
        2. ( + )를 눌러 고급 데이터베이스 옵션을 엽니다.
        3. 보안 연결 사용 확인란을 선택합니다.
        4. 2단계에서 생성된 Java 키 저장소의 위치를 입력합니다.
        5. 적용을 누릅니다.
        6. ( + )를 눌러 고급 데이터베이스 옵션을 엽니다.
        7. 수정된 JDBC URL 편집 및 사용을 누릅니다. 표시된 JDBC URL을 변경하지 않아야 합니다.
        8. 적용을 누릅니다.
        9. 다음을 누릅니다.
    2. EPM 설명서에 설명된 대로 나머지 단계를 진행하여 HFM 애플리케이션을 배포합니다.
  2. 명령 창 또는 쉘을 열어 데이터소스에서 사용하는 ODBC 연결에 SSL이 지원될 수 있도록 EPM 레지스트리를 수동으로 업데이트합니다.

    아래 나열된 각 명령을 실행합니다.

    epmsys_registry.bat addproperty FINANCIAL_MANAGEMENT_PRODUCT/DATABASE_CONN/@ODBC_TRUSTSTORE "C:
    \Oracle\Middleware\certs\testing_cacerts.pfx"
    epmsys_registry.bat addencryptedproperty FINANCIAL_MANAGEMENT_PRODUCT/DATABASE_CONN
    /@ODBC_TRUSTSTOREPASSWORD <truststorepassword>
    epmsys_registry.bat addproperty FINANCIAL_MANAGEMENT_PRODUCT/DATABASE_CONN
    /@ODBC_VALIDATESERVERCERTIFICATE false

    위의 예에서 C:\Oracle\Middleware 경로는 1, 2, 3단계의 %MW_HOME% 값입니다.

    자체 서명 인증서가 사용되는 경우 FINANCIAL_MANAGEMENT_PRODUCT/DATABASE_CONN/@ODBC_VALIDATESERVERCERTIFICATE 등록정보는 false로만 설정되어야 합니다. FINANCIAL_MANAGEMENT_PRODUCT/DATABASE_CONN/@ODBC_TRUSTSTOREPASSWORD 값은 2단계에서 복사된 원래 Java 키 저장소의 비밀번호여야 합니다.

HFM에서 사용되는 TNS 이름 항목 업데이트

TNSNAMES.ORA를 편집하여 새 항목을 생성하고 이전 항목의 이름을 바꿉니다. 다음 예에서는 필요한 변경사항이 적용된 HFM 서버의 업데이트된 TNSNAMES.ORA 파일을 보여 줍니다. 이러한 변경은 HFM에서 HFMTNS라는 TNS 이름 항목을 찾아 사용하기 때문에 필요합니다. 이 항목이 제대로 작동하려면 XFMDataSource에 맞게 변경된 프로토콜 및 포트가 포함되어 있어야 합니다.

HFMTNS_UNENC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = myserver_service)
(SERVER = DEDICATED)
)
)
HFMTNS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCPS)(HOST = myserver)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = myserver_service)
(SERVER = DEDICATED)
)
)

원래 HFMTNS 항목의 이름이 HFMTNS_UNENC로 바뀌었습니다. HFMTNS_UNENC 항목을 복사하고 HFMTNS로 이름을 바꿔 새 HFMTNS가 생성되었습니다. 그런 다음, 프로토콜이 TCPS로 업데이트되고 포트가 1522로 변경되었습니다. 지정된 포트는 TNS LISTENER.ORA 파일에 지정된 포트와 동일해야 합니다.