מבוא ל-CMEK

בדף הזה מוסבר איך להשתמש ב-CMEK עם Apigee. שיטות מומלצות מפורטות במאמר שיטות מומלצות לשימוש ב-CMEK ב-Apigee.

סקירה כללית

כברירת מחדל, Google Cloud הנתונים מוצפנים אוטומטית במצב מנוחה באמצעות מפתחות הצפנה שבבעלות Google ושמנוהלים על ידה. אם יש לכם דרישות ספציפיות בנושא תאימות או רגולציה שקשורות למפתחות שמגנים על הנתונים שלכם, אתם יכולים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK).

מידע נוסף על שימוש ב-CMEK ב-Apigee זמין במאמר שימוש ב-CMEK ב-Apigee. מידע נוסף על CMEK באופן כללי, כולל מתי ולמה כדאי להפעיל אותו, זמין במסמכי התיעוד של Cloud Key Management Service.

שימוש במפתחות הצפנה בניהול הלקוח (CMEK) לא בהכרח מספק אבטחה טובה יותר ממנגנוני ההצפנה שמוגדרים כברירת מחדל ב-Google, אבל הוא מאפשר לכם לשלוט ביותר היבטים של מחזור החיים והניהול של המפתחות, כדי לעמוד בדרישות האבטחה והתאימות.

אם אתם צריכים יותר שליטה בפעולות של מפתחות, מעבר למה שמפתחות הצפנה שבבעלות ובניהול של Google מאפשרים, אפשר להשתמש במפתחות הצפנה בניהול הלקוח. אפשר ליצור ולנהל את המפתחות האלה באמצעות Cloud Key Management Service ‏ (Cloud KMS), ולאחסן אותם כמפתחות תוכנה באשכול HSM, או באופן חיצוני.

התכונות של ניהול המפתחות מסופקות על ידי שירות Cloud KMS.

תרחישי שימוש ב-CMEK

בקטע הזה מתוארים תרחישים נפוצים לשימוש ב-CMEK עם Apigee.

רוטציית מפתחות

מבצעים רוטציה של המפתח באופן אוטומטי או ידני. חשוב לדעת: כשמבצעים רוטציה של המפתח, נתונים שאוחסנו בעבר ב-Apigee לא מוצפנים מחדש באופן אוטומטי באמצעות גרסת המפתח החדשה, אבל אפשר להמשיך לגשת אליהם כל עוד גרסת המפתח הקודמת ששימשה להצפנת הנתונים לא מושבתת או מושמדת.

המטרה העיקרית של רוטציית מפתחות היא להגביל את חשיפת הנתונים למפתח יחיד, ולא להחליף לחלוטין את הגרסה הישנה של המפתח. בשלב הזה, Apigee לא תומך בהצפנה מחדש אחרי רוטציית מפתחות. ב-Apigee באופן ספציפי, כשמבצעים רוטציה למפתח, רק מספר מוגבל של נתונים חדשים (לדוגמה, גרסה חדשה של proxy) יוצפנו באמצעות גרסת המפתח הראשי החדשה. רוב הנתונים, כמו נתונים אנליטיים, דיסק זמן ריצה וגרסה ישנה של שרת proxy, עדיין משתמשים בגרסת המפתח הישנה. אם רוצים להיפטר לגמרי מגרסת המפתח הקודמת, צריך ליצור מחדש את ארגון apigee. לגבי מפתחות הצפנה של סביבת זמן ריצה, אם רוצים להיפטר לגמרי מהגרסה הקודמת של המפתח, צריך ליצור מחדש את מופעי זמן הריצה. פרטים נוספים זמינים במאמר בנושא שיטות מומלצות ל-Apigee CMEK.

מאמרים קשורים: ביצוע רוטציה למפתח

מחיקה והשבתה של מפתחות

כשמשביתים גרסת מפתח, אי אפשר לגשת לנתוני Apigee שהוצפנו באמצעות גרסת המפתח הזו. כדי לשחזר את הגישה לנתונים, אפשר להפעיל מחדש את המפתח.

כשמוחקים או משביתים את מפתח ה-CMEK, גם אם רק לגרסאות קודמות, הארגון apigee יתחיל לפעול בצורה לא תקינה, בהתאם לגרסת המפתח שמשמשת להצפנה. ממשקי API מסוימים יפסיקו לפעול באופן מיידי כי הם דורשים מפתח CMEK כדי לפענח נתונים, בעוד שפונקציות מסוימות יתחילו לפעול בצורה לא תקינה רק כשמופעלת פעולת מערכת מסוימת, כמו Compute Engine, כדי להרכיב מחדש דיסקים קשיחים קבועים. מידע נוסף זמין בקטע השבתת מפתח.

