Key Vault sertifikaları ile TLS sonlandırma

Azure Key Vault , gizli dizileri, anahtarları ve TLS/SSL sertifikalarını korumak için kullanabileceğiniz platform tarafından yönetilen bir gizli dizi deposudur. Azure Uygulaması lication Gateway, HTTPS özellikli dinleyicilere bağlı sunucu sertifikaları için Key Vault ile tümleştirmeyi destekler. Bu destek, Application Gateway'in v2 SKU'su ile sınırlıdır.

Application Gateway, TLS sonlandırması için iki model sunar:

  • Dinleyiciye eklenmiş TLS/SSL sertifikaları sağlayın. Bu model, TLS/SSL sertifikalarını TLS sonlandırma için Application Gateway'e geçirmenin geleneksel yoludur.
  • HTTPS özellikli bir dinleyici oluşturduğunuzda mevcut bir Key Vault sertifikasına veya gizli dizisine başvuru sağlayın.

Key Vault ile Application Gateway tümleştirmesi aşağıdakiler gibi birçok avantaj sunar:

  • TLS/SSL sertifikaları uygulama geliştirme ekibi tarafından doğrudan işlenmediğinden daha güçlü güvenlik. Tümleştirme, ayrı bir güvenlik ekibinin şunları yapmasına olanak tanır:
    • Uygulama ağ geçitlerini ayarlayın.
    • Uygulama ağ geçidi yaşam döngülerini denetleme.
    • Key Vault'unuzda depolanan sertifikalara erişmek için seçili uygulama ağ geçitlerine izin verin.
  • Mevcut sertifikaları Key Vault'unuza içeri aktarma desteği. İsterseniz, güvenilir Key Vault iş ortaklarından herhangi biriyle yeni sertifikalar oluşturmak ve yönetmek için Key Vault API'lerini de kullanabilirsiniz.
  • Key Vault'unuzda depolanan sertifikaların otomatik olarak yenilenmesi desteği.

Desteklenen sertifikalar

Application Gateway şu anda yalnızca yazılım tarafından doğrulanmış sertifikaları destekler. Donanım güvenlik modülü (HSM) tarafından doğrulanmış sertifikalar desteklenmez.

Application Gateway, Key Vault sertifikalarını kullanacak şekilde yapılandırıldıktan sonra örnekleri sertifikayı Key Vault'tan alır ve TLS sonlandırması için yerel olarak yükler. Örnekler, sertifikanın varsa yenilenen bir sürümünü almak için Key Vault'un dört saatlik aralıklarla yoklamasını sağlar. Güncelleştirilmiş bir sertifika bulunursa, HTTPS dinleyicisiyle ilişkili TLS/SSL sertifikası otomatik olarak döndürülür.

İpucu

Application Gateway'de yapılan herhangi bir değişiklik, sertifikaların yeni sürümlerinin kullanılabilir olup olmadığını görmek için Key Vault'ta bir denetim yapmaya zorlar. Buna Ön Uç IP Yapılandırmaları, Dinleyiciler, Kurallar, Arka Uç Havuzları, Kaynak Etiketleri ve daha fazlası dahildir ancak bunlarla sınırlı değildir. Güncelleştirilmiş bir sertifika bulunursa, yeni sertifika hemen sunulur.

Application Gateway, sertifikalara başvurmak için Key Vault'ta bir gizli dizi tanımlayıcısı kullanır. Azure PowerShell, Azure CLI veya Azure Resource Manager için, sürüm belirtmeyen bir gizli dizi tanımlayıcısı kullanmanızı kesinlikle öneririz. Bu şekilde, Key Vault'unuzda daha yeni bir sürüm varsa Application Gateway sertifikayı otomatik olarak döndürür. Sürümü olmayan gizli dizi URI'sine örnek olarak verilmiştir https://myvault.vault.azure.net/secrets/mysecret/. Aşağıdaki bölümde sağlanan PowerShell adımlarına başvurabilirsiniz.

Azure portalı yalnızca Key Vault sertifikalarını destekler, gizli dizileri desteklemez. Application Gateway yine de Key Vault'tan gizli dizilere başvurmayı destekler, ancak yalnızca PowerShell, Azure CLI, API'ler ve Azure Resource Manager şablonları (ARM şablonları) gibi portal dışı kaynaklar aracılığıyla kullanılabilir.

