Kesalahan brankas kunci yang umum pada Azure Application Gateway

Application Gateway memungkinkan pelanggan untuk menyimpan sertifikat TLS dengan aman di Azure Key Vault. Saat menggunakan sumber daya brankas kunci, penting bahwa gateway selalu memiliki akses ke brankas kunci yang ditautkan. Jika Application Gateway Anda tidak dapat mengambil sertifikat, pendengar HTTPS terkait akan ditempatkan dalam status dinonaktifkan. Pelajari lebih lanjut.

Artikel ini membantu Anda memahami detail kode kesalahan dan langkah-langkah untuk mengatasi kesalahan konfigurasi brankas kunci tersebut.

Tip

Gunakan pengidentifikasil rahasia yang tidak mengharuskan versi tertentu. Dengan cara ini, Azure Application Gateway akan secara otomatis memutar sertifikat, jika versi yang lebih baru tersedia di Azure Key Vault. Contoh URI rahasia tanpa versi adalah: https://myvault.vault.azure.net/secrets/mysecret/.

Kode kesalahan Azure Advisor

Bagian berikut menjelaskan berbagai kesalahan yang mungkin Anda temui. Anda dapat memverifikasi apakah gateway Anda memiliki masalah tersebut dengan mengunjungi Azure Advisor untuk akun Anda, dan menggunakan artikel pemecahan masalah ini untuk memperbaiki masalah tersebut. Sebaiknya konfigurasikan pemberitahuan Azure Advisor agar tetap mendapatkan informasi saat masalah brankas kunci terdeteksi untuk gateway Anda.

Catatan

Azure Application Gateway menghasilkan log untuk diagnostik brankas kunci setiap empat jam sekali. Jika diagnostik terus menunjukkan kesalahan setelah Anda memperbaiki konfigurasi, Anda mungkin harus menunggu log untuk di-refresh.

Kode galat: UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault

Deskripsi: Identitas terkelola terkait yang ditetapkan pengguna tidak memiliki izin yang diperlukan.

Resolusi: Konfigurasikan kebijakan akses brankas kunci Anda untuk memberikan izin identitas terkelola yang ditetapkan pengguna pada rahasia. Anda dapat melakukannya dengan salah satu cara berikut:

Kebijakan akses vault

  1. Buka brankas kunci tertaut pada portal Microsoft Azure.
  2. Buka bilah Kebijakan akses.
  3. Untuk Model perizinan, pilih Kebijakan akses brankas.
  4. Pada Operasi Manajemen Rahasia, pilih izin Get.
  5. Pilih Simpan.

 Screenshot that shows how to resolve the Get permission error.

Untuk informasi lebih lanjut, lihat Menetapkan kebijakan akses Key Vault menggunakan portal Microsoft Azure.

Kontrol akses berbasis peran Azure

  1. Buka brankas kunci tertaut pada portal Microsoft Azure.
  2. Buka bilah Kebijakan akses.
  3. Untuk Model izin, pilih Kontrol akses berbasis peran Azure.
  4. Navigasi ke bilah Access Control (IAM) untuk mengonfigurasi izin.
  5. Tambahkan penetapan peran untuk identitas terkelola Anda dengan memilih yang berikut ini
    a. Peran: Pengguna Rahasia Key Vault
    b. Tetapkan akses ke: Identitas terkelola
    c. Anggota: pilih identitas terkelola yang ditetapkan pengguna yang telah Anda kaitkan dengan gateway aplikasi Anda.
  6. Pilih Tinjau + tetapkan.

Untuk informasi selengkapnya, lihat Kontrol akses berbasis peran Azure di Key Vault.

Catatan

Dukungan portal untuk menambahkan sertifikat berbasis brankas kunci baru saat ini tidak tersedia saat menggunakan kontrol akses berbasis peran Azure. Anda dapat menyelesaikannya dengan menggunakan templat ARM, CLI, atau PowerShell. Kunjungi halaman ini untuk mendapatkan panduan.

Kode galat: SecretDisabled

Deskripsi: Sertifikat terkait telah dinonaktifkan di Key Vault.

Resolusi: Aktifkan kembali versi sertifikat yang saat ini digunakan untuk Application Gateway.

  1. Buka brankas kunci tertaut pada portal Microsoft Azure.
  2. Buka panel Sertifikat.
  3. Pilih nama sertifikat yang diperlukan, kemudian pilih versi yang dinonaktifkan.
  4. Pada halaman manajemen, gunakan tombol untuk mengaktifkan versi sertifikat tersebut.

Screenshot that shows how to re-enable a secret.

Kode galat: SecretDeletedFromKeyVault

