כברירת מחדל, כל הנתונים במצב מנוחה ב-Cloud Firestore מוצפנים באמצעות ההצפנה שמוגדרת כברירת מחדל ב-Google. Cloud Firestore מטפל בהצפנה הזו ומנהל אותה בשבילכם, בלי שתצטרכו לבצע פעולה נוספת.
אם יש לכם דרישות ספציפיות בנושא תאימות או רגולציה שקשורות למפתחות שמגנים על הנתונים שלכם, אתם יכולים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) עבור Cloud Firestore. במקום ש-Google תנהל את מפתחות ההצפנה שמגנים על הנתונים שלכם, Cloud Firestoreמסד הנתונים שלכם מוגן באמצעות מפתח שאתם שולטים בו ומנהלים אותו ב-Cloud Key Management Service (Cloud KMS).
בדף הזה מתואר CMEK ל-Cloud Firestore. מידע נוסף על CMEK באופן כללי, כולל מתי ולמה כדאי להפעיל אותו, זמין במסמכי התיעוד הבאים של Cloud KMS:
הוראות לביצוע משימות שקשורות ל-CMEK באמצעות Cloud Firestore מופיעות במאמר שימוש ב-CMEK.
תכונות
- שליטה בנתונים: בעזרת CMEK אפשר לנהל את מפתח KMS. אתם יכולים לבצע רוטציה של המפתח שמשמש להצפנת הנתונים במצב מנוחה במסד הנתונים של Cloud Firestore, להשבית אותו ולהשמיד אותו.
- ביצועים: ל-CMEK אין השפעה על Cloud Firestore SLA.
- יכולת ביקורת: אם מפעילים רישום ביומן הביקורת של Cloud KMS, כל הפעולות שמתבצעות במפתח נרשמות ביומן וניתן לראות אותן ב-Cloud Logging.
- אילוצים של מדיניות הארגון: אתם יכולים להשתמש באילוצים של מדיניות הארגון לגבי CMEK כדי לציין דרישות תאימות להצפנה של מסדי נתונים של Cloud Firestore בארגון.
תמחור
ב-Cloud KMS יש חיוב על עלות המפתח ועל כל הפעולות הקריפטוגרפיות שמבוצעות באמצעות המפתח הזה. מידע נוסף זמין במאמר בנושא תמחור של Cloud KMS.
אתם מחויבים בעלויות הפעולה כש-Cloud Firestore מבקש ממפתח Cloud KMS לבצע פעולת הצפנה או פענוח. פעולת ההצפנה או הפענוח באמצעות מפתח בניהול הלקוח מתרחשת כל 5 דקות ולא מסונכרנת עם בקשות למסד הנתונים. העלויות בדרך כלל נמוכות, בהתחשב במספר הצפוי של פעולות קריפטוגרפיות שנוצרות על ידי Cloud Firestore. העלויות של יומני הביקורת של Cloud הן הוצאה נוספת, אבל בדרך כלל הן נמוכות, בהתחשב במספר הצפוי של פעולות קריפטוגרפיות.
אין עלויות נוספות לשימוש במסד נתונים שמוגן באמצעות CMEK, וCloud Firestore התמחור של Cloud Firestore ממשיך לחול.
אם מבטלים את המפתח למסד נתונים, עלות האחסון תחויב על סמך הגודל של היום האחרון שבו המפתח היה זמין. תמשיכו לשלם על נפח האחסון של מסד הנתונים עד שהוא יימחק או עד שהמפתח יהיה זמין שוב.
מה מוגן באמצעות CMEK
כשיוצרים מסד נתונים שמוגן באמצעות Cloud Firestore CMEK, מפתח Cloud KMS משמש להגנה על נתונים באחסון. ההגדרה הזו כוללת נתונים שמאוחסנים בדיסק או בכונן הבזק, כולל אינדקסים וגיבויים. יש כמה חריגים. סוגי הנתונים הבאים מוצפנים באמצעות ההצפנה שמוגדרת כברירת מחדל ב-Google ולא באמצעות מפתח CMEK:
- נתונים במעבר או בזיכרון
- מטא-נתונים של מסד נתונים
איך המערכת מטפלת במצב של מפתח לא זמין
פעולות הצפנה ופענוח לא מתבצעות בכל בקשת נתונים. במקום זאת, מערכת Cloud Firestore מבצעת סקר ב-Cloud KMS כל 5 דקות כדי לבדוק אם המפתח עדיין זמין, ואז מבצעת פעולות הצפנה ופענוח אם המפתח זמין.
אם המערכת מזהה שהמפתח לא זמין, כל הקריאות הבאות למסד הנתונים Cloud Firestore, כולל קריאות, כתיבות ושאילתות, מחזירות שגיאת INVALID_ARGUMENT עם ההודעה הבאה:
The customer-managed encryption key required by the requested
resource is not accessible.
אם במסד הנתונים יש כללי מדיניות של זמן חיים (TTL), ואם חלף זמן התפוגה של מפתח כלשהו בזמן שהמפתח לא זמין, מחיקת הנתונים לפי TTL תתעכב עד שהמפתח יוחזר. אם במסד הנתונים יש פעולות ארוכות טווח שמתבצעות, הן יושפעו באופן הבא:
- פעולות של יצירת אינדקס ופעולות של הפעלת מדיניות חדשה של TTL יפסיקו להתקדם. אם המפתח יופעל מחדש, המערכת תנסה שוב לבצע את הפעולות שהופסקו.
מפתחות נחשבים ללא זמינים בכל מצב שבו נמנעת באופן מכוון גישה של Cloud Firestore למפתח. בין המקורות האלה:
- השבתה או השמדה של גרסת המפתח שנמצאת בשימוש. חשוב להיזהר כשמשמידים גרסה של מפתח, כי הפעולה הזו עלולה לגרום לאובדן נתונים שלא ניתן לשחזר.
- הסרת ההרשאה לגישה למפתח מחשבון השירות 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 מפורטים שיקולים נוספים לשימוש במפתחות חיצוניים.
גיבוי ושחזור
הגיבוי משתמש באותו מנגנון הצפנה כמו מסד הנתונים שממנו הוא נוצר. כשיוצרים גיבוי של מסד נתונים שמוגן באמצעות CMEK, הגיבוי מוצפן באמצעות גרסת המפתח הראשית שבה נעשה שימוש בזמן יצירת הגיבוי.Cloud Firestore
Cloud Firestore יוצר את הגיבוי הראשון של מסד נתונים עם CMEK אחרי 24 שעות מהרגע שבו הפעלתם את לוחות הזמנים של הגיבוי.
מידע נוסף על Cloud Firestore גיבויים זמין במאמר גיבוי ושחזור נתונים.
מסד נתונים ששוחזר מגיבוי משתמש באותו מנגנון הצפנה שבו השתמשתם לגיבוי כברירת מחדל. כשמשחזרים מסד נתונים, אפשר לציין סוג הצפנה שונה באחת מהדרכים הבאות:
- שחזור למסד נתונים עם CMEK עם מפתח חדש שצוין.
- שחזור למסד נתונים שלא מוגדר בו CMEK, שמוצפן באמצעות ההצפנה שמוגדרת כברירת מחדל ב-Google.
- שחזור למסד נתונים שמשתמש באותה הצפנה כמו הגיבוי.
מידע נוסף על שחזור מסד נתונים של Cloud Firestore מגיבוי זמין במאמר שחזור נתונים מגיבוי של מסד נתונים. מידע נוסף על שחזור מסד נתונים של Cloud Firestore שמוגן באמצעות CMEK מגיבוי זמין במאמר שחזור מסד נתונים שמוגן באמצעות CMEK.
שכפל
כברירת מחדל, מסד נתונים שמשוכפל ממסד נתונים אחר משתמש באותו מנגנון הצפנה כמו מסד הנתונים המקורי. כשמשכפלים מסד נתונים, אפשר לציין סוג הצפנה שונה באחת מהדרכים הבאות:
- שיבוט למסד נתונים עם CMEK עם מפתח חדש שצוין.
- שיבוט למסד נתונים שאינו CMEK ומשתמש בהצפנת ברירת המחדל של Google.
- (ברירת מחדל) שיבוט למסד נתונים שמשתמש באותה הצפנה כמו מסד הנתונים של המקור.
למידע נוסף על שיבוט מסד נתונים של Cloud Firestore, אפשר לעיין במאמר שיבוט מסד נתונים. מידע נוסף על שיבוט מסד נתונים מוגן באמצעות CMEK זמין במאמר בנושא שיבוט מסד נתונים מוגן באמצעות CMEK.Cloud Firestore
מעקב אחר מילות מפתח
אתם יכולים להשתמש במעקב אחר מפתחות כדי לראות משאבים, למשל Cloud Firestore מסדי נתונים, שמפתח מגן עליהם. מידע נוסף על מעקב אחר מפתחות זמין במאמר הצגת השימוש במפתחות.
זמינות של מפתחות ו-CMEK
כשמפתחות לא זמינים או מושבתים, חשוב להכיר את ההתנהגויות הבאות שיכולות להתרחש במסדי נתונים שמופעלת בהם הצפנה באמצעות מפתחות שנוהלו על ידי הלקוח (CMEK):
אפשר למחוק מסד נתונים עם הצפנה באמצעות מפתח משל הלקוח (CMEK) שיש בו מפתחות לא זמינים.
כשיוצרים מסד נתונים עם CMEK, מפתחות מושבתים לא מופיעים ברשימת המפתחות הזמינים במסוף Google Cloud. אם תזינו ידנית מפתח מושבת, תהליך יצירת מסד הנתונים ייכשל עם השגיאה
INVALID_ARGUMENT400.
מגבלות
אי אפשר לשנות מפתח של מסד נתונים שמוגן באמצעות CMEK. אפשר לסובב, להפעיל ולהשבית מקשים.
אי אפשר להפעיל CMEK במסדי נתונים קיימים. אפשר להפעיל CMEK רק במסדי נתונים חדשים, וצריך להפעיל אותו כשיוצרים את מסד הנתונים. כדי להעביר נתונים ממסד נתונים קיים שלא מוגן באמצעות CMEK למסד נתונים שמוגן באמצעות CMEK, צריך לייצא את הנתונים ואז לייבא אותם למסד נתונים חדש שמוגן באמצעות CMEK. אפשר גם לשחזר או לשכפל נתונים ממסד נתונים שלא מוצפן באמצעות CMEK למסד נתונים שמוצפן באמצעות CMEK.
Cloud Firestore תומך במספר מוגבל של מסדי נתונים שמוגנים באמצעות CMEK.