מידע על מפתחות הצפנה בניהול הלקוח (CMEK)

כברירת מחדל, Cloud SQL ל-SQL Server מצפין את תוכן הלקוחות במנוחה. ‫Cloud SQL ל-SQL Server מטפל בהצפנה בשבילכם, בלי שתצטרכו לבצע פעולות נוספות. האפשרות הזו נקראת הצפנה כברירת מחדל של Google.

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

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

הצפנה בניהול Google לעומת הצפנה בניהול הלקוח

בתרשימים הבאים מוצג איך פועלת הצפנת נתונים במנוחה בתוך מכונה של Cloud SQL, כשמשתמשים בהצפנה של Google כברירת מחדל לעומת מפתחות הצפנה בניהול הלקוח.

בלי CMEK

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

עם CMEK

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

כשמפענחים נתונים שמוצפנים באמצעות מפתחות הצפנה בניהול הלקוח, Cloud SQL משתמש ב-KEK כדי לפענח את ה-DEK, וב-DEK הלא מוצפן כדי לפענח נתונים במנוחה.

מקטע נתונים מוצפן באמצעות DEK ומאוחסן עם DEK ארוז. בקשה לפתיחת האריזה של ה-DEK נשלחת לאחסון של KMS, שבו מאוחסן ה-KEK שלא ניתן לייצוא. ‫KMS Storage מחזיר את ה-DEK שהאריזה שלו נפתחה.

אם מפעילים מטמון נתונים במכונה של Cloud SQL Enterprise Plus עם CMEK, ‏Cloud SQL מצפין גם את ה-SSD המקומי שמשמש למטמון הנתונים.

מתי Cloud SQL משתמש במפתחות CMEK?

פעולה הערות
יצירה של מכונה במהלך יצירת המכונה, מגדירים אותה כך שתשתמש במפתחות הצפנה בניהול הלקוח.
יצירת גיבוי במהלך גיבויים של מכונה שמופעל בה CMEK, מפתחות הצפנה בניהול הלקוח מצפינים את נתוני המשתמש, כמו שאילתות ותשובות של המשתמש. גיבויים ממכונה שמופעל בה CMEK יורשים את ההצפנה שלה עם אותו מפתח Cloud KMS כמו מכונת המקור. בגיבויים משופרים, שירות Backup and DR משתמש ב-CMEK שעובר בירושה מהמכונה, ולא ב-CMEK שמוגדר בכספת הגיבוי.
שחזור מכונה במהלך שחזורים של מכונה שמופעל בה CMEK, ‏Cloud SQL משתמש במפתח כדי לגשת לנתונים במכונת הגיבוי שמשוחזרת. כשמשחזרים למכונה אחרת, מכונת היעד יכולה להשתמש במפתח אחר להצפנה.
יצירת רפליקה כשיוצרים רפליקה לקריאה בלבד של מכונה ב-Cloud SQL באותו אזור, היא מקבלת בירושה את ה-CMEK מהמכונה הראשית. אם יוצרים עותק לקריאה בלבד באזור אחר, צריך לבחור מפתח CMEK מהאזור האחר. בכל אזור נעשה שימוש בקבוצת מפתחות משלו.
יצירת שיבוט עותקים משוכפלים ממכונה שמופעל בה CMEK יורשים את ההצפנה של CMEK עם אותו מפתח Cloud KMS כמו במכונה המקורית.
עדכון המכונה במהלך עדכונים של מכונה שמופעל בה CMEK, ‏ Cloud SQL בודק את מפתח ה-CMEK.

באילו מיקומים יש תמיכה במכונות Cloud SQL שמופעל בהן CMEK?

אפשר להשתמש ב-CMEK בכל מיקומי המכונות של Cloud SQL.

מידע על חשבונות שירות

כשמפעילים CMEK במכונות Cloud SQL, צריך להשתמש בחשבון שירות כדי לבקש גישה למפתח מ-Cloud KMS.

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

אם אתם משתמשים במסוף כדי ליצור מכונה, Cloud SQL יוצר באופן אוטומטי את חשבון השירות כשאתם בוחרים בפעם הראשונה באפשרות מפתח בניהול הלקוח (אם עדיין לא קיים חשבון שירות). לא צריך הרשאות מיוחדות בחשבון המשתמש כש-Cloud SQL יוצר באופן אוטומטי את חשבון השירות.

מידע על מפתחות

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

