כברירת מחדל, תוכן של לקוחות ב-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) מוסבר איך להשתמש במפתחות CMEK שנוצרו באופן ידני כדי להגן על משאבי Cloud SQL ל-SQL Server.
כדי להשתמש במפתחות 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?
| פעולה | הערות |
| יצירה של מכונה | במהלך יצירת המכונה, מגדירים את המכונה כך שתשתמש במפתחות הצפנה בניהול הלקוח. |
| יצירת גיבוי | במהלך גיבויים של מופע שמופעל בו 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 יפעיל מחדש את המכונה באופן אוטומטי. עם זאת, התהליך הזה יכול להימשך עד 10 דקות בגלל תהליך האימות הפנימי שקשור אליו.
כשמבצעים רוטציה למפתחות, מופעלת הצפנה מחדש של מופעים שהוצפנו באמצעות המפתח הזה עם גרסת המפתח הראשית החדשה. אפשר להצפין מחדש כל מופע ראשי או העתק קיים של CMEK באמצעות גרסת המפתח הראשי החדשה. במאמר הצפנה מחדש של מכונה או רפליקה קיימות עם CMEK מוסבר איך להצפין מחדש מכונה או רפליקה של Cloud SQL אחרי רוטציית מפתחות.
מנהלי מפתחות חיצוניים
אתם יכולים להשתמש במפתחות שמאוחסנים במנהלי מפתחות חיצוניים, כמו 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