共用方式為


Azure 應用程式閘道 中的常見金鑰保存庫錯誤

應用程式閘道 可讓客戶安全地將 TLS 憑證儲存在 Azure 金鑰保存庫。 使用金鑰保存庫資源時,閘道可以存取連結的金鑰保存庫很重要。 如果您的 應用程式閘道 無法擷取憑證,相關聯的 HTTPS 接聽程式將會處於停用狀態。 深入了解

本文可協助您了解錯誤碼的詳細數據,以及解決這類密鑰保存庫設定錯誤的步驟。

提示

使用未指定版本的秘密標識碼。 如此一來,如果 Azure 金鑰保存庫 中有較新版本可用,Azure 應用程式閘道 會自動輪替憑證。 沒有版本的秘密 URI 範例為: https://myvault.vault.azure.net/secrets/mysecret/

Azure Advisor 錯誤碼

下列各節說明您可能會遇到的各種錯誤。 您可以造訪 您帳戶的 Azure Advisor ,並使用此疑難解答文章來修正問題,以確認您的閘道是否有任何這類問題。 建議您設定 Azure Advisor 警示,以在閘道偵測到密鑰保存庫問題時保持通知。

注意

Azure 應用程式閘道 每四小時產生金鑰保存庫診斷的記錄。 如果診斷在您修正設定之後繼續顯示錯誤,您可能必須等候記錄重新整理。

錯誤碼:UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault

描述: 相關聯的使用者指派受控識別沒有必要的許可權。

解決方案: 設定金鑰保存庫的存取原則,以授與使用者指派的秘密受控識別許可權。 您可以透過下列任何方式執行此動作:

保存庫存取原則

  1. 移至 Azure 入口網站 中的連結金鑰保存庫。
  2. 開啟 [ 存取原則] 刀鋒視窗。
  3. 針對 [許可權模型],選取 [保存庫存取原則]
  4. 在 [秘密管理作業] 底下,選取 [取得] 許可權。
  5. 選取 [儲存]。

 顯示如何解決取得許可權錯誤的螢幕快照。

如需詳細資訊,請參閱使用 Azure 入口網站 指派 金鑰保存庫 存取原則。

Azure 角色型存取控制 \(部分機器翻譯\)

  1. 移至 Azure 入口網站 中連結的金鑰保存庫。
  2. 開啟 [ 存取原則] 刀鋒視窗。
  3. 針對 [ 許可權模型],選取 [Azure 角色型訪問控制]。
  4. 流覽至 [存取控制 (IAM) 刀鋒視窗以設定許可權。
  5. 選擇下列專案,為您的受控識別新增角色指派
    a. 角色:金鑰保存庫 秘密使用者
    b. 指派存取權給:受控識別
    c. 成員:選取您已與應用程式網關相關聯的使用者指派受控識別。
  6. 選取檢閱+指派

如需詳細資訊,請參閱 金鑰保存庫 中的 Azure 角色型訪問控制。

注意

使用 Azure 角色型存取控制時,目前無法使用新增金鑰保存庫型憑證的入口網站支援。 您可以使用 ARM 範本、CLI 或 PowerShell 來完成。 請瀏覽 此頁面 以取得指引。

錯誤碼:SecretDisabled

描述:金鑰保存庫 中已停用相關聯的憑證。

解決方案:重新啟用目前用於 應用程式閘道的憑證版本。

  1. 移至 Azure 入口網站 中的連結金鑰保存庫。
  2. 開啟 [ 憑證] 窗格。
  3. 選取必要的憑證名稱,然後選取已停用的版本。
  4. 在管理頁面上,使用 切換來啟用該憑證版本。

顯示如何重新啟用秘密的螢幕快照。

錯誤碼:SecretDeletedFromKeyVault

描述:已從 金鑰保存庫 中刪除相關聯的憑證。

解決方案: 若要復原已刪除的憑證:

  1. 移至 Azure 入口網站 中的連結金鑰保存庫。
  2. 開啟 [ 憑證] 窗格。
  3. 使用 [ 受控刪除的憑證 ] 索引標籤來復原已刪除的憑證。

另一方面,如果永久刪除憑證物件,您必須建立新的憑證,並使用新的憑證詳細數據更新 應用程式閘道。 當您透過 Azure CLI 或 Azure PowerShell 進行設定時,請使用不含版本的秘密標識碼 URI。 如果憑證存在,此選項可讓實例擷取更新的憑證版本。

顯示如何在 金鑰保存庫 中復原已刪除憑證的螢幕快照。

錯誤碼:UserAssignedManagedIdentityNotFound

描述: 已刪除相關聯的使用者指派受控識別。

解決方案: 建立新的受控識別,並將其與密鑰保存庫搭配使用。

  1. 使用先前使用的相同名稱,以及相同資源群組底下,重新建立受控識別。 (提示:如需命名詳細數據,請參閱資源活動記錄)。
  2. 移至所需的金鑰保存庫資源,並設定其存取原則,將所需的許可權授與此新的受控識別。 您可以遵循與 UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault 中所述相同的步驟。

錯誤碼:KeyVaultHasRestrictedAccess

描述:金鑰保存庫 有一個受限的網路設定。

解決方式:當您啟用 金鑰保存庫 防火牆進行限制存取時,就會發生此錯誤。 您仍然可以依照下列步驟,在受限制的 金鑰保存庫 網路中設定 應用程式閘道:

  1. 在 [金鑰保存庫] 中,開啟 [網络] 窗格。
  2. 選取 [ 防火牆和虛擬網络] 索引標籤,然後選取 [私人端點] 和 [選取的網络]。
  3. 然後,使用 虛擬網絡,新增 應用程式閘道 的虛擬網路和子網。 在程序期間,也選取其複選框來設定 『Microsoft.KeyVault』 服務端點。
  4. 最後,選取 [] 以允許信任的服務略過 金鑰保存庫 防火牆。

顯示如何解決受限制網路錯誤的螢幕快照。

錯誤碼:KeyVaultSoftDeleted

描述: 相關聯的金鑰保存庫處於虛刪除狀態。

解決方案:在 Azure 入口網站 中,搜尋密鑰保存庫。 在 [服務] 底下,選取 [金鑰保存庫]。

顯示如何搜尋 金鑰保存庫 服務的螢幕快照。

選取 [受控已刪除的保存庫]。 您可以從這裡找到已刪除 金鑰保存庫 資源並加以復原。 顯示如何復原已刪除金鑰保存庫的螢幕快照。

錯誤碼:CustomerKeyVaultSubscriptionDisabled

描述:已停用 金鑰保存庫 的訂用帳戶。

解決方案: 您的 Azure 訂用帳戶可能會因為各種原因而停用。 若要採取必要動作來解決,請參閱 重新啟用已停用的 Azure 訂用帳戶

應用程式閘道 錯誤碼

錯誤碼:ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified / ApplicationGatewaySslCertificateDataMustBeSpecified

描述: 嘗試更新接聽程序憑證時,可能會遇到此錯誤。 發生此錯誤時,將會捨棄更新憑證的變更,而接聽程式將會繼續處理先前定義的組態的流量。

解決方案: 若要解決此問題,請嘗試再次上傳憑證。 例如,下列 PowerShell 命令可用來更新上傳至 應用程式閘道 或透過 Azure 金鑰保存庫 參考的憑證。

將直接上傳至 應用程式閘道 的憑證更新:

$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 金鑰保存庫 參考的憑證:

$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 

下一步

當您繼續使用 應用程式閘道 時,這些疑難解答文章可能會很有説明: