本主題說明如何解讀及排解使用 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 支援團隊聯絡。