Diğer Azure aboneliklerindeki Key Vault'lara yönelik başvurular desteklenir, ancak ARM Şablonu, Azure PowerShell, CLI, Bicep vb. aracılığıyla yapılandırılması gerekir. Abonelikler arası anahtar kasası yapılandırması bugün Azure portalı aracılığıyla Application Gateway tarafından desteklenmemektedir.

Key Vault'ta sertifika ayarları

TLS sonlandırması için Application Gateway yalnızca Kişisel Bilgi Değişimi (PFX) biçimindeki sertifikaları destekler. Mevcut bir sertifikayı içeri aktarabilir veya Key Vault'unuzda yeni bir sertifika oluşturabilirsiniz. Hataları önlemek için sertifikanın durumunun Key Vault'ta Etkin olarak ayarlandığından emin olun.

Tümleştirme nasıl çalışır?

Key Vault ile Application Gateway tümleştirmesi üç adımlı bir yapılandırma işlemidir:

Diagram that shows three steps for integrating Application Gateway with Key Vault.

Not

Key Vault ile Azure Uygulaması lication Gateway tümleştirmesi hem Kasa erişim ilkesini hem de Azure rol tabanlı erişim denetimi izin modellerini destekler.

Kullanıcı tarafından atanan yönetilen kimliği alma

Application Gateway, sizin adınıza Key Vault'tan sertifika almak için yönetilen kimlik kullanır.

Kullanıcı tarafından atanan yeni bir yönetilen kimlik oluşturabilir veya var olan bir kimliği tümleştirmeyle yeniden kullanabilirsiniz. Kullanıcı tarafından atanan yeni bir yönetilen kimlik oluşturmak için bkz . Azure portalını kullanarak kullanıcı tarafından atanan yönetilen kimlik oluşturma.

Kullanıcı tarafından atanan yönetilen kimliği Key Vault'a devretme

Key Vault'unuzla kullanıcı tarafından atanan yönetilen kimliği kullanmak için erişim ilkeleri tanımlayın:

  1. Azure portalında Key Vault'a gidin.

  2. Sertifikanızı içeren Key Vault'ı seçin.

  3. Kasa erişim ilkesi izin modelini kullanıyorsanız: Erişim İlkeleri'ni seçin, + Erişim İlkesi Ekle'yi seçin, Gizli dizi izinleri için Al'ı seçin ve Sorumlu seç için kullanıcı tarafından atanan yönetilen kimliğinizi seçin. Ardından Kaydet'i seçin.

    Azure rol tabanlı erişim denetimi kullanıyorsanız Kaynağa yönetilen kimlik erişimi atama ve kullanıcı tarafından atanan yönetilen kimliği Key Vault Gizli Dizileri Kullanıcı rolünü Azure Key Vault'a atama makalesini izleyin.

Key Vault'ta Güvenlik Duvarı İzinlerini Doğrulama

15 Mart 2021 itibarıyla Key Vault, Azure Key Vault'ta kimlik doğrulaması için Kullanıcı Tarafından Yönetilen Kimlikler'i kullanarak Application Gateway'i güvenilir bir hizmet olarak tanır. Hizmet uç noktalarının kullanılması ve Key Vault'un güvenlik duvarı için güvenilen hizmetler seçeneğinin etkinleştirilmesiyle Azure'da güvenli bir ağ sınırı oluşturabilirsiniz. Tüm ağlardan (İnternet trafiği dahil) Key Vault'a gelen trafiğe erişimi reddedebilir ancak key vault'un aboneliğiniz altındaki application gateway kaynağı için erişilebilir olmasını sağlayabilirsiniz.

Kısıtlı bir Key Vault kullanırken, Application Gateway'i güvenlik duvarlarını ve sanal ağları kullanacak şekilde yapılandırmak için aşağıdaki adımları kullanın:

İpucu

Key Vault'unuzda Özel Uç Nokta etkinleştirilmişse 1-3 arası adımlar gerekli değildir. Uygulama ağ geçidi, özel IP adresini kullanarak Key Vault'a erişebilir.

Önemli

