Azure Key Vault'u kullanarak JVM'ye TLS/SSL sertifikaları teslim etme
Bu makalede, TLS/SSL sertifikaları teslim etmek için Azure Key Vault'u JVM ile tümleştirme açıklanmaktadır.
JCA sağlayıcısını java.security dosyasına ekleme
JCA sağlayıcısını kaydetmek için JVM'nin bunu bilmesi gerekir. Bu görevi gerçekleştirmek için aşağıdaki adımları kullanın:
JVM yüklemenizin içinde java.security dosyasının bir kopyasını yapın ve dosyayı my.java.security olarak adlandırın.
dosyasının içinde satırını
security.provider.<maximum-value>
bulun. Yer tutucuyu<maximum-value>
tüm girdiler arasında bu konumdaki en büyük değerle değiştirin. Örneğin:security.provider.13=SunPKCS11
.Bu girdinin sayısını 1 artır. Örneğin,
security.provider.13
olmalıdırsecurity.provider.14
.Aşağıdaki satırı ekleyin:
security.provider.14=com.azure.security.keyvault.jca.KeyVaultJcaProvider
Dekont
Her security.provider.<X>
girişin için <X>
farklı bir sayı değeri olduğundan emin olun ve bunları 1 ile başlayarak artımlı olarak sıralı tutun.
Uygulamanızı çalıştırma
Uygulamanızı çalıştırmak için aşağıdaki adımları kullanın ve yer tutucuları kendi değerlerinizle değiştirin <...>
:
azure-security-keyvault-jca-X.Y.Z.jar dosyasını classpath'e ekleyin. Örneğin, Tomcat 9 ile tümleştirmek istiyorsanız, tomcat9w.exe kullanarak azure-security-keyvault-jca-X.Y.Z.jar dosyasının tam yolunu Java sınıf yoluna eklemeniz gerekir.
Komut satırına ekleyin
-Djava.security.properties==my.java.security
.Hangi Azure Key Vault'un kullanılacağını belirtmek için komut satırına ekleyin
-Dazure.keyvault.uri=<your-keyvault-uri>
. Örneğin:-Dazure.keyvault.uri=https://some.vault.azure.net/
.Senaryonuza bağlı olarak aşağıdaki listede belirtilen bağımsız değişkenleri ekleyin:
Hizmet sorumlusu kullanarak kimlik doğrulaması yaparsanız aşağıdaki bağımsız değişkenleri ekleyin:
-Dazure.keyvault.tenant-id=<your-tenant-id>
-Dazure.keyvault.client-id=<your-client-id>
-Dazure.keyvault.client-secret=<your-client-secret>
Sistem tarafından atanan bir yönetilen kimlik kullanarak kimlik doğrulaması yaparsanız, artık bağımsız değişken gerekmez.
Kullanıcı tarafından atanan bir yönetilen kimlik kullanarak kimlik doğrulaması yaparsanız aşağıdaki bağımsız değişkeni ekleyin:
-Dazure.keyvault.managed-identity=<object-id-of-your-user-managed-identity>
Bu kimlik doğrulama senaryoları hakkında daha fazla bilgi için bkz . Microsoft Entra Id'deki uygulama ve hizmet sorumlusu nesneleri ve Azure kaynakları için yönetilen kimliklerin Azure sanal makineleriyle çalışma şekli.
Hizmet sorumlusu kullanma
Azure istemci kimliği ve Azure istemci gizli dizisi oluşturmak için aşağıdaki komutu kullanın ve yer tutucuları kendi değerlerinizle değiştirin <...>
. Döndürülen değerleri , , password
tenant
gibi appId
depolamayı unutmayın.
export CLIENT_NAME=<your-client-name>
az ad sp create-for-rbac --skip-assignment --name ${CLIENT_NAME}
export CLIENT_ID=$(az ad sp list --display-name ${CLIENT_NAME} | jq -r '.[0].appId')
az ad app credential reset --id ${CLIENT_ID}
Döndürülen değerleri daha sonra kullanabilmeniz için depolayın.
tarafından CLIENT_ID
belirtilen istemcinin hedef Key Vault'a erişebile olduğundan emin olun. Erişim vermek için aşağıdaki komutu kullanın ve yer tutucusunu <your-key-vault-name>
değiştirin:
az keyvault set-policy \
--name <your-key-vault-name> \
--spn ${CLIENT_ID} \
--secret-permissions get list \
--certificate-permissions get list \
--key-permissions get list
Yönetilen kimlik kullanma
Sistem tarafından atanan yönetilen kimliği etkinleştirmek veya kullanıcı tarafından atanan yönetilen kimlik oluşturmak için Azure CLI kullanarak Azure VM'de Azure kaynakları için yönetilen kimlikleri yapılandırma başlığındaki yönergeleri izleyin
Yönetilen kimliğin nesne kimliğini aldıktan sonra, yönetilen kimliğiniz için Key Vault'unuzun erişim ilkesini oluşturmak üzere aşağıdaki komutu kullanın:
az keyvault set-policy \
--name <your-key-vault-name> \
--object-id <object-id-of-your-managed-identity> \
--secret-permissions get list \
--certificate-permissions get list \
--key-permissions get list
Dekont
Yönetilen kimliğin nesne kimliği, kullanıcı tarafından atanan yönetilen kimlik kullanılırken asıl kimlik olarak da adlandırılır.
İstemci/sunucu tarafı TLS/SSL örnekleri
İstemci/sunucu tarafı TLS/SSL örnekleri için Java için Azure Key Vault JCA istemci kitaplığının Örnekler bölümüne bakın.
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin