Azure Key Vault gebruiken om TLS/SSL-certificaten te leveren aan Apache Tomcat

In dit artikel wordt beschreven hoe u Azure Key Vault integreert in Apache Tomcat om TLS/SSL-certificaten te leveren.

Zorg ervoor dat de JVM toegang heeft tot de TLS/SSL-certificaten

Zorg ervoor dat u alle stappen hebt gevolgd die worden beschreven in Azure Key Vault gebruiken om TLS/SSL-certificaten te leveren aan de JVM-.

De TLS/SSL-configuratie toevoegen aan server.xml

Voeg de volgende configuratie toe aan het server.xml-bestand in Tomcat. Vervang de tijdelijke aanduiding <your-certificate> door de naam van het certificaat in Azure Key Vault die u wilt gebruiken voor TLS/SSL aan de serverzijde.

<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>

De vereiste opstarteigenschappen instellen

Gebruik de omgevingsvariabelen JAVA_OPTS en CLASSPATH om uw omgeving in te stellen voordat u Tomcat start. Een manier om de omgevingsvariabelen op te geven, is door een setenv.sh of setenv.bat script te maken in de map Tomcat bin.

Notitie

U kunt ook andere methoden gebruiken om de omgevingsvariabelen in te stellen. We hebben getest door het catalina.sh-script of catalina.bat script van Tomcat uit te voeren en door de Tomcat voor Windows-service uit te voeren.

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

In het volgende voorbeeld van JAVA_OPTS worden lokale tests behandeld met behulp van een service-principal:

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'

In dit voorbeeld worden cloudimplementaties behandeld met behulp van een door de gebruiker toegewezen beheerde identiteit:

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

In dit voorbeeld worden cloudimplementaties behandeld met behulp van een door het systeem toegewezen beheerde identiteit:

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

Zie Azure Key Vault gebruiken om TLS/SSL-certificaten te leveren aan de JVM-voor de betekenis van elk van deze eigenschappen.

Volgende stappen