Key Vault'a erişmek için Özel Uç Noktalar kullanıyorsanız başvuruda bulunulan Key Vault'a karşılık gelen kaydı içeren privatelink.vaultcore.azure.net özel DNS bölgesini Application Gateway içeren sanal ağa bağlamanız gerekir. Özel DNS sunucuları, Azure DNS tarafından sağlanan çözümleyiciler yerine sanal ağda kullanılmaya devam edebilir, ancak özel DNS bölgesinin de sanal ağa bağlı kalması gerekir.

  1. Azure portalında, Key Vault'unuzda Ağ'ı seçin.

  2. Güvenlik duvarları ve sanal ağlar sekmesinde Seçili ağlar'ı seçin.

  3. Sanal ağlar için + Var olan sanal ağları ekle'yi seçin ve ardından Application Gateway örneğiniz için sanal ağı ve alt ağı ekleyin. İstenirse, hizmet uç noktasının alt ağda etkinleştirildiğinden emin olmak için Şu anda 'Microsoft.KeyVault' hizmet uç noktalarını yapılandırma onay kutusunun işaretinin Microsoft.KeyVault kaldırıldığından emin olun.

  4. Güvenilir hizmetlerin Key Vault'un güvenlik duvarını atlamasına izin vermek için Evet'i seçin.

    Screenshot that shows selections for configuring Application Gateway to use firewalls and virtual networks.

Not

Application Gateway örneğini Bir ARM şablonu aracılığıyla Azure CLI veya PowerShell kullanarak ya da Azure portalından dağıtılan bir Azure uygulaması aracılığıyla dağıtırsanız, SSL sertifikası Key Vault'ta Base64 kodlu pfx dosyası olarak depolanır. Dağıtım sırasında güvenli parametre değeri geçirmek için Azure Key Vault kullanma adımlarını tamamlamanız gerekir.

değerinin olarak ayarlanması enabledForTemplateDeploymenttrueözellikle önemlidir. Sertifikanın parolası olabilir veya olmayabilir. Parola içeren bir sertifika için aşağıdaki örnekte, Application Gateway'e properties yönelik sslCertificates ARM şablonu yapılandırmasına yönelik giriş için olası bir yapılandırma gösterilmektedir.

"sslCertificates": [
     {
         "name": "appGwSslCertificate",
         "properties": {
             "data": "[parameters('appGatewaySSLCertificateData')]",
            "password": "[parameters('appGatewaySSLCertificatePassword')]"
        }
    }
]

ve appGatewaySSLCertificatePassword değerleri, dinamik kimliğe sahip gizli dizilere appGatewaySSLCertificateData başvurma bölümünde açıklandığı gibi Key Vault'tan aranırlar. Aramanın nasıl gerçekleştiğini görmek için başvuruları geri parameters('secretName') doğru izleyin. Sertifika parolasızsa, girdiyi atla password .

Application Gateway Dinleyicisi'ni yapılandırma

Key Vault izni Vault erişim ilkesi modeli

Azure portalında Application Gateway'inize gidin ve Dinleyiciler sekmesini seçin. Dinleyici Ekle'yi seçin (veya mevcut bir dinleyiciyi seçin) ve protokol için HTTPS belirtin.

Sertifika seçin'in altında Yeni oluştur'u seçin ve ardından Https ayarları'nın altında Key Vault'tan bir sertifika seçin'i seçin.

Sertifika adı için Key Vault'ta başvurulacak sertifika için kolay bir ad yazın. Yönetilen kimliğinizi, Key Vault'unuzu ve Sertifikanızı seçin.

Seçildikten sonra, başvuruda bulunılan Key Vault sertifikasını dinleyiciye uygulamak için Ekle (oluşturuyorsanız) veya Kaydet 'i (düzenliyorsanız) seçin.

Key Vault Azure rol tabanlı erişim denetimi izin modeli

Application Gateway, Rol tabanlı erişim denetimi izin modeli aracılığıyla Key Vault'ta başvuruda bulunan sertifikaları destekler. Key Vault'a başvurmak için ilk birkaç adımın ARM şablonu, Bicep, CLI veya PowerShell aracılığıyla tamamlanması gerekir.

Not

Rol tabanlı erişim denetimi izin modeline tabi Olan Azure Key Vault sertifikalarının belirtilmesi portal aracılığıyla desteklenmez.

