SSL을 사용한 Oracle JDBC 연결

SSL(Security Socket Layer) 서버에 연결하는 경우 SSL 필요 확인란을 선택합니다.

2020.2부터 Oracle은 JDBC 커넥터를 사용합니다. Oracle 데이터 원본이 SSL 단방향 또는 양방향 인증을 사용하도록 구성된 경우 연결할 적절한 인증서 및/또는 키를 포함할 수 있습니다.

SSL 필요

연결에 SSL이 필요한 경우 다음을 수행합니다.

  1. 커넥터 대화 상자에서 SSL 필요를 클릭합니다.

  2. 연결에 맞게 SSL을 구성합니다.
    • 자체 서명 인증서를 사용하거나 사설 CA에서 서명한 인증서를 사용하는 경우 단방향 SSL 연결에 대한 신뢰 관계를 구성해야 할 수 있습니다. Oracle을 위한 단방향 SSL 구성을 참조하십시오.
    • 양방향 SSL을 사용하는 경우 클라이언트 키를 구성해야 합니다. 양방향 SSL 구성을 참조하십시오.

Oracle을 위한 단방향 SSL 구성

서버 인증서에 대한 신뢰 관계를 구성하려면 JDBC 연결을 위한 단방향 SSL 구성에서 JDBC 커넥터에 대한 일반 지침을 참조하십시오.

속성 파일을 사용하여 신뢰 관계를 구성하려는 경우 Oracle JDBC 드라이버에 대한 다음과 같은 속성을 사용합니다.

javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks
javax.net.ssl.trustStoreType=JKS
javax.net.ssl.trustStorePassword=password

참고: 통합 문서를 Tableau Server에 게시하려면 Tableau Desktop 컴퓨터와 Tableau Server 컴퓨터 모두에 동일한 Oracle 속성 파일과 truststore.jks 파일의 복사본이 있어야 합니다.

양방향 SSL 구성

Oracle 연결에서 양방향 SSL 지원을 구성할 경우 두 가지 옵션이 있습니다.

옵션 1: 데이터 원본에 클라이언트 인증서 및 개인 키 내장

SSL 인증서, 클라이언트 인증서 및 클라이언트 키를 내장하려면:

  1. 필요한 경우 Oracle을 위한 단방향 SSL 구성의 단계에 따라 서버 신뢰 관계를 구성합니다.
  2. 클라이언트 인증서 >>를 클릭합니다.

  3. 클라이언트 인증서 및 클라이언트 키의 위치를 지정합니다.
    인증서 및 개인 키는 암호화되지 않은 PEM 형식이어야 합니다. 올바른 형식으로 변환하는 것에 대한 제안 사항은 이 문서 뒷부분의 지침을 참조하십시오.

옵션 2: 속성 파일을 사용하여 클라이언트 인증서 및 개인 키 구성

인증서 및 키 구성에 속성 파일을 사용하려면:

  1. 키 저장소 및 신뢰 저장소 설정을 반영하도록 oracle.properties 파일을 수정합니다. 다음 예제를 참조하십시오. "My_Folder"를 파일의 위치로 바꾸고 "<password>"를 사용 중인 비밀번호로 바꾸십시오. OSX 및 Linux의 경로는 단일 "/" 문자로 구분해야 합니다.

    javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks
    javax.net.ssl.trustStoreType=JKS
    javax.net.ssl.trustStorePassword=<password>
    javax.net.ssl.keyStore=C:\\My_Folder\\keystore.jks
    javax.net.ssl.keyStoreType=JKS
    javax.net.ssl.keyStorePassword=password

  2. oracle.properties를 <Document>\MyTableau Respository\Datasources 폴더에 저장합니다.
  3. oracle.properties, truststore.jks 및 keystore.jks를 Tableau Server 컴퓨터에 복사합니다. 이렇게 하면 통합 문서를 Tableau Server에 게시할 수 있습니다.

