בדף הזה מוסבר איך להשתמש ב-CMEK עם Apigee. שיטות מומלצות מפורטות במאמר שיטות מומלצות לשימוש ב-Apigee CMEK.
סקירה כללית
כברירת מחדל, 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. במקרה של מפתחות הצפנה של זמן ריצה, אם רוצים להיפטר לחלוטין מהגרסה הקודמת של המפתח, צריך ליצור מחדש את מופעי זמן הריצה. פרטים נוספים זמינים במאמר
שיטות מומלצות ל-CMEK ב-Apigee.
מאמרים קשורים: ביצוע רוטציה למפתח
מחיקה והשבתה של מפתחות
כשמשביתים גרסת מפתח, לא תהיה גישה לנתוני 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 או ישירות דרך ממשקי Apigee API, מובטח אכיפה של מדיניות CMEK. כשמשתמשים בממשק המשתמש של Google Cloud Apigee, מתבצעת אימות מראש של אילוצים של מדיניות הארגון בנושא CMEK, כדי שממשק המשתמש יוכל להנחות אתכם בבחירת הגדרה תקינה שתואמת לדרישות.
אפשר ליצור אילוצים של מדיניות הארגון לגבי CMEK כדי לדרוש את הדברים הבאים:
- תמיד נעשה שימוש במפתחות הצפנה בניהול הלקוח
- מפתחות הצפנה בניהול הלקוח מותרים רק מפרויקטים ספציפיים שמופיעים ברשימת ההיתרים
נכון לעכשיו, לא כל התכונות ב-Apigee תואמות ל-CMEK. כדי לוודא שבפרויקטים שנדרש בהם CMEK לא נעשה שימוש לא מודע בתכונות שלא מוגנות על ידי CMEK, התכונות האלה יושבתו בפרויקטים עם מגבלות CMEK עד שהם יעמדו בדרישות. רק שימושים חדשים בתכונות יושבתו (יצירת משאבים חדשים או הפעלת תוסף). תכונות ומשאבים שכבר נמצאים בשימוש יישארו זמינים וניתנים לעריכה, אבל לא יתאימו ל-CMEK. התכונות הבאות יושבתו:
-
Apigee Shadow API Discovery לא כפוף למדיניות הארגון בנושא CMEK ולא עומד בדרישות של CMEK.
- יצירת ארגוני הערכה תיחסם על ידי שני הממשקי ה-API של ארגוני ההערכה: CreateOrganization ואשף הקצאת ההערכה.
-
Gemini Code Assist לא זמין.
- Global orgs creation ייחסם על ידי CreateOrganization eval org API והאשף להקצאת משאבים לגרסת ניסיון.
- אי אפשר לאכוף את יצירת מופעי Hybrid.
- הלחצן Data Studio לפתיחת Data 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 שלא נמצא ברשימת ההיתרים. |
הגדרתם 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 "..."
|
משתמש סיפק מפתח של מישור בקרה במספר אזורים למופע הלא נכון של מישור בקרה במספר אזורים (למשל, מפתח של ארה"ב למופע של מישור בקרה באירופה) | משתמש צריך להשתמש במפתח אזורי נרחב באזור הנרחב המתאים, או לבחור להשתמש במופע אחר של מישור בקרה אזורי נרחב. |