Bu örnekte, yeni bir Key Vault gizli dizisine başvurmak için PowerShell kullanacağız.

# Get the Application Gateway we want to modify
$appgw = Get-AzApplicationGateway -Name MyApplicationGateway -ResourceGroupName MyResourceGroup
# Specify the resource id to the user assigned managed identity - This can be found by going to the properties of the managed identity
Set-AzApplicationGatewayIdentity -ApplicationGateway $appgw -UserAssignedIdentityId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyManagedIdentity"
# Get the secret ID from Key Vault
$secret = Get-AzKeyVaultSecret -VaultName "MyKeyVault" -Name "CertificateName"
$secretId = $secret.Id.Replace($secret.Version, "") # Remove the secret version so Application Gateway uses the latest version in future syncs
# Specify the secret ID from Key Vault 
Add-AzApplicationGatewaySslCertificate -KeyVaultSecretId $secretId -ApplicationGateway $appgw -Name $secret.Name
# Commit the changes to the Application Gateway
Set-AzApplicationGateway -ApplicationGateway $appgw

Komutlar yürütüldükten sonra, Azure portalında Application Gateway'inize gidebilir ve Dinleyiciler sekmesini seçebilirsiniz. Dinleyici Ekle'ye tıklayın (veya var olanı seçin) ve HTTPS protokolü belirtin.

Sertifika seçin'in altında, önceki adımlarda adlı sertifikayı seçin. Seçildikten sonra, başvuruda bulunılan Key Vault sertifikasını dinleyiciye uygulamak için Ekle (oluşturuyorsanız) veya Kaydet 'i (düzenliyorsanız) seçin.

Key Vault hatalarını araştırma ve çözme

Not

Değişiklik yaparken veya Key Vault kaynağınıza erişimi iptal ederken uygulama ağ geçidi kaynağınız üzerinde herhangi bir etkiyi göz önünde bulundurmanız önemlidir. Uygulama ağ geçidiniz ilişkili anahtar kasasına erişemezse veya içindeki sertifika nesnesini bulamazsa, uygulama ağ geçidi dinleyiciyi otomatik olarak devre dışı durumuna ayarlar.

Uygulama ağ geçidiniz için Kaynak Durumu görüntüleyerek bu kullanıcı odaklı olayı tanımlayabilirsiniz. Daha fazla bilgi edinin.

Azure Uygulaması lication Gateway, key vault'ta dört saatlik aralıklarla yenilenen sertifika sürümünü yoklamaz. Ayrıca herhangi bir hatayı günlüğe kaydeder ve hatanın düzeltilmesi için bir öneriyle tüm yanlış yapılandırmayı ortaya çıkarması için Azure Danışmanı ile tümleştirilir.

  1. Azure portalınızda oturum açma
  2. Danışman'ı seçin
  3. Soldaki menüden Operasyonel Mükemmellik kategorisini seçin.
  4. Ağ geçidinizde bu sorun yaşanıyorsa Application Gateway'iniz için Azure Key Vault sorununu çözme başlıklı bir öneri bulabilirsiniz. Yukarıdaki açılan seçenekler arasından doğru aboneliğin seçildiğinden emin olun.
  5. Hata ayrıntılarını, ilişkili anahtar kasası kaynağını ve sorununuzu tam olarak çözmek için sorun giderme kılavuzunu görüntülemek için seçin.

Azure Danışmanı veya Kaynak Durumu aracılığıyla böyle bir olayı tanımlayarak Key Vault'unuzla ilgili yapılandırma sorunlarını hızla çözebilirsiniz. Bir sorun algılandığında haberdar olmak için Azure Danışmanı ve Kaynak Durumu uyarılarından yararlanmanızı kesinlikle öneririz.

Danışman uyarısı için, gösterilen öneri türündeki "Application Gateway'iniz için Azure Key Vault sorununu çözün" seçeneğini kullanın:
Diagram that shows steps for Advisor alert.

Kaynak durumu uyarısını gösterildiği gibi yapılandırabilirsiniz:
Diagram that shows steps for Resource health alert.

Sonraki adımlar

Azure PowerShell kullanarak Key Vault sertifikalarıyla TLS sonlandırmayı yapılandırma