כשיוצרים מכונות חדשות של Cloud SQL שמשתמשות במפתחות הצפנה בניהול הלקוח, צריך לדעת את מזהה המפתח ואת אזור המפתח. אתם צריכים להציב מכונות חדשות של Cloud SQL באותו אזור שבו נמצא מפתח ההצפנה בניהול הלקוח שמשויך למכונה. אפשר ליצור פרויקט אחד גם למפתחות וגם למכונות של Cloud SQL, או פרויקטים שונים לכל אחד מהם.

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

projects/[KMS_PROJECT_ID]/locations/[LOCATION]/keyRings/[KEY_RING]/cryptoKeys/[KEY_NAME]

אם ל-Cloud SQL אין גישה למפתח (למשל, אם משביתים את גרסת המפתח), Cloud SQL משעה את המכונה. כשהמפתח יהיה נגיש שוב, Cloud SQL יפעיל מחדש את המכונה באופן אוטומטי. עם זאת, התהליך יכול להימשך עד 10 דקות בגלל תהליך האימות הפנימי שקשור אליו.

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

מנהלי מפתחות חיצוניים

אתם יכולים להשתמש במפתחות שמאוחסנים במנהלי מפתחות חיצוניים נתמכים בתור מפתחות הצפנה בניהול הלקוח. במאמר Cloud External Key Manager מוסבר איך משתמשים במפתחות חיצוניים עם Cloud KMS, ויש בו רשימה של מנהלי מפתחות חיצוניים (EKM) תואמים.

הצדקות גישה למפתחות

אתם יכולים להשתמש ב-Key Access Justifications כחלק מ-Cloud EKM. ההצדקות לגישה למפתחות מאפשרות לכם לראות את הסיבה לכל בקשה של Cloud EKM. בנוסף, אתם יכולים לאשר או לדחות בקשה באופן אוטומטי על סמך ההצדקה שסופקה. מידע נוסף זמין בסקירה הכללית על הצדקות לבקשות גישה למפתחות.

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

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

איך אפשר להפוך נתונים שמוצפנים באמצעות CMEK ללא נגישים באופן סופי?

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

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

כדי לגבות ולשחזר גיבויים משופרים שמופעל בהם CMEK, צריך לשמור על הגישה ל-CMEK שמשמש את המכונה גם מסוכן השירות של Cloud SQL וגם מסוכן השירות של שירות Backup and DR. בקטע הזה מוסבר איך ביטול הגישה למפתח משפיע על פונקציונליות הגיבוי והשחזור.

  • ביטול הגישה של סוכן השירות של Cloud SQL: אם סוכן השירות של Cloud SQL מאבד את הגישה ל-CMEK, המכונה מושעית ואי אפשר ליצור גיבויים חדשים. עם זאת, מכיוון שלסוכן השירות של Backup and DR יש גישה משלו ל-CMEK, עדיין אפשר לשחזר את הגיבויים המשופרים הקיימים.

  • ביטול הגישה של סוכן השירות של Backup and DR: אם לסוכן השירות של Backup and DR אין יותר גישה ל-CMEK, עדיין אפשר להשתמש במכונה, אבל אי אפשר ליצור גיבויים משופרים חדשים ואי אפשר לשחזר גיבויים משופרים קיימים עד שמשחזרים את הגישה של חשבון השירות של Backup and DR למפתח.

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

איך מייצאים ומייבאים נתונים ממכונה שמופעל בה CMEK ואליה?

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

הגבלות

השימוש במפתחות הצפנה בניהול הלקוח כפוף להגבלות הבאות:

  • אי אפשר להפעיל מפתחות הצפנה בניהול הלקוח במכונה קיימת.
  • אי אפשר להקצות מפתח אחר לרפליקה באותו אזור של המכונה הראשית. ברפליקות בין אזורים, צריך ליצור מפתח חדש לאזור של הרפליקה.
  • אי אפשר להקצות מפתח אחר לשכפול.
  • אי אפשר להשתמש במפתחות הצפנה בניהול הלקוח כדי להצפין:
    • שרתים חיצוניים (מכונות ראשיות חיצוניות ורפליקות חיצוניות)
    • מטא-נתונים של המכונה, כמו מזהה המכונה, גרסת מסד הנתונים, סוג המכונה, דגלים, תזמון הגיבוי וכו'.
  • אי אפשר להשתמש במפתחות הצפנה בניהול הלקוח כדי להצפין נתוני משתמשים במעבר, כמו שאילתות ותשובות של משתמשים.
  • אחרי שיוצרים מכונה של Cloud SQL, אי אפשר לשנות את סוג מפתח ההצפנה. אי אפשר לעבור מGoogle-owned and Google-managed encryption key למפתח של Cloud Key Management Service ‏ (Cloud KMS), או להיפך.

המאמרים הבאים