כשמשמידים גרסת מפתח, כל נתוני Apigee שהוצפנו באמצעות גרסת המפתח הזו הופכים ללא קריאים וללא אפשרות לשחזור. זו פעולה סופית ובלתי הפיכה.

מידע נוסף:

שחזור מפתחות

אם מחקתם או השבתתם בטעות מפתח או גרסה קודמת של מפתח, כדאי לנסות לשחזר אותם בהקדם האפשרי. הערה: CMEK היא תכונה שמיועדת למניעת אובדן נתונים אם המפתח לא זמין. אחרי שמשחזרים את המפתח, אין ערובה לכך שהארגון ב-apigee ישוחזר, ויכול להיות שתחוו אובדן נתונים. פרטים נוספים זמינים במאמר בנושא הפעלה מחדש של מפתח. פנו אל Google Cloud Customer Care כדי לקבל מידע על השלב הבא המומלץ.

מידע נוסף: השמדה ושחזור של גרסאות מפתח

ביטול הגישה למפתח

אם תבטלו את הגישה של סוכן השירות של Apigee למפתח באמצעות IAM, ‏ Apigee לא יוכל לגשת לנתוני מישור הבקרה שהוצפנו על ידי גרסה כלשהי של המפתח. פעולות Apigee API שתלויות בפענוח הנתונים ייכשלו. כדי לשחזר את הגישה לנתונים, צריך להעניק מחדש גישה למפתח ולפעולות Apigee API שמפענחות את הנתונים.

מידע נוסף: ניהול הגישה לפרויקטים, לתיקיות ולארגונים

EKM

נכון לעכשיו, Apigee לא תומך ב- Cloud External Key Manager (Cloud EKM). אם אתם משתמשים ב-Cloud EKM, יש פגם ידוע שגורם לכך ששגיאות ב-Cloud EKM לא מועברות אליכם ולא מוצגות לכם בצורה תקינה.

מעקב אחר מילות מפתח

אם אתם משתמשים באפשרות key usage כדי לראות את השימוש במפתח ומגלים שגרסה מסוימת של המפתח לא נמצאת בשימוש, חשוב לדעת שהנתונים לא מדויקים כי Apigee לא משולב עם תכונות של מעקב אחרי מפתחות.

מכסות

שימוש במפתחות CMEK יכול ליצור שימוש בחלק מהמכסות של Cloud KMS. מידע עדכני על מכסות Cloud KMS מופיע במאמר בנושא מכסות.

ביטול מפתח הצפנה

אם לדעתכם הנתונים ב-Apigee in Google Cloud נפרצו, אתם יכולים לבטל את מפתחות ההצפנה. ביטול ה-CMEK בזמן הריצה יגרום לתקלה במופע בזמן הריצה, ולא תהיה לו גישה לנתוני השער. ביטול ההרשאה של CMEK במישור הבקרה יגרום לכך שלא תהיה ל-Apigee אפשרות לבצע עבודות ניתוח או לפרוס שרתי proxy חדשים.

שימוש ב-CMEK עם Apigee

מפתחות ההצפנה של Apigee משמשים לנתוני זמן ריצה ולנתוני מישור הבקרה, והם נוצרים במהלך תהליך ההקצאה.

נתוני מישור הבקרה של Apigee מוצפנים באמצעות מפתח הצפנה שונה מזה של נתוני זמן הריצה, והם עשויים להיות מאוחסנים באזורים שונים. כפי שמתואר במסמכי התיעוד בנושא CMEK, ההצפנה הזו חלה רק על נתונים במנוחה, כלומר על נתונים שנשמרים בסופו של דבר בדיסק.

נתונים במישור הבקרה של Apigee כוללים הגדרות של שרתי proxy (חבילות), חלק מנתוני ההגדרות של הסביבה ונתוני ניתוח. נתוני זמן הריצה של Apigee כוללים נתוני אפליקציות כמו KVM, מטמון וסודות לקוח, שמאוחסנים במסד הנתונים של זמן הריצה.

במאמר מידע על מפתחות ההצפנה של Apigee מופיעים תיאורים של סוגי מפתחות ההצפנה.

אפשר להוסיף מפתחות הצפנה רק בזמן יצירת הארגון ב-Apigee. אחרי שמקצים מפתח CMEK, אי אפשר לעבור למפתח CMEK אחר אחרי יצירת הארגון.

אזורי CMEK במישור הבקרה של מיקום האחסון של הנתונים

במישור הבקרה האזורי של Apigee, בוחרים שני מפתחות הצפנה למישור הבקרה. הסיבה לכך היא שחלק מהרכיבים שמהווים את הבסיס למישור הבקרה של Apigee תמיד נמצאים באזור יחיד במיקום של מישור הבקרה. מידע נוסף זמין במאמר אזורים גיאוגרפיים לאחסון נתונים.