Deskripsi: Sertifikat terkait telah dihapus dari Key Vault.

Resolusi: Untuk memulihkan sertifikat yang dihapus:

  1. Buka brankas kunci tertaut pada portal Microsoft Azure.
  2. Buka panel Sertifikat.
  3. Gunakan tab Sertifikat terhapus yang dikelola untuk memulihkan sertifikat yang dihapus.

Di sisi lain, jika objek sertifikat dihapus secara permanen, Anda harus membuat sertifikat baru dan memperbarui Application Gateway dengan detail sertifikat baru. Saat mengonfigurasi melalui Azure CLI atau Azure PowerShell, gunakan URI pengidentifikasi rahasia tanpa versi. Pilihan ini memungkinkan instans untuk mengambil versi sertifikat yang diperbarui, jika ada.

Screenshot that shows how to recover a deleted certificate in Key Vault.

Kode galat: UserAssignedManagedIdentityNotFound

Deskripsi: Identitas terkelola yang ditetapkan untuk pengguna terkait telah dihapus.

Resolusi: Buat identitas terkelola baru dan gunakan dengan brankas kunci.

  1. Buat ulang identitas terkelola dengan nama yang sama yang sebelumnya digunakan, dan di bawah grup sumber daya yang sama. (TIP: Lihat Log Aktivitas sumber daya untuk detail penamaan).
  2. Buka sumber daya brankas kunci yang diinginkan, dan atur kebijakan aksesnya untuk memberi identitas terkelola baru ini izin yang diperlukan. Anda dapat mengikuti langkah-langkah yang sama seperti yang disebutkan di bawah UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault.

Kode galat: KeyVaultHasRestrictedAccess

Deskripsi: Terdapat pengaturan jaringan terbatas untuk Key Vault.

Resolusi: Anda akan mengalami kesalahan ini saat mengaktifkan firewall Key Vault untuk akses terbatas. Anda masih dapat mengonfigurasi Application Gateway dalam jaringan Key Vault yang dibatasi dengan mengikuti langkah-langkah berikut:

  1. Dalam Key Vault, buka panel Jaringan.
  2. Pilih tab Firewall dan jaringan virtual, lalu pilih Titik akhir privat dan jaringan yang dipilih.
  3. Kemudian, dengan menggunakan Virtual Network, tambahkan jaringan virtual dan subnet Application Gateway Anda. Selama proses ini, konfigurasikan juga titik akhir layanan 'Microsoft.KeyVault' dengan memilih kotak centangnya.
  4. Terakhir, pilih Ya untuk mengizinkan Layanan Tepercaya untuk melewati firewall Key Vault.

Screenshot that shows how to work around the restricted network error.

Kode galat: KeyVaultSoftDeleted

Deskripsi: Brankas kunci terkait berada dalam status penghapusan sementara.

Resolusi: Pada portal Microsoft Azure, cari brankas kunci. Pada Layanan, pilih Key vault.

Screenshot that shows how to search for the Key Vault service.

Pilih Brankas terhapus yang dikelola. Dari sini, Anda dapat menemukan sumber daya Key Vault yang dihapus dan memulihkannya. Screenshot that shows how to recover a deleted key vault.

Kode galat: CustomerKeyVaultSubscriptionDisabled

Deskripsi: Langganan untuk Key Vault dinonaktifkan.

Resolusi: Langganan Azure Anda dapat dinonaktifkan karena berbagai alasan. Untuk mengambil tindakann yanng diperlukan untuk menyelesaikan masalah, lihat Mengaktifkan kembali langganan Azure yang dinonaktifkan.

Kode Kesalahan Application Gateway

Kode kesalahan: ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified / ApplicationGatewaySslCertificateDataMustBeSpecified

Deskripsi: Anda mungkin mengalami kesalahan ini saat mencoba memperbarui sertifikat pendengar. Ketika kesalahan ini terjadi, perubahan untuk memperbarui sertifikat akan dibuang, dan pendengar akan terus menangani lalu lintas dengan konfigurasi yang ditentukan sebelumnya.

Resolusi: Untuk mengatasi masalah ini, coba unggah sertifikat lagi. Misalnya, perintah PowerShell berikut dapat digunakan untuk memperbarui sertifikat yang diunggah ke Application Gateway atau direferensikan melalui Azure Key Vault.

Memperbarui sertifikat yang diunggah langsung ke Application Gateway:

$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 

Perbarui sertifikat yang dirujuk dari Azure Key Vault:

$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 

Langkah berikutnya

Artikel pemecahan masalah ini dapat bermanfaat seiring Anda terus menggunakan Application Gateway: