Freigeben über


Verwenden von Azure Key Vault zum Bereitstellen von TLS/SSL-Zertifikaten an Apache Tomcat

In diesem Artikel wird beschrieben, wie Sie Azure Key Vault in Apache Tomcat integrieren, um TLS/SSL-Zertifikate bereitzustellen.

Stellen Sie sicher, dass das JVM auf die TLS/SSL-Zertifikate zugreifen kann

Achten Sie darauf, dass Sie alle in Verwenden von Azure Key Vault beschriebenen Schritte zum Bereitstellen von TLS/SSL-Zertifikaten an die JVM-befolgt haben.

Fügen Sie die TLS/SSL-Konfiguration zu server.xml hinzu

Fügen Sie der server.xml Datei in Tomcat die folgende Konfiguration hinzu. Ersetzen Sie unbedingt den <your-certificate> Platzhalter durch den Namen des Zertifikats in Azure Key Vault, den Sie für serverseitiges TLS/SSL verwenden möchten.

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

Festlegen der erforderlichen Starteigenschaften

Verwenden Sie die JAVA_OPTS- und CLASSPATH Umgebungsvariablen, um Ihre Umgebung einzurichten, bevor Sie Tomcat starten. Eine Möglichkeit, die Umgebungsvariablen anzugeben, besteht darin, eine zu erstellen setenv.sh oder setenv.bat Skript im Tomcat Mülleimer Verzeichnis.

Anmerkung

Sie können auch andere Ansätze verwenden, um die Umgebungsvariablen festzulegen. Wir haben es getestet, indem wir Tomcat ausgeführt haben catalina.sh Drehbuch bzw catalina.bat Skript und durch Ausführen des Tomcat für Windows-Dienstes.

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

Das folgende Beispiel von JAVA_OPTS deckt lokale Tests mit einem Dienstprinzipal ab:

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 diesem Beispiel werden Cloudbereitstellungen mithilfe einer vom Benutzer zugewiesenen verwalteten Identität behandelt:

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

In diesem Beispiel werden Cloudbereitstellungen mithilfe einer vom System zugewiesenen verwalteten Identität behandelt:

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

Die Bedeutung jeder dieser Eigenschaften finden Sie unter Verwenden von Azure Key Vault zum Bereitstellen von TLS/SSL-Zertifikaten an die JVM-.

Nächste Schritte