פרטים מפתחות חובה

אזור מישור הבקרה הוא המקום שבו מישור הבקרה פועל. מישור הבקרה ב-Apigee הוא מושג מופשט שבו כמה רכיבים בסיסיים יוצרים יחד את מישור הבקרה של Apigee. נתוני מישור הבקרה הם הגדרות של שרת proxy ואחסון של נתוני ניתוח.

נתונים אחרים של מישור הבקרה (למשל, עיבוד נתונים לצורך ניתוח, פורטלים) נמצאים באזור משנה של מישור הבקרה.

כל הרכיבים של אזור המשנה יהיו באותו אזור.

מפתח אחד לנתוני מישור הבקרה.

מפתח אחד לנתונים של אזור משנה במישור הבקרה.

מגבלות שקשורות למדיניות הארגון

אם יש לכם אילוצים של מדיניות ארגונית בנושא CMEK בפרויקט Google Cloud, מערכת Apigee תאכוף את התאימות לאילוצים האלה. אם אתם משתמשים ב-Apigee דרך ממשק המשתמש Google Cloud , דרך CLI או ישירות דרך ממשקי ה-API של Apigee, מובטח שתהיה אכיפה של מדיניות CMEK. כשמשתמשים בממשק המשתמש של Google Cloud Apigee, האילוצים של מדיניות הארגון בנושא CMEK עוברים אימות מראש, כדי שממשק המשתמש יוכל להנחות אתכם בבחירת הגדרה תקינה ועומדת בדרישות.

אפשר ליצור אילוצים של מדיניות הארגון לגבי CMEK כדי לדרוש ש:

לא כל התכונות ב-Apigee תואמות ל-CMEK בשלב הזה. כדי לוודא שבפרויקטים שנדרש בהם CMEK לא נעשה שימוש לא מודע בתכונות שלא מוגנות על ידי CMEK, התכונות האלה יושבתו בפרויקטים עם מגבלות CMEK עד שהם יעמדו בדרישות. רק שימושים חדשים בתכונות יושבתו (יצירת משאבים חדשים או הפעלת תוסף). תכונות ומשאבים שכבר נמצאים בשימוש יישארו זמינים וניתנים לעריכה, אבל לא יתאימו ל-CMEK. התכונות הבאות יושבתו:

  • Apigee Shadow API Discovery לא כפוף למדיניות הארגון בנושא CMEK ולא עומד בדרישות של CMEK.

  • יצירת ארגוני הערכה תיחסם על ידי שני הממשקים: CreateOrganization API של ארגון הערכה ואשף הקצאת ההרשאות להערכה.
  • Gemini Code Assist לא זמין.

  • יצירת ארגונים גלובליים תיחסם על ידי CreateOrganization eval org API והאשף להקצאת משאבים לגרסת ניסיון.
  • אי אפשר לאכוף יצירה של מופע היברידי.
  • הלחצן Looker Studio לפתיחת Looker Studio עם נתונים מ-Apigee יושבת כשנדרש CMEK.
  • אכיפה רטרואקטיבית של תאימות למשאבים קיימים לא זמינה. אם אתם רוצים שמשאב קיים יהיה תואם, תצטרכו למחוק אותו וליצור אותו מחדש.

מידע נוסף על שימוש באילוצים של מדיניות הארגון ב-Apigee זמין במאמר שימוש באילוצים של מדיניות הארגון ב-Apigee.

איך יוצרים מפתחות הצפנה

כברירת מחדל, Google מנהלת את יצירת מפתחות ההצפנה במהלך תהליך הקצאת ההרשאות, אבל אתם יכולים ליצור אותם בעצמכם. מידע נוסף זמין במאמר מידע על מפתחות ההצפנה של Apigee.

סיכונים ומיטיגציות

בקטע הזה מתוארים איומים פוטנציאליים ופעולות שאפשר לבצע.

  • סיכונים:
    • חשיפת מפתח: מתרחשת כשתוקף מקבל גישה למפתח ההצפנה, למשל דרך נקודות חולשה ב-KMS או דרך מתקפות נגד אדמינים של מפתחות.
    • התקפת מניעת שירות (DoS): תוקף יכול לשבש את הגישה למפתחות הצפנה או לנתונים על ידי תקיפת מערכת KMS או מערכת אחסון.
    • אובדן מפתח: מחיקה או אובדן של מפתח בטעות עלולים לגרום לאובדן נתונים או לחוסר גישה לנתונים.
  • אמצעי מניעה:
    • הטמעת מדיניות חזקה של בקרת גישה וניהול מפתחות.
    • עוקבים אחרי יומני KMS ופעילות כדי לזהות התנהגות חשודה.

