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

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

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

בדף הזה מתואר השימוש ב-CMEK ב-Cloud Firestore. למידע נוסף על CMEK באופן כללי, כולל מתי ולמה להפעיל אותו, עיינו במסמכי התיעוד הבאים של Cloud KMS:

במאמר שימוש ב-CMEK מוסבר איך מבצעים משימות שקשורות ל-CMEK באמצעות Cloud Firestore.

תכונות

  • אפשרויות לניהול השימוש בנתונים: באמצעות CMEK אתם יכולים לנהל את מפתח ה-KMS. אתם יכולים להחליף, להשבית ולהשמיד את המפתח שמשמש להצפנת הנתונים במנוחה במסד הנתונים שלכם ב-Cloud Firestore.
  • ביצועים: מפתחות CMEK לא משפיעים על הסכם ה-SLA של Cloud Firestore.
  • יכולת ביקורת: אם מפעילים את יומני הביקורת של Cloud KMS, כל הפעולות במפתח מתועדות ביומן ואפשר לראות אותן ב-Cloud Logging.
  • אילוצים של מדיניות הארגון: אתם יכולים להשתמש באילוצים של מדיניות הארגון לגבי CMEK כדי לציין דרישות תאימות להצפנה של מסדי נתונים ב-Cloud Firestore בארגון.

תמחור

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

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

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

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

מה מוגן באמצעות CMEK

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

  • נתונים במעבר או בזיכרון
  • מטא-נתונים של מסד נתונים

איך המערכת מטפלת בסטטוס מפתח לא זמין

פעולות ההצפנה והפענוח לא מופעלות בכל בקשת נתונים. במקום זאת, המערכת של Cloud Firestore דוגמת את Cloud KMS כל 5 דקות כדי לבדוק אם המפתח עדיין זמין, ואז מבצעת פעולות הצפנה ופענוח אם המפתח זמין.

אם המערכת מזהה שהמפתח לא זמין, תוך 10 דקות כל הקריאות הבאות למסד הנתונים של Cloud Firestore, כולל קריאות, כתיבות ושאילתות, מחזירות שגיאת FAILED_PRECONDITION עם ההודעה The customer-managed encryption key required by the requested resource is not accessible.

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

מפתחות נחשבים כלא זמינים בכל מצב שבו נמנעת בכוונה מ-Cloud Firestore הגישה למפתח. זה כולל:

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

הפעלה מחדש של מפתח כרוכה בפעולות הבאות, בהתאם למצב:

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

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

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

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

נקודות מרכזיות לגבי מפתחות חיצוניים

כשאתם משתמשים במפתח Cloud EKM, ל-Google אין שליטה על הזמינות של המפתח שמנוהל באופן חיצוני במערכת של השותף החיצוני לניהול מפתחות.

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

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

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

גיבוי ושחזור

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

‫Cloud Firestore יוצר את הגיבוי הראשון של מסד נתונים עם CMEK אחרי 24 שעות מהרגע שבו הפעלתם את תזמוני הגיבוי.

מידע נוסף על גיבויים ב-Cloud Firestore זמין במאמר גיבוי ושחזור של נתונים.

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

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

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

שכפל

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

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

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

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

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

‫CMEK וזמינות המפתחות

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

  • אתם יכולים לשנות את הגדרות שחזור המערכת מנקודה מסוימת בזמן (PITR) של Cloud Firestore במסד נתונים שמופעל בו CMEK, גם אם המפתח לא זמין, כי הגדרות ה-PITR הן מטא-נתונים של מסד הנתונים שלא מוצפנים על ידי CMEK.
  • אפשר למחוק מסד נתונים של CMEK עם מפתחות לא זמינים.
  • כשיוצרים מסד נתונים עם CMEK, מפתחות מושבתים לא מופיעים ברשימת המפתחות הזמינים במסוף Google Cloud. אם תזינו באופן ידני מפתח מושבת, תהליך יצירת מסד הנתונים ייכשל ותופיע שגיאה 400 של FAILED_PRECONDITION.

מגבלות

  • אי אפשר לשנות מפתח של מסד נתונים שמוגן באמצעות CMEK. אתם יכולים להחליף, להפעיל ולהשבית מפתחות.
  • מסדי נתונים שמוגנים באמצעות CMEK תומכים ב-Key Visualizer רק לנתוני ישויות ומסמכים, ולא לנתוני אינדקס.
  • אי אפשר להפעיל את CMEK במסדי נתונים קיימים. אפשר להפעיל CMEK רק במסדי נתונים חדשים, וצריך להפעיל אותו כשיוצרים את מסד הנתונים. כדי להעביר נתונים ממסד נתונים קיים ללא CMEK למסד נתונים שמוגן באמצעות CMEK, צריך לייצא את הנתונים ואז לייבא אותם למסד נתונים חדש שמוגן באמצעות CMEK. אפשר גם לשחזר או לשכפל נתונים ממסד נתונים ללא CMEK למסד נתונים עם CMEK.
  • ב-Cloud Firestore יש תמיכה במספר מוגבל של מסדי נתונים שמוגנים באמצעות CMEK.
  • אנחנו לא תומכים בהגנה באמצעות CMEK בשילוב עם פונקציות Cloud Functions (דור ראשון). אם אתם רוצים הגנה באמצעות CMEK, השתמשו בטריגרים של Firestore ב-Cloud Run Functions (דור שני).

איך נתונים יכולים לצאת ממסדי נתונים שמוגנים באמצעות CMEK

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

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

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