בדף הזה מוסבר איך ליצור מפתחות הצפנה בניהול הלקוח (CMEK) ל-AlloyDB ל-PostgreSQL, להגדיר אותם ולהחיל אותם.
מידע נוסף על CMEK זמין במאמר מידע על CMEK.
יצירה והרשאה של מפתח CMEK ל-AlloyDB
יוצרים מפתח ב-Cloud Key Management Service (Cloud KMS). AlloyDB תומך בסוגי המפתחות הבאים:
המפתח צריך להיות באותו מיקום שבו נמצא אשכול AlloyDB. לדוגמה, קלאסטר של AlloyDB שנמצא ב-
us-west1יכול להשתמש רק במפתחות ב-us-west1.אם כבר יש לכם מפתח Cloud KMS במיקום הנכון, אתם יכולים לדלג על השלב הזה.
מעניקים ל-AlloyDB גישה למפתח.
- באמצעות Google Cloud CLI, יוצרים את סוכן השירות ומציגים אותו, או מציגים אותו אם החשבון כבר קיים:
gcloud beta services identity create --service=alloydb.googleapis.com \ --project=PROJECTהפקודה gcloud services identity יוצרת או מאחזרת את סוכן השירות ש-AlloyDB יכול להשתמש בו כדי לגשת למפתח Cloud KMS בשמכם.
מזהה חשבון השירות דומה לכתובת אימייל:
Service identity created: service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com- מקצים לחשבון השירות את התפקיד
cloudkms.cryptoKeyEncrypterDecrypter:
gcloud kms keys add-iam-policy-binding KEY \ --location REGION \ --keyring KEYRING \ --project=PROJECT \ --member serviceAccount:service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterמחליפים את מה שכתוב בשדות הבאים:
- KEY: מזהה המפתח ב-Cloud KMS
- REGION: האזור של המפתח, לדוגמה
us-central1 - PROJECT: המזהה של הפרויקט של המפתח
- KEYRING: המזהה של אוסף המפתחות של Cloud KMS שבו נמצא המפתח
התפקיד הזה מעניק לחשבון השירות הרשאה להצפין ולפענח באמצעות המפתח של Cloud KMS. מידע נוסף זמין במאמר הרשאות ותפקידים ב-Cloud KMS.
יצירת אשכול מוצפן באמצעות CMEK
כשיוצרים אשכול חדש, אפשר לבחור אם להצפין את האשכול באמצעות ההצפנה שמוגדרת כברירת מחדל בניהול Google, או להשתמש במפתח CMEK במקום זאת. למידע נוסף, קראו את המאמר בנושא יצירת אשכול ומופע ראשי שלו.
צפייה בשיטת ההצפנה ובמפתח ה-CMEK של אשכול
המסוף
בעמודה הצפנה בדף אשכולות מוצג אם כל אשכול בפרויקט משתמש בהצפנה בניהול Google או ב-CMEK.
כדי לראות את פרטי המפתח של אשכול באמצעות CMEK, לוחצים על השם שלו בעמודה שם המשאב. השדה מפתח הצפנה בדף הפרטים שמתקבל מכיל תיאור של המפתח, כולל קישור לדף הפרטים שלו ב-Cloud KMS.
gcloud
מריצים את הפקודה gcloud alloydb clusters
describe:
gcloud alloydb clusters describe CLUSTER \
--project=PROJECT \
--region=REGIONמחליפים את מה שכתוב בשדות הבאים:
- CLUSTER: המזהה של האשכול שרוצים לתאר
- PROJECT: מזהה הפרויקט של האשכול
- REGION: האזור של האשכול – לדוגמה,
us-central1
הפלט כולל שדה encryptionInfo עם סיכום של ההצפנה של האשכול.
החלת CMEK על גיבויים
כשיוצרים גיבוי חדש, אפשר לבחור אם להצפין אותו באמצעות ההצפנה שמוגדרת כברירת מחדל בניהול Google או באמצעות מפתח CMEK. למידע נוסף, אפשר לקרוא את המאמרים בנושא יצירת גיבוי לפי דרישה או תזמון גיבויים אוטומטיים.
יש לכם גם אפשרות להחיל מפתח CMEK על האשכול שנוצר כשמשחזרים מגיבוי, בלי קשר לשיטת ההצפנה של הגיבוי. מידע נוסף מופיע במאמר שחזור אשכול.
רוטציה של מפתחות באמצעות הצפנת CMEK
חשוב להבין את ההשלכות של ביצוע רוטציה למפתחות הצפנה בניהול הלקוח (CMEK) ב-Cloud Key Management Service (Cloud KMS) כשמשתמשים בהם עם אשכולות AlloyDB.
כשמבצעים רוטציה למפתח CMEK, זה מה שקורה לנתונים הקיימים ב-AlloyDB:
הגישה המיידית נמשכת: הנתונים נשארים מוצפנים באמצעות הגרסה המקורית של מפתח ההצפנה (DEK), כל עוד הגרסה הקודמת של המפתח עדיין זמינה ב-KMS, ולא הושבתה או נמחקה.
הצפנה מחדש של כל הנתונים היא פעולה ידנית: כדי להצפין מחדש את כל הנתונים ב-AlloyDB באמצעות הגרסה העדכנית של המפתח הראשי, צריך להצפין אותם מחדש.
כדי להצפין מחדש את האשכול הקיים באמצעות גרסה חדשה של מפתח CMEK, צריך לבצע גיבוי ושחזור:
יוצרים גיבוי של האשכול הקיים.
משחזרים את הגיבוי לאשכול חדש, ומציינים את הגרסה החדשה של מפתח ה-CMEK הראשי במהלך תהליך השחזור.
מידע נוסף זמין במאמר בנושא שחזור אשכול.
רוטציית מפתחות CMEK תכופה עם AlloyDB דורשת תקורה תפעולית משמעותית. מכיוון שנתונים קיימים לא מוצפנים מחדש באופן אוטומטי, ומכיוון שהצפנה מחדש ידנית כוללת גיבוי מלא ושחזור לאשכול חדש, רוטציות תכופות עלולות להיות מסורבלות ולהשפיע על הזמינות או על מורכבות הניהול.
אפשר למחוק בבטחה גרסאות ישנות של מפתחות CMEK ב-Cloud KMS רק אחרי שמוודאים שכל הנתונים הרלוונטיים ב-AlloyDB הוצפנו מחדש באופן ידני, ושהנתונים משתמשים בגרסה חדשה יותר של המפתח.
צפייה בשיטת ההצפנה ובמפתח ה-CMEK של גיבוי
המסוף
בעמודה הצפנה בדף גיבויים מוצג אם כל אשכול בפרויקט משתמש בהצפנה בניהול Google או ב-CMEK.
כדי לראות את פרטי המפתח של גיבוי באמצעות CMEK, לוחצים על שחזור. בשדה מפתח הצפנה בחלונית הפרטים הבאה מופיע תיאור של המפתח, כולל קישור לדף הפרטים שלו ב-Cloud KMS.
gcloud
מריצים את הפקודה gcloud alloydb backups describe:
gcloud alloydb backups describe CLUSTER \
--project=PROJECT \
--region=REGIONמחליפים את מה שכתוב בשדות הבאים:
- CLUSTER: המזהה של הגיבוי שרוצים לתאר
- PROJECT: מזהה הפרויקט של הגיבוי
- REGION: האזור של הגיבוי, לדוגמה,
us-central1
הפלט כולל שדה encryptionInfo עם סיכום של ההצפנה של הגיבוי.
השבתת מקש
אם משביתים את מפתח ה-CMEK של אשכול, אי אפשר לגשת לנתונים של האשכול עד שמפעילים שוב את המפתח.
עם זאת, השבתת מפתח יכולה להימשך עד שלוש שעות עד שהוא יתעדכן באשכול AlloyDB. כדי להשבית מפתח ולמנוע גישה לנתונים באופן מיידי, פועלים לפי השלבים הבאים:
מוחקים את המופע הראשי של האשכול. הפעולה הזו לא משפיעה על הנתונים באשכול. אפשר ליצור מופע ראשי חדש אחרי שמפעילים מחדש את המפתח, כמו שמתואר בקטע הבא.
הפעלת מקש
כדי להפעיל מפתח:
אם מחקתם את המופע הראשי של האשכול לפני שהשבתתם את המפתח, צריך ליצור מופע ראשי חדש.
יכולות לחלוף עד שלוש שעות עד שההפעלה של מפתח תתעדכן באשכול. הגישה לנתונים של האשכול מתאפשרת ברגע שההפצה הזו מתרחשת.
צפייה ביומני ביקורת של מפתח Cloud KMS
כדי לראות את יומני הביקורת שמשויכים למפתח CMEK מסוים, פועלים לפי השלבים הבאים:
מוודאים שהרישום ביומן מופעל עבור Cloud KMS API בפרויקט.
נכנסים אל Logs Explorer במסוף Google Cloud .
כדי להגביל את רשומות היומן למפתח Cloud KMS, מוסיפים את השורות הבאות לכלי ליצירת שאילתות:
resource.type="cloudkms_cryptokey" resource.labels.location="REGION" resource.labels.key_ring_id="KEYRING" resource.labels.crypto_key_id="KEY"מחליפים את מה שכתוב בשדות הבאים:
- REGION: האזור של המפתח, למשל
us-central1 - KEYRING: המזהה של אוסף המפתחות של Cloud KMS שבו נמצא המפתח
- KEY: מזהה המפתח ב-Cloud KMS
- REGION: האזור של המפתח, למשל
בפעולות רגילות, פעולות ההצפנה והפענוח נרשמות ביומן ברמת חומרה
INFO. הרשומות האלה נרשמות ביומן כשהמופעים באשכול AlloyDB מאמתים את מפתח Cloud KMS, וזה קורה בערך כל חמש דקות.אם ל-AlloyDB אין גישה למפתח, הפעולות נרשמות ביומן בתור
ERROR.
צפייה בהצדקות גישה למפתח Cloud EKM
אם משתמשים במפתח Cloud EKM, אפשר להשתמש ב-Key Access Justifications כדי לראות את הסיבה לכל בקשת Cloud EKM. בנוסף, על סמך ההצדקה שסופקה, אפשר לאשר או לדחות בקשה באופן אוטומטי. מידע נוסף זמין במאמר בנושא צפייה בהצדקות ופעולה בהתאם להן.