이 방법을 사용하는 경우 SSL 대화 상자에서 인증서 및 키를 업로드할 필요가 없습니다. 대신 SSL 필요를 클릭합니다. 이렇게 하면 Oracle JDBC 커넥터가 oracle.properties 파일에서 키 저장소 및 신뢰 저장소의 위치를 읽습니다.

통합 문서 게시

Tableau Server에 통합 문서를 게시하려면 다음이 충족되는지 확인하십시오.

  • 속성 파일을 사용하는 경우 Tableau Desktop 컴퓨터와 Tableau Server 컴퓨터 모두에 동일한 Oracle 속성 파일, truststore.jks 및 keystore.jks의 복사본이 있습니다.
  • 서버에서 Tableau Desktop 컴퓨터와 동일한 Oracle JDBC 커넥터를 사용합니다.
  • 내장 옵션을 사용한 경우 게시할 때 "비밀번호 내장" 옵션을 선택합니다.

키 형식 변환

SSL 키를 저장할 수 있는 형식에는 다음을 비롯한 여러 형식이 있습니다.

  • Oracle Wallet
  • JKS - 속성 파일을 사용하여 SSL 신뢰 관계를 구성하려면 이 형식을 사용합니다.
  • PEM - Tableau 인터페이스를 사용하여 데이터 원본에 키를 내장하려면 이 형식을 사용합니다.

다음은 명령줄 프롬프트에 입력하여 키를 올바른 형식으로 변환하는 데 사용할 수 있는 몇 가지 추천 명령입니다. 자세한 내용은 Oracle 설명서를 참조하십시오.

서버 인증서를 Oracle Wallet에서 PEM 파일로 내보내기:

orapki wallet export -wallet wallet_location -dn certificate_dn -cert output_certificate_filename.pem

서버 인증서 및 클라이언트 키를 Oracle Wallet에서 JKS로 내보내기:

orapki wallet pkcs12_to_jks -wallet ./ -pwd mypasswd -jksKeyStoreLoc ./ewalletK.jks -jksKeyStorepwd password -jksTrustStoreLoc ./ewalletT.jks -jksTrustStorepwd password

keytool 및 OpenSSL을 사용하여 서버 인증서를 JKS 신뢰 저장소에서 PEM 파일로 내보내기:

  1. JKS 형식을 PKCS12 형식으로 내보내기:

    keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"

  2. PKCS12에서 PEM 파일을 얻기:

    openssl pkcs12 -in truststore.p12 -out serverca.pem

keytool 및 OpenSSL을 사용하여 서버 인증서 및 클라이언트 키를 JKS 신뢰 저장소에서 PEM 파일로 내보내기:

  1. 다음과 같이 신뢰 저장소에서 인증서를 내보냅니다.
    1. JKS 형식을 PKCS12 형식으로 내보내기:

      keytool -importkeystore -srckeystore truststore.jks -destkeystore truststore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"

    2. PKCS12에서 PEM 파일을 얻기:

      openssl pkcs12 -in truststore.p12 -out serverca.pem

  2. 다음과 같이 키 저장소에서 클라이언트 키 및 클라이언트 인증서를 내보냅니다.
    1. keytool을 사용하여 JKS 형식을 PCKS12 형식으로 변환합니다.

      keytool.exe -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass "password" -deststorepass "password"

    2. OpenSSL을 사용하여 클라이언트 인증서 내보내기:

      openssl pkcs12 -in keystore.p12 -nokeys -out clientcert.pem

    3. OpenSSL을 사용하여 클라이언트 키 내보내기:

      openssl pkcs12 -in keystore.p12 -nocerts -out clientkeyEncrypted.pem

    4. OpenSSL을 사용하여 암호화된 버전을 PKCS8 형식으로 변환하기:

      openssl pkcs8 -topk8 -nocrypt -in clientkeyEncrypted.pem -out clientkey.pem

참고 항목

피드백을 제공해 주셔서 감사합니다!귀하의 피드백이 제출되었습니다. 감사합니다!