כברירת מחדל, תוכן של לקוחות ב-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).
CMEK עם Cloud KMS Autokey
אתם יכולים ליצור CMEK באופן ידני כדי להגן על המשאבים של Cloud SQL ל-SQL Server או להשתמש ב-Cloud KMS Autokey. עם Autokey, מחזיקי מפתחות ומפתחות נוצרים לפי דרישה כדי לתמוך ביצירת משאבים ב-Cloud SQL ל-SQL Server. אם סוכני השירות שמשתמשים במפתחות לפעולות הצפנה ופענוח לא קיימים, הם נוצרים ומקבלים את התפקידים הנדרשים של ניהול זהויות והרשאות גישה (IAM). מידע נוסף מופיע במאמר סקירה כללית על Autokey.
Autokey לא יוצר מפתחות למשאבי Cloud SQL ל-SQL Server BackupRun. כשיוצרים גיבוי של מכונת Cloud SQL ל-SQL Server, הגיבוי מוצפן באמצעות מפתח בניהול הלקוח של המכונה הראשית.
Cloud SQL ל-SQL Server תואם ל-Cloud KMS Autokey רק כשיוצרים משאבים באמצעות Terraform או API בארכיטקטורת REST.
כדי ללמוד איך להשתמש במפתחות CMEK שנוצרו באופן ידני כדי להגן על משאבי Cloud SQL ל-SQL Server, ראו שימוש במפתחות הצפנה בניהול הלקוח (CMEK).
כדי להשתמש במפתחות CMEK שנוצרו על ידי Cloud KMS Autokey כדי להגן על משאבי Cloud SQL ל-SQL Server, אפשר להיעזר בשלבים שמופיעים במאמר שימוש ב-Autokey עם משאבי Secret Manager.
הצפנה בניהול Google לעומת הצפנה בניהול הלקוח
בתרשימים הבאים מוצג הסבר על הצפנת נתונים באחסון בתוך מופע Cloud SQL, כשמשתמשים בהצפנה של Google כברירת מחדל לעומת מפתחות הצפנה בניהול הלקוח.
ללא CMEK
עם CMEK
כשמפענחים נתונים שעברו הצפנה באמצעות מפתחות הצפנה בניהול הלקוח, Cloud SQL משתמש במפתח ה-KEK כדי לפענח את מפתח ה-DEK, ובמפתח ה-DEK הלא מוצפן כדי לפענח את הנתונים במנוחה.

