הפניה לשגיאות ב-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 או לתמיכה של מערכת השותפים לניהול מפתחות חיצוני.

אם השגיאה לא מופיעה בטבלאות שבהמשך, אפשר לעיין במאמר בנושא פתרון בעיות ב-EKM דרך שגיאות ב-VPC.

שגיאות בקלט

כדי לפתור את הבעיה, פועלים לפי העצה לפתרון בעיות שמופיעה בשדה google.rpc.Status.message של השגיאה. אם הבעיה נמשכת, אפשר לפנות Google Cloud לתמיכה.

אלא אם צוין אחרת, השגיאות בסעיף הזה הן google.rpc.Status.code של FAILED_PRECONDITION.

google.rpc.Status.message violation[1].type
(Error domain)
פתרון בעיות
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.codeFAILED_PRECONDITION. הערך של EKM_ELEMENT יכול להיות אחד מהערכים הבאים: key,‏ crypto space או EKM host.

google.rpc.Status.message violation[1].type
(Error domain)
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 מקבלת יותר בקשות ממה שהיא יכולה לטפל בהן, או מחביון (latency) גבוה מדי ברשת. REQUEST_CANCELLED

שגיאות במערכת חיצונית לניהול מפתחות

אם נתקלתם בשגיאות האלה והן נמשכות, פנו לתמיכה של השותף החיצוני לניהול מפתחות.

אלא אם צוין אחרת, השגיאות בסעיף הזה הן google.rpc.Status.codeFAILED_PRECONDITION. הערך של EKM_ELEMENT יכול להיות אחד מהערכים הבאים: key,‏ crypto space או EKM host.

google.rpc.Status.message violation[1].type
(Error domain)
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 התמיכה.