다음을 통해 공유


Azure Key Vault를 사용하여 Apache Tomcat에 TLS/SSL 인증서 제공

이 문서에서는 Azure Key Vault를 Apache Tomcat에 통합하여 TLS/SSL 인증서를 제공하는 방법을 설명합니다.

JVM이 TLS/SSL 인증서에 액세스할 수 있는지 확인합니다.

JVM에 TLS/SSL 인증서를 전달하기 위해 Azure Key Vault를 사용하는 의 모든 단계를 수행했는지 확인하십시오.

server.xml에 TLS/SSL 구성을 추가합니다.

Tomcat의 server.xml 파일에 다음 구성을 추가합니다. <your-certificate> 자리 표시자를 서버 쪽 TLS/SSL에 사용하려는 Azure Key Vault의 인증서 이름으로 바꿔야 합니다.

<Connector port="8443"
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150"
           SSLEnabled="true">
    <SSLHostConfig>
        <Certificate
            certificateKeyAlias="<your-certificate>"
            certificateKeystoreFile=""
            certificateKeystorePassword=""
            certificateKeystoreType="DKS"
            certificateKeystoreProvider="AzureKeyVault" />
    </SSLHostConfig>
</Connector>

필요한 시작 속성 설정

Tomcat을 시작하기 전에 JAVA_OPTSCLASSPATH 환경 변수를 사용하여 환경을 설정합니다. 환경 변수를 지정하는 한 가지 방법은 Tomcat bin 디렉터리에 setenv.sh 또는 setenv.bat 스크립트를 만드는 것입니다.

메모

다른 방법을 사용하여 환경 변수를 설정할 수도 있습니다. Tomcat의 catalina.sh 스크립트 또는 catalina.bat 스크립트를 실행하고 Windows 서비스용 Tomcat을 실행하여 테스트했습니다.

export JAVA_OPTS="-Djava.security.properties==/xxx/my.java.security"
export CLASSPATH="/xxx/azure-security-keyvault-jca.jar"

다음 JAVA_OPTS 예제에서는 서비스 주체를 사용하는 로컬 테스트를 다룹니다.

export JAVA_OPTS='-Djava.security.properties==/xxx/my.java.security -Dazure.keyvault.uri=xxx -Dazure.keyvault.client-id=xxx -Dazure.keyvault.client-secret=xxx -Dazure.keyvault.tenant-id=xxx'

이 예제에서는 사용자 할당 관리 ID를 사용하는 클라우드 배포를 다룹니다.

export JAVA_OPTS='-Djava.security.properties==/xxx/my.java.security -Dazure.keyvault.uri=xxx -Dazure.keyvault.managed-identity=<your-managed-identity>'

이 예제에서는 시스템 할당 관리 ID를 사용하는 클라우드 배포를 다룹니다.

export JAVA_OPTS='-Djava.security.properties==/xxx/my.java.security -Dazure.keyvault.uri=xxx'

이러한 각 속성의 의미는 Azure Key Vault를 사용하여 JVMTLS/SSL 인증서를 배달하는 방법을 참조하세요.

다음 단계