מפתחות הצפנה בניהול הלקוח (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, כולל קריאות, כתיבות ושאילתות, מחזירות שגיאת INVALID_ARGUMENT עם ההודעה הבאה:

The customer-managed encryption key required by the requested
resource is not accessible.

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

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

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

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

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

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

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

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

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

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

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

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

במסמכי התיעוד של 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:

  • אתם יכולים למחוק מסד נתונים של CMEK עם מפתחות לא זמינים.

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

מגבלות

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

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

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

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