Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Özet
Bu makalede, Azure Application Gateway'daki yaygın anahtar kasası hatalarını giderme ve sertifika yönetimini kesintiye uğratabilecek ve HTTPS bağlantılarının güvenliğini sağleyebilecek yanlış yapılandırmaları çözme adımları açıklanmaktadır.
Application Gateway, TLS sertifikalarını Azure Key Vault'ta güvenli bir şekilde depolamanızı sağlar. Bir anahtar kasası kaynağı kullandığınızda, ağ geçidinin her zaman bağlı olan anahtar kasasına erişimi olması önemlidir. Application Gateway'iniz sertifikayı getiremezse ilişkili HTTPS dinleyicilerini devre dışı bırakır. Daha fazla bilgi için bkz. Devre dışı bırakılmış dinleyicileri anlama.
Tavsiye
Sürüm belirtmeyen bir gizli tanımlayıcı kullanın. Bu tanımlayıcıyı kullanarak Azure Application Gateway, Azure Key Vault'ta daha yeni bir sürüm varsa sertifikayı otomatik olarak döndürür. Sürümü olmayan gizli dizi Tekdüzen Kaynak Tanımlayıcısı'nın (URI) bir örneği: https://myvault.vault.azure.net/secrets/mysecret/.
Azure Danışmanı hata kodları
Aşağıdaki bölümlerde karşılaşabileceğiniz çeşitli hatalar açıklanmaktadır. Ağ geçidinizde bu sorunlardan herhangi birinin olup olmadığını denetlemek için hesabınızın Azure Danışmanı adresini ziyaret edin. Sorunu çözmek için bu sorun giderme makalesini kullanın. Anahtar kasasıyla ilgili bir sorun tespit edildiğinde haberdar olmak için Azure Danışmanı uyarılarını ağ geçidiniz için yapılandırın.
Uyarı
Application Gateway dört saatte bir anahtar kasası tanılaması için günlükler oluşturur. Yapılandırmayı düzelttikkten sonra tanılama hata göstermeye devam ederse günlüklerin yenilenmesini beklemeniz gerekebilir.
Hata kodu - "UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault"
Description
İlişkili kullanıcı tarafından atanan yönetilen kimlik gerekli izne sahip değil.
Çözüm
Kullanıcı tarafından atanan yönetilen kimliğe gizli bilgilere erişim izni vermek için anahtar kasanızın erişim ilkelerini yapılandırın. Bunu aşağıdaki iki yoldan biriyle yapabilirsiniz:
Kasa erişim ilkesi
- Azure portalında bağlı anahtar kasasına gidin.
- Erişim ilkeleri'ni seçin.
- İzin modeli için Kasa erişim ilkesi'ni seçin.
- Secret Management Operations bölümünde, Get iznini seçin.
- Kaydetseçeneğini seçin.
Daha fazla bilgi için bkz. Azure portalını kullanarak Key Vault erişim ilkesi atama.
Azure rol tabanlı erişim denetimi (RBAC)
- Azure portalında bağlı anahtar kasasına gidin.
- Erişim ilkeleri'ni seçin.
- Permission modeli için Azure rol tabanlı erişim denetimi öğesini seçin.
- İzinleri yapılandırmak için Erişim Denetimi 'ne (IAM) gidin.
- Aşağıdaki değerleri seçerek yönetilen kimliğiniz için rol ataması ekleyin: a. Rolü: Key Vault Gizli Anahtarlar Kullanıcısı b. Şuna erişim atayın: Yönetilen kimlik c. Üyeler: Uygulama ağ geçidinizle ilişkilendirdiğiniz kullanıcı tarafından atanan yönetilen kimliği seçin.
- Gözden geçir + ata'yı seçin.
Daha fazla bilgi için bkz. Key Vault'ta Azure rol tabanlı erişim denetimi.
Uyarı
Azure rol tabanlı erişim denetimini kullandığınızda yeni anahtar kasası tabanlı sertifika eklemeye yönelik portal desteği şu anda kullanılamıyor. Bunu bir Azure Kaynak Yönetimi (ARM) şablonu, Azure CLI veya Azure PowerShell kullanarak gerçekleştirebilirsiniz. Daha fazla bilgi edinmek için bkz. Key Vault Azure rol tabanlı erişim denetimi izin modeli.
Hata kodu - "SecretDisabled"
Description
İlişkili sertifika Azure Key Vault devre dışı bırakıldı.
Çözüm
Application Gateway'in kullandığı sertifika sürümünü etkinleştirin. Bunu yapmak için şu adımları uygulayın:
- Azure portalında bağlı anahtar kasasına gidin.
- Sertifikalar'ı seçin.
- İstediğiniz sertifika adını seçin ve ardından devre dışı bırakılmış sürümü seçin.
- Yönetim sayfasında, bu sertifika sürümünü etkinleştirmek için anahtarı kullanın.
Hata kodu - "SecretDeletedFromKeyVault"
Description
İlişkili sertifika Key Vault’tan silinir.
Çözüm
Silinen bir sertifikayı kurtarmak için şu adımları izleyin:
- Azure portalında bağlı anahtar kasasına gidin.
- Sertifikalar bölmesini açın.
- Silinen sertifikayı kurtarmak için Yönetilen silinen sertifikalar sekmesini kullanın.
Sertifika nesnesini kalıcı olarak silerseniz, yeni bir sertifika oluşturun ve Application Gateway'i yeni sertifika ayrıntılarıyla güncelleştirin. Azure CLI veya Azure PowerShell aracılığıyla yapılandırdığınızda, sürüm bilgisi içermeyen bir gizli dizi tanımlayıcı URI'si kullanın. Bu seçenek, örneklerin varsa sertifikanın yenilenen bir sürümünü almasına olanak tanır.
Hata kodu - "UserAssignedManagedIdentityNotFound"
Description
kullanıcı tarafından atanan ilişkili yönetilen kimlik silinir.
Çözüm
Yeni bir yönetilen kimlik oluşturun ve bunu anahtar kasasıyla kullanın. Bunu yapmak için şu adımları izleyin:
- Daha önce kullandığınız adla ve aynı kaynak grubu altında yönetilen kimliği yeniden oluşturun. Adlandırma ayrıntıları için kaynak Etkinlik Günlükleri'ne bakın.
- İstediğiniz anahtar kasası kaynağına gidin ve bu yeni yönetilen kimliğe gerekli izni vermek için erişim ilkelerini ayarlayın. Daha fazla bilgi için bkz. Hata kodu: UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault.
Hata kodu - "KeyVaultHasRestrictedAccess"
Description
Key Vault kısıtlı bir ağ ayarına sahiptir.
Çözüm
Kısıtlı erişim için Key Vault güvenlik duvarını etkinleştirdiğinizde bu hatayla karşılaşırsınız. Application Gateway'i kısıtlı bir Key Vault ağında yapılandırın. Bunu yapmak için şu adımları izleyin:
- Key Vault'da Ağ'ı seçin.
- Güvenlik duvarları ve sanal ağlar sekmesini ve ardından Özel uç nokta ve seçili ağlar'ı seçin.
- Application Gateway'inizin sanal ağını ve alt ağını eklemek için Azure Sanal Ağ kullanın.
- Microsoft.KeyVault onay kutusunu seçin.
- Evet’i seçin. Bu eylem, güvenilen hizmetlerin Key Vault güvenlik duvarını atlamasına olanak tanır.
Hata kodu - "KeyVaultSoftDeleted"
Description
İlişkili anahtar kasası geçici silinmiş durumda.
Çözüm
Silinen anahtar kasası kaynağını bulun. Bunu yapmak için şu adımları izleyin:
- Azure portalında key vault arayın.
- Hizmetler bölümünde Anahtar kasaları'nı seçin.
- Yönetilen silinen kasalar seçin.
- Silinen anahtar kasası kaynağını bulun ve geri yükleyin.
Hata kodu - "CustomerKeyVaultSubscriptionDisabled"
Description
Key Vault aboneliği devre dışı bırakıldı.
Çözüm
Çeşitli nedenler Azure aboneliğinizi devre dışı bırakmasına neden olabilir. Bu sorunu çözmek için gerekli eylemi yapmak için bkz. Devre dışı bırakılmış bir Azure aboneliğini yeniden etkinleştirme.
Application Gateway hata kodları
Hata kodu - "ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified / ApplicationGatewaySslCertificateDataMustBeSpecified"
Description
Bir dinleyici sertifikasını güncelleştirmeye çalıştığınızda bu hatayla karşılaşırsınız. Bu hata oluştuğunda, sertifikayı güncelleştirme değişikliği atılır ve dinleyici daha önce tanımlanmış yapılandırmayla trafiği işlemeye devam eder.
Çözüm
Bu sorunu çözmek için sertifikayı karşıya yüklemeyi yeniden deneyin. Örneğin, Application Gateway'e yüklenen veya Azure Key Vault aracılığıyla başvuruda bulunan sertifikaları güncelleştirmek için aşağıdaki PowerShell komutlarını kullanın.
Doğrudan Application Gateway'e yüklenen sertifikayı güncelleştirin.
$appgw = Get-AzApplicationGateway -ResourceGroupName "<ResourceGroup>" -Name "<AppGatewayName>"
$password = ConvertTo-SecureString -String "<password>" -Force -AsPlainText
Set-AzApplicationGatewaySSLCertificate -Name "<oldcertname>" -ApplicationGateway $appgw -CertificateFile "<newcertPath>" -Password $password
Set-AzApplicationGateway -ApplicationGateway $appgw
Azure Key Vault'dan başvurulan sertifikayı güncelleştirin.
$appgw = Get-AzApplicationGateway -ResourceGroupName "<ResourceGroup>" -Name "<AppGatewayName>"
$secret = Get-AzKeyVaultSecret -VaultName "<KeyVaultName>" -Name "<CertificateName>"
$secretId = $secret.Id.Replace($secret.Version, "")
$cert = Set-AzApplicationGatewaySslCertificate -ApplicationGateway $AppGW -Name "<CertificateName>" -KeyVaultSecretId $secretId
Set-AzApplicationGateway -ApplicationGateway $appgw