Cloud EKM 錯誤參考資料

本主題說明如何解讀及排解使用 Cloud External Key Manager (Cloud EKM) 時可能發生的錯誤。

錯誤結構

錯誤訊息的結構會盡可能提供詳細資訊,協助您診斷及排解問題。錯誤會以 google.rpc.Status 結構傳回。該結構包含:

  • 「google.rpc.Status.code」欄位會顯示錯誤的大類別。
  • google.rpc.Status.message 欄位會顯示人類可讀的訊息,包括嘗試執行的特定動作詳細資料,以及視情況提供的錯誤疑難排解建議。
  • 如果 google.rpc.Status.code 為 FAILED_PRECONDITION,則 google.rpc.PreconditionFailure 結構為機器可讀。其中包含兩個 violation 結構。

    • violation[0] 包含 Cloud EKM 金鑰狀態的相關資訊。
    • violation[1] 包含嘗試聯絡外部金鑰管理合作夥伴系統的相關資訊。

      violation[1].type 包含錯誤類型相關資訊。 Cloud EKM 將這項資訊稱為「錯誤網域」。

      如果這些錯誤持續發生,請洽詢外部金鑰管理合作夥伴的支援團隊。

為方便閱讀,本參考資料中的訊息會截斷 google.rpc.Status.message。截斷部分包含外部金鑰 URI 或金鑰路徑等資訊。

疑難排解

使用 Cloud EKM 時發生的錯誤,可能是因為輸入錯誤、Cloud EKM、外部金鑰管理合作夥伴系統、兩者之間的通訊或其他因素所致。如要瞭解特定錯誤的疑難排解資訊,請參閱各類型錯誤的專節。

視錯誤類型而定,您可能需要聯絡 Cloud EKM 支援團隊,或是外部金鑰管理合作夥伴系統的支援團隊。

如果下表未列出您遇到的錯誤,請參閱「透過 VPC 錯誤排解 EKM 問題」。

輸入錯誤

請按照錯誤訊息 google.rpc.Status.message 欄位中的疑難排解建議操作。如果問題持續發生,請與 Google Cloud 支援團隊聯絡。

除非另有註明,否則本節中的錯誤均具有 google.rpc.Status.code 的 FAILED_PRECONDITION。

google.rpc.Status.message violation[1].type
(錯誤網域)
疑難排解
Permission was denied when accessing the EKM_ELEMENT. EXTERNAL_PERMISSION_DENIED 如果 EKM_ELEMENT 為 key,Cloud EKM 也會停用金鑰版本。請在外部金鑰管理工具授予適當權限,然後輪替 Cloud EKM 金鑰再試一次。
如果 EKM_ELEMENT 為 crypto space 或 EKM host,請將適當的角色或權限授予服務帳戶,然後再試一次。
Could not find a EKM_ELEMENT或Could not query EKM host. EXTERNAL_NOT_FOUND 如果 EKM_ELEMENT 為 key,請檢查外部金鑰 URI 或金鑰路徑是否正確。
如果 EKM_ELEMENT 為 crypto space,請檢查加密空間路徑是否正確。
無法查詢 EKM host 時,請確認 EKM 主機名稱是否正確。
如果拼字正確,請洽詢外部金鑰管理合作夥伴系統的支援團隊。
Key URI has invalid format. EXTERNAL_KEY_URI_INVALID 請確認這項要求中的金鑰 URI 是否正確,然後透過輪替 Cloud EKM 金鑰再試一次。
Key URI host is not supported. EXTERNAL_KEY_HOST_NOT_WHITELISTED 請確認金鑰 URI 是否正確。如果您執行的是自行部署的外部金鑰管理合作夥伴系統,請與 Google Cloud 支援團隊聯絡。如果不是,則請洽詢外部金鑰管理合作夥伴系統的支援團隊。
Could not resolve the domain name for EKM_ELEMENT. DNS 請確認金鑰 URI、金鑰路徑、加密空間或 EKM 主機名稱是否正確。如果正確無誤,請洽詢外部金鑰管理合作夥伴系統的支援團隊。

可重試的錯誤

請按照錯誤訊息 google.rpc.Status.message 欄位中的疑難排解建議操作。如果經常出現逾時情況或網路錯誤,請確保 Cloud EKM 金鑰的地理位置盡可能靠近外部金鑰所在區域。如果問題持續發生,請洽詢外部金鑰管理合作夥伴的支援團隊。

除非另有說明,否則本節中的錯誤均為 google.rpc.Status.code 的 FAILED_PRECONDITION。EKM_ELEMENT 可以是下列任一值:key、crypto space 或 EKM host。

google.rpc.Status.message violation[1].type
(錯誤網域)
Throttled when trying to access key URI. EXTERNAL_RESOURCE_EXHAUSTED
Could not reach the EKM_ELEMENT due to an external networking error. UNREACHABLE_NETWORK
Could not reach the EKM_ELEMENT because the external key manager reports that it is overloaded. OVERLOADED_EKM
Timed out when trying to access the EKM_ELEMENT. TIMEOUT
這類錯誤通常會在 EKM 回應速度過慢時發生。速度緩慢可能是因為 EKM 收到的要求數量超過處理能力,或網路延遲時間過長。 REQUEST_CANCELLED

外部金鑰管理系統錯誤

如果遇到這些錯誤且問題持續發生,請洽詢外部金鑰管理合作夥伴的支援團隊。

除非另有說明,否則本節中的錯誤均為 google.rpc.Status.code 的 FAILED_PRECONDITION。EKM_ELEMENT 可以是下列任一值:key、crypto space 或 EKM host。

google.rpc.Status.message violation[1].type
(錯誤網域)
Could not validate the TLS server certificate for the EKM_ELEMENT. TLS_CERT
Got garbled or unusable response when trying to access the EKM_ELEMENT. UNEXPECTED_RESPONSE
External server error when trying to access the EKM_ELEMENT. EXTERNAL_SERVER_ERROR
The external key manager indicated they have not implemented the appropriate method to support Cloud KMS's EKM_API.
EKM_API 可以是 AsymmetricSign、CheckCryptoSpacePermissions、CreateKey、Decrypt、DestroyKey、Encrypt、GetInfo 或 GetPublicKey
EXTERNAL_NOT_IMPLEMENTED
Got unexpected error when trying to access the EKM_ELEMENT. UNEXPECTED_ERROR
Decryption failed: The EKM reports that decryption failed.
這表示金鑰 URI 有效,但外部金鑰管理合作夥伴系統無法解密包裝的 Blob 或額外的驗證資料 (AAD)。
google.rpc.Status.code為 INVALID_ARGUMENT。
DECRYPTION_FAILED

取得支援

如果遇到這份參考資料未列出的錯誤,請與Google Cloud 支援團隊聯絡。