פתרון בעיות

בטבלה הבאה מפורטים כמה תנאי שגיאה נפוצים שיכולים להתרחש עם נתוני configstore מוצפנים באמצעות CMEK, הודעת השגיאה המשוערת שמוחזרת על ידי Apigee API ושלבי פתרון הבעיות המומלצים.

הודעת שגיאה או סימפטום מטרה השלבים הבאים
Constraint constraints/gcp.restrictNonCmekServices violated for projects/my-project attempting to create or enable trial org. CMEK is not supported for trial orgs. To use trial orgs, adjust the gcp.restrictNonCmekServices constraint for this project. ניסיתם להקצות ארגון לניסיון שבו קיים אילוץ של מדיניות הארגון לפרויקט. אין תמיכה ב-CMEK בארגונים לניסיון או להערכה. כדי להקצות ארגון לניסיון, צריך לעדכן את האילוץ constraints/gcp.restrictNonCmekServices של מדיניות הארגון כדי להסיר את Apigee מרשימת השירותים שנדחתה.
Constraint constraints/gcp.restrictCmekCryptoKeyProjects violated for projects/my-project attempting to use projects/my-project/locations/my-location/keyRings/kr-1/cryptoKeys/ck-1 key. Use a key from a project that is allowed by the gcp.restrictCmekCryptoKeyProjects constraint. ניסיתם להקצות ארגון שבו קיים אילוץ של מדיניות הארגון לפרויקט, וציינתם מפתח KMS CryptoKey שלא נמצא ברשימת ההיתרים. הגדרתם constraints/gcp.restrictCmekCryptoKeyProjects במדיניות הארגון, ולכן אתם צריכים לספק מפתח CMEK מהפרויקטים המורשים שציינתם. כדי ליצור ארגון או מכונות וירטואליות, תצטרכו לספק את מפתח ה-CMEK מפרויקט מורשה. אפשר גם לעדכן את האילוץ של מדיניות הארגון constraints/gcp.restrictCmekCryptoKeyProjects כדי לאפשר מפתחות מהפרויקט הספציפי Google Cloud הרצוי.
Apigee does not have permission to access key "..." משתמש ביטל את הגישה של Apigee למפתח KMS שסופק, כלומר, על ידי הסרת התפקיד roles/cloudkms.cryptoKeyEncrypterDecrypter. משתמש צריך לבדוק את התפקידים שהוגדרו במפתח KMS ולוודא שלסוכן השירות של Apigee יש את ההרשאות הנדרשות.
Unable to encrypt/decrypt data. Cloud KMS Error: "..." is not enabled, current state is: DESTROYED. משתמש השבית או מחק את גרסת המפתח שמשמשת להצפנה או לפענוח של חלק הנתונים המבוקש. אם אפשר, המשתמש צריך להפעיל מחדש את גרסת המפתח. אם המפתח או גרסת המפתח הושמדו, אי אפשר לשחזר את הנתונים (כך זה מתוכנן).
No new Analytics data for US/EU users אחת הסיבות האפשריות לבעיה הזו היא שמשתמש ביטל, השבית או מחק מפתח אזורי יחיד. משתמש צריך להפעיל מחדש או לשחזר גישה למפתח של אזור יחיד.
Control plane key "..." in region "..." is not valid for this control plane instance. Supported region(s) are "…". משתמש סיפק מפתח של מישור בקרה באזור יחיד באזור שלא תקף או שלא נתמך באזור או במספר אזורים שמוגשים על ידי המופע של מישור הבקרה. המשתמש צריך לספק מפתח באחד מהאזורים הנתמכים או לבחור להשתמש במופע אחר של מישור הבקרה.
Multi-region control plane key is not valid for this control plane instance. Specify only the "apiConsumerDataEncryptionKeyName" field. משתמש סיפק מפתח של מישור בקרה שכולל מספר אזורים במישור בקרה שקיים רק באזור אחד (כלומר, לא מישור בקרה שכולל מספר אזורים). המשתמש צריך להשמיט את השדה של המפתח במספר אזורים או לבחור להשתמש במופע של מישור בקרה במספר אזורים.
Multi-region control plane key is not valid for this control plane instance. Specify a multi-region key with region "..." משתמש סיפק מפתח של מישור בקרה במספר אזורים למופע הלא נכון של מישור בקרה במספר אזורים (למשל, מפתח של ארה"ב למופע של מישור בקרה באירופה) משתמש צריך להשתמש במפתח אזורי נרחב באזור הנרחב המתאים, או לבחור להשתמש במופע אחר של מישור בקרה אזורי נרחב.