כברירת מחדל, Dataproc Metastore מצפין את התוכן של הלקוחות במצב מנוחה. Dataproc Metastore מטפל בהצפנה בשבילכם בלי שתצטרכו לבצע פעולות נוספות. האפשרות הזו נקראת הצפנת ברירת המחדל של Google.
אם אתם רוצים לשלוט במפתחות ההצפנה, אתם יכולים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) ב-Cloud KMS עם שירותים שמשולבים ב-CMEK, כולל Dataproc Metastore. שימוש במפתחות של Cloud KMS מאפשר לכם לשלוט ברמת ההגנה, במיקום, בלוח הזמנים של הרוטציה, בשימוש ובהרשאות הגישה, ובגבולות הקריפטוגרפיים. בנוסף, באמצעות Cloud KMS תוכלו לצפות ביומני ביקורת ולשלוט במחזורי החיים של המפתחות. במקום ש-Google תהיה הבעלים של מפתחות ההצפנה (KEK) הסימטריים שמגנים על הנתונים שלכם ותנהל אותם, אתם שולטים במפתחות האלה ומנהלים אותם ב-Cloud KMS.
אחרי שמגדירים את המשאבים עם CMEK, חוויית הגישה למשאבי Dataproc Metastore דומה לשימוש בהצפנה שמוגדרת כברירת מחדל ב-Google. מידע נוסף על אפשרויות ההצפנה זמין במאמר מפתחות הצפנה בניהול הלקוח (CMEK).
לפני שמתחילים
לתשומת ליבכם
כשמשתמשים ב-Dataproc Metastore עם CMEK, חשוב לזכור את הנקודות הבאות.
מסד הנתונים של Cloud Monitoring לא תומך בהצפנת CMEK. במקום זאת,Google Cloud משתמש במפתחות הצפנה של Google כדי להגן על השמות ועל הגדרות השירות של שירותי Dataproc Metastore.
אם רוצים שהשירות Dataproc Metastore יפעל בתוך גבולות גזרה של VPC Service Controls, צריך להוסיף את Cloud Key Management Service (Cloud KMS) API לגבולות הגזרה.
כשמשתמשים במפתח Cloud External Key Manager, ל-Google אין שליטה על הזמינות של המפתח שמנוהל חיצונית. אם המפתח לא יהיה זמין במהלך התקופה שבה נוצר שירות Dataproc Metastore, יצירת השירות תיכשל. אחרי שיוצרים שירות Dataproc Metastore, אם המפתח לא זמין, השירות לא זמין עד שהמפתח יהיה זמין שוב. שיקולים נוספים לשימוש במפתחות חיצוניים מפורטים במאמר שיקולים לשימוש ב-Cloud EKM.
מגבלות
חשוב להביא בחשבון את המגבלות הבאות כשמשתמשים ב-Dataproc Metastore עם CMEK.
אי אפשר להפעיל CMEK בשירות קיים.
אי אפשר לבצע רוטציה של מפתחות CMEK שמשמשים שירותים עם CMEK.
אי אפשר להשתמש במפתחות CMEK כדי להצפין נתוני משתמשים בזמן ההעברה, כמו שאילתות ותשובות של משתמשים.
הגדרת CMEK ל-Dataproc Metastore
אם עדיין אין לכם מפתח Cloud KMS, אתם יכולים ליצור אחד לשירות Dataproc Metastore. אחרת, אפשר לדלג על השלב הזה ולהשתמש במפתח קיים.
אופציונלי: יצירת מפתח Cloud KMS חדש
כדי ליצור מפתח Cloud KMS, קודם יוצרים אוסף מפתחות ואז יוצרים מפתח שמאוחסן בתוך אוסף המפתחות.
כדי ליצור אוסף מפתחות
כדי ליצור אוסף מפתחות, מריצים את הפקודה הבאה של gcloud kms keyrings create.
gcloud kms keyrings create KEY_RING \ --project=PROJECT_ID \ --location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_RING: שם לאוסף המפתחות. -
PROJECT_ID: המזהה של Google Cloud הפרויקט שבו רוצים ליצור את מחזיק המפתחות. -
LOCATION: האזור שבו רוצים ליצור את מאגר המפתחות.
כדי ליצור מפתח
כדי ליצור מפתח שמאוחסן בתוך מחזיק המפתחות, מריצים את הפקודה הבאה של gcloud kms keys create.
gcloud kms keys create KEY_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --keyring=KEY_RING \ --purpose=encryption
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של מחזיק המפתחות שיצרתם בשלב הקודם.
מתן הרשאות למפתחות Cloud KMS
כדי להעניק הרשאות למפתח Cloud KMS עבור Dataproc Metastore, משתמשים בפקודות הבאות:
נותנים הרשאות לחשבון השירות של סוכן השירות של Dataproc Metastore:
gcloud kms keys add-iam-policy-binding KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --member=serviceAccount:$(gcloud beta services identity create \ --service=metastore.googleapis.com 2>&1 | awk '{print $4}') \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
מעניקים הרשאות לחשבון השירות ב-Cloud Storage:
gcloud storage service-agent --authorize-cmek projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
יצירת שירות באזור יחיד עם מפתח CMEK
כדי להגדיר הצפנת CMEK לשירות Dataproc Metastore באזור יחיד:
המסוף
במסוף Google Cloud , עוברים לדף Dataproc Metastore:
בראש הדף Dataproc Metastore, לוחצים על יצירה.
ייפתח הדף Create service.
מגדירים את השירות לפי הצורך.
בקטע הצפנה, לוחצים על מפתח הצפנה בניהול הלקוח (CMEK).
בוחרים את המפתח המנוהל על ידי הלקוח.
לוחצים על שליחה.
אימות של הגדרות ההצפנה של השירות:
במסוף Google Cloud , עוברים לדף Dataproc Metastore:
בדף Dataproc Metastore, לוחצים על שם השירות שרוצים להציג.
ייפתח הדף פרטי השירות.
בכרטיסייה Configuration, מוודאים שהפרטים מראים ש-CMEK מופעל.
gcloud
כדי ליצור שירות באזור יחיד עם הצפנה באמצעות CMEK, מריצים את הפקודהGoogle Cloud
gcloud metastore services create:gcloud metastore services create SERVICE \ --encryption-kms-key=KMS_KEY
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE: השם של השירות החדש. -
KMS_KEY: מזהה משאב המפתח.
-
ייבוא וייצוא של נתונים משירות שמופעל בו CMEK
אם רוצים שהנתונים יישארו מוצפנים באמצעות מפתח בניהול הלקוח במהלך ייבוא, צריך להגדיר CMEK בקטגוריה של Cloud Storage לפני ייבוא הנתונים ממנה.
אפשר לייבא מקטגוריה של Cloud Storage שלא מוגנת באמצעות CMEK. אחרי הייבוא, הנתונים שמאוחסנים ב-Dataproc Metastore מוגנים בהתאם להגדרות ה-CMEK של שירות היעד.
במהלך הייצוא, ה-dump של מסד הנתונים המיוצא מוגן בהתאם להגדרות ה-CMEK של קטגוריית האחסון של היעד.