מתי Cloud SQL מתקשר עם מפתחות CMEK?
| פעולה | Notes |
| יצירה של מכונה | במהלך יצירת המכונה, מגדירים את המכונה לשימוש במפתחות הצפנה בניהול הלקוח. |
| יצירת גיבוי | במהלך גיבויים של מופע שמופעלת בו הצפנה לפי מפתחות בניהול הלקוח (CMEK), מפתחות ההצפנה בניהול הלקוח מצפינים נתוני משתמשים, כמו שאילתות ותשובות של משתמשים. גיבויים ממופע שמופעל בו CMEK יורשים את ההצפנה שלו עם אותו מפתח Cloud KMS כמו מופע המקור. |
| שחזור מכונה | במהלך שחזורים של מכונה עם 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 יפעיל מחדש את המכונה באופן אוטומטי.
כשמבצעים רוטציה למפתחות, מופעלת הצפנה מחדש של מופעים שהוצפנו באמצעות המפתח הזה עם גרסת המפתח הראשית החדשה. אפשר להצפין מחדש כל מופע ראשי או רפליקה קיימים של CMEK באמצעות גרסת המפתח הראשי החדשה. למידע נוסף על איך להצפין מחדש מכונה או רפליקה של Cloud SQL אחרי רוטציית מפתחות, ראו הצפנה מחדש של מכונה או רפליקה קיימות עם CMEK.
מנהלי מפתחות חיצוניים
אתם יכולים להשתמש במפתחות שמאוחסנים במנהלי מפתחות חיצוניים, כמו Fortanix, Futurex או Thales, כמפתחות הצפנה בניהול הלקוח. מידע על שימוש במפתחות חיצוניים עם Cloud KMS זמין במאמר Cloud External Key Manager (Cloud EKM).
הצדקות גישה למפתחות
אתם יכולים להשתמש ב-Key Access Justifications כחלק מ-Cloud EKM. התכונה 'הצדקות לגישה למפתח' מאפשרת לכם לראות את הסיבה לכל בקשה ל-Cloud EKM. בנוסף, על סמך ההצדקה שסופקה, אפשר לאשר או לדחות בקשה באופן אוטומטי. מידע נוסף זמין במאמר סקירה כללית על הצדקות לגישה למפתחות.
לכן, התכונה 'הצדקות לגישה למפתחות' מספקת לכם שליטה נוספת בנתונים, כי היא כוללת הצדקה לכל ניסיון לפענח את הנתונים.
למידע נוסף על שימוש במפתחות עם מכונות Cloud SQL, אפשר לעיין במאמר בנושא יצירת מכונת Cloud SQL עם CMEK.
איך אפשר לוודא שלנתונים שמוצפנים באמצעות CMEK לא תהיה יותר גישה?
יכול להיות שיהיו מצבים שבהם תרצו להשמיד באופן סופי נתונים שהוצפנו באמצעות CMEK. כדי לעשות את זה, משמידים את גרסת מפתח ההצפנה בניהול הלקוח. אי אפשר להשמיד את אוסף המפתחות או את המפתח, אבל אפשר להשמיד גרסאות של המפתח.
איך מייצאים ומייבאים נתונים ממופע שמופעל בו CMEK?
אם אתם רוצים שהנתונים יישארו מוצפנים באמצעות מפתח בניהול הלקוח במהלך ייצוא או ייבוא, אתם צריכים להגדיר מפתח הצפנה בניהול הלקוח בקטגוריה של Cloud Storage לפני ייצוא הנתונים אליה. אין דרישות או הגבלות מיוחדות לייבוא נתונים למופע חדש אם הנתונים אוחסנו קודם במופע שמופעל בו מפתח הצפנה בניהול הלקוח.
הגבלות
השימוש במפתחות הצפנה בניהול הלקוח כפוף להגבלות הבאות:
- אי אפשר להפעיל מפתחות הצפנה בניהול הלקוח במופע קיים.
- אי אפשר להקצות מפתח אחר לרפליקה באותו אזור כמו המופע הראשי. בשביל רפליקות חוצות אזורים, צריך ליצור מפתח חדש לאזור הרפליקה.
- אי אפשר להקצות מפתח אחר לשיבוט.
- אי אפשר להשתמש במפתחות הצפנה בניהול הלקוח כדי להצפין:
- שרתים חיצוניים (מופעים ראשיים חיצוניים ועותקים משוכפלים חיצוניים)
- מטא-נתונים של המכונה, כמו מזהה המכונה, גרסת מסד הנתונים, סוג המכונה, דגלים, לוח זמנים לגיבוי וכו'.
- אי אפשר להשתמש במפתחות הצפנה בניהול הלקוח כדי להצפין נתונים של משתמשים בזמן העברה, כמו שאילתות ותשובות של משתמשים.
- אחרי שיוצרים מופע Cloud SQL, אי אפשר לשנות את סוג מפתח ההצפנה. אי אפשר לעבור מGoogle-owned and Google-managed encryption key למפתח Cloud Key Management Service (KMS) או להיפך.
המאמרים הבאים
- מידע נוסף על הצפנה במנוחה ב-Google Cloud Platform
- איך יוצרים מופע עם הפעלה של CMEK
- מידע נוסף על Cloud Key Management Service (Cloud KMS)
- מידע על מכסות למשאבי Cloud KMS
- מידע נוסף על חשבונות שירות ב-IAM
- איך מוסיפים הצדקות לגישה למפתחות
- מוצרים אחרים שמשתמשים ב-CMEK