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

בדף הזה מוסבר איך להשתמש במפתח הצפנה של Cloud Key Management Service‏ (Cloud KMS) עם Cloud Data Fusion.

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

אם אתם רוצים לשלוט במפתחות ההצפנה, אתם יכולים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) ב-Cloud KMS עם שירותים שמשולבים ב-CMEK, כולל Cloud Data Fusion. שימוש במפתחות Cloud KMS מאפשר לכם לשלוט ברמת ההגנה, במיקום, בלוח הזמנים של הרוטציה, בשימוש ובהרשאות הגישה, ובגבולות הקריפטוגרפיים. שימוש ב-Cloud KMS מאפשר גם לעקוב אחרי השימוש במפתחות, לצפות ביומני ביקורת ולשלוט במחזורי החיים של המפתחות. במקום ש-Google תהיה הבעלים של המפתחות הסימטריים להצפנת מפתחות (KEK) שמגנים על הנתונים שלכם ותנהל אותם, אתם שולטים במפתחות האלה ומנהלים אותם ב-Cloud KMS.

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

‫Cloud Data Fusion תומך במעקב אחר השימוש במפתחות Cloud KMS עבור המשאב Instance.

בעזרת CMEK תוכלו לשלוט בנתונים שנכתבים למשאבים פנימיים של Google בפרויקטים של דיירים ובנתונים שנכתבים על ידי צינורות של Cloud Data Fusion, כולל:

  • יומנים ומטא-נתונים של צינורות
  • מטא-נתונים של אשכולות ב-Managed Service for Apache Spark
  • מגוון של מקורות, פעולות ויעדים של נתונים ב-Cloud Storage,‏ BigQuery,‏ Pub/Sub ו-Spanner

משאבים של Cloud Data Fusion

במאמר הזה מפורטת רשימת התוספים הנתמכים של Cloud Data Fusion עם תמיכה ב-CMEK.

‫Cloud Data Fusion תומך ב-CMEK עבור אשכולות של Managed Service for Apache Spark. ‫Cloud Data Fusion יוצר אשכול זמני של Managed Service for Apache Spark לשימוש בפייפליין, ואז מוחק את האשכול כשהפייפליין מסתיים. מפתחות CMEK מגנים על המטא-נתונים של האשכול שנכתבים במיקומים הבאים:

  • דיסקים לאחסון מתמיד (PD) שמצורפים למכונות וירטואליות של אשכול
  • פלט של מנהל המשימות ומטא-נתונים אחרים שנכתבים אל מאגר הזמני של Managed Service for Apache Spark שנוצר אוטומטית או על ידי המשתמש

הגדרת CMEK

יצירת מפתח Cloud KMS

יוצרים מפתח Cloud KMS ב Google Cloud פרויקט שמכיל את מכונת Cloud Data Fusion או בפרויקט משתמש נפרד. המיקום של אוסף המפתחות של Cloud KMS צריך להיות זהה לאזור שבו אתם יוצרים את המופע. אסור להשתמש במפתח של אזור גלובלי או של כמה אזורים ברמת המופע, כי Cloud Data Fusion תמיד משויך לאזור מסוים.

קבלת שם המשאב של המפתח

‫API בארכיטקטורת REST

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

projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: פרויקט הלקוח שמארח את המופע של Cloud Data Fusion
  • REGION: אזור Google Cloud שקרוב למיקום שלכם – לדוגמה, us-east1
  • KEY_RING_NAME: השם של אוסף המפתחות שמקבץ את המפתחות הקריפטוגרפיים
  • KEY_NAME: שם המפתח ב-Cloud KMS

המסוף

  1. עוברים לדף ניהול מפתחות.

    מעבר אל 'ניהול מפתחות'

  2. לצד המפתח, לוחצים על סמל האפשרויות הנוספות .

  3. בוחרים באפשרות העתקת שם המשאב כדי להעתיק את שם המשאב ללוח.

עדכון חשבונות השירות בפרויקט כדי להשתמש במפתח

כדי להגדיר את חשבונות השירות של הפרויקט לשימוש במפתח:

  1. חובה: צריך להעניק את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter‏ (roles/cloudkms.cryptoKeyEncrypterDecrypter) לסוכן השירות של Cloud Data Fusion (ראו הענקת תפקידים לחשבון שירות למשאבים ספציפיים). החשבון הזה הוא בפורמט הבא:

    service-PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com

    הקצאת התפקיד Cloud KMS CryptoKey Encrypter/Decrypter לסוכן השירות של Cloud Data Fusion מאפשרת ל-Cloud Data Fusion להשתמש ב-CMEK כדי להצפין נתוני לקוחות שמאוחסנים בפרויקטים של דיירים.

  2. חובה: צריך להעניק את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter לסוכן השירות של Compute Engine (ראו הקצאת מפתח Cloud KMS לחשבון שירות של Cloud Storage). החשבון הזה, שמוענק לו כברירת מחדל התפקיד 'סוכן שירות של Compute Engine', הוא מהצורה:

    service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com

    הענקת התפקיד Cloud KMS CryptoKey Encrypter/Decrypter לסוכן השירות של Compute Engine מאפשרת ל-Cloud Data Fusion להשתמש ב-CMEK כדי להצפין מטא-נתונים של דיסק קשיח (PD) שנכתבו על ידי אשכול Managed Service for Apache Spark שפועל בצינור הנתונים.

  3. חובה: צריך להעניק לסוכן השירות של Cloud Storage את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter (ראו הקצאת מפתח Cloud KMS לסוכן שירות של Cloud Storage). סוכן השירות הוא מהצורה:

    service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com

    הענקת התפקיד הזה לסוכן השירות של Cloud Storage מאפשרת ל-Cloud Data Fusion להשתמש ב-CMEK כדי להצפין את הקטגוריה של Cloud Storage שבה מאוחסנים ונשמרים במטמון נתונים ופרטים על צינור עיבוד הנתונים, וגם את הקטגוריה של מחסן הביניים של אשכול Managed Service for Apache Spark וכל קטגוריה אחרת של Cloud Storage בפרויקט שבה נעשה שימוש בצינור עיבוד הנתונים.

  4. חובה: צריך להעניק את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter לסוכן השירות של Google Cloud Dataproc. סוכן השירות הזה הוא מהצורה:

    service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.com

  5. אופציונלי: אם צינור הנתונים משתמש במשאבי BigQuery, צריך להעניק לחשבון השירות של BigQuery את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter (ראו הענקת הרשאה להצפנה ולפענוח). החשבון הזה הוא מהצורה:

    bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.com

  6. אופציונלי: אם צינור העיבוד משתמש במשאבי Pub/Sub, צריך להעניק לחשבון השירות של Pub/Sub את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter (ראו שימוש במפתחות הצפנה בניהול הלקוח). החשבון הזה הוא מהסוג:

    service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com

  7. אופציונלי: אם הצינור משתמש במשאבי Spanner, צריך להעניק לחשבון השירות של Spanner את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter. החשבון הזה הוא מהצורה:

    service-PROJECT_NUMBER@gcp-sa-spanner.iam.gserviceaccount.com

יצירת מכונת Cloud Data Fusion עם CMEK

ה-CMEK זמין בכל המהדורות של Cloud Data Fusion בגרסה 6.5.0 ואילך.

‫API בארכיטקטורת REST

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

    export PROJECT=PROJECT_ID
    export LOCATION=REGION
    export INSTANCE=INSTANCE_ID
    export DATA_FUSION_API_NAME=datafusion.googleapis.com
    export KEY=KEY_NAME
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT_ID: פרויקט הלקוח שמארח את מכונת Cloud Data Fusion
    • REGION: אזור Google Cloud שקרוב למיקום שלכם. לדוגמה, us-east1
    • INSTANCE_ID: השם של מכונת Cloud Data Fusion
    • KEY_NAME: שם המשאב המלא של מפתח ה-CMEK
  2. מריצים את הפקודה הבאה כדי ליצור מכונת Cloud Data Fusion:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instance_id=INSTANCE -X POST -d '{"description": "CMEK-enabled CDF instance created through REST.", "type": "BASIC", "cryptoKeyConfig": {"key_reference": "$KEY"} }'
    

המסוף

  1. עוברים לדף Cloud Data Fusion.

  2. לוחצים על Instances (מופעים) ואז על Create an instance (יצירת מופע).

    כניסה לדף Instances

  3. בקטע Advanced options, בוחרים באפשרות Use a customer-managed encryption key (CMEK).

  4. בשדה Select a customer-managed key, בוחרים את שם המשאב של המפתח.

    בחירת השם של מפתח ההצפנה

  5. אחרי שמזינים את כל פרטי המופע, לוחצים על יצירה. כשהמופע מוכן לשימוש, הוא מופיע בדף Instances.

איך בודקים אם CMEK מופעל במופע

המסוף

צופים בפרטי המופע:

  1. במסוף Google Cloud , נכנסים לדף Cloud Data Fusion.

  2. לוחצים על Instances (מכונות), ואז לוחצים על שם המכונה כדי לעבור לדף Instance details (פרטי המכונה).

    כניסה לדף Instances

אם CMEK מופעל, השדה מפתח הצפנה מוצג כזמין.

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

שימוש ב-CMEK עם פלאגינים נתמכים

כשמגדירים את שם מפתח ההצפנה, משתמשים בפורמט הבא:

projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

שמות של מפתחות הצפנה

בטבלה הבאה מתוארת ההתנהגות של המפתח בתוספים של Cloud Data Fusion שתומכים ב-CMEK.

פלאגינים נתמכים התנהגות המקש
יעדים (sinks) ב-Cloud Data Fusion
Cloud Storage הנתונים שנכתבים לכל דלי שנוצר על ידי התוסף מוצפנים. אם הדלי כבר קיים, המערכת מתעלמת מהערך הזה.
Cloud Storage multi-file הנתונים שנכתבים לכל דלי שנוצר על ידי התוסף מוצפנים.
BigQuery התוסף מצפין נתונים שנכתבים לכל קטגוריה, מערך נתונים או טבלה שנוצרו על ידי התוסף.
טבלה מרובת מקורות ב-BigQuery התוסף מצפין נתונים שנכתבים לכל קטגוריה, מערך נתונים או טבלה שנוצרו על ידי התוסף.
Pub/Sub הנתונים שנכתבים לכל נושא שנוצר על ידי התוסף מוצפנים. אם הנושא כבר קיים, המערכת מתעלמת מהערך הזה.
Spanner הנתונים שנכתבים לכל מסד נתונים שנוצר על ידי התוסף מוצפנים. אם מסד הנתונים כבר קיים, המערכת מתעלמת מהערך הזה.
פעולות ב-Cloud Data Fusion
Cloud Storage Create
Cloud Storage Copy
Cloud Storage Move
Cloud Storage Done File Marker
הנתונים שנכתבים לכל דלי שנוצר על ידי התוסף מוצפנים. אם הדלי כבר קיים, המערכת מתעלמת מהערך הזה.
BigQuery Execute הנתונים שנכתבים למערך הנתונים או לטבלה שהתוסף יוצר כדי לאחסן את תוצאות השאילתה מוצפנים. האפשרות הזו רלוונטית רק אם מאחסנים את תוצאות השאילתה בטבלה ב-BigQuery.
מקורות של Cloud Data Fusion
מקור BigQuery הנתונים שנכתבים לכל דלי שנוצר על ידי התוסף מוצפנים. אם הדלי כבר קיים, המערכת מתעלמת מהערך הזה.
מנוע SQL של Cloud Data Fusion
‫BigQuery Pushdown Engine התוסף מצפין נתונים שנכתבים לכל דלי, מערך נתונים או טבלה שנוצרו על ידי התוסף.

שימוש ב-CMEK עם מטא-נתונים של אשכול Managed Service for Apache Spark

פרופילי החישוב שנוצרו מראש משתמשים במפתח CMEK שסופק במהלך יצירת המופע כדי להצפין את הדיסק הקשיח (PD) ואת המטא-נתונים של מאגר הנתונים הזמני שנכתבו על ידי אשכול Managed Service for Apache Spark שפועל בצינור הנתונים. כדי לשנות את המפתח, אפשר לבצע אחת מהפעולות הבאות:

  • מומלץ: ליצור פרופיל חדש של מחשוב Managed Service for Apache Spark (מהדורת Enterprise בלבד).
  • עריכה של פרופיל קיים של מחשוב Managed Service for Apache Spark (מהדורות Developer,‏ Basic או Enterprise).

המסוף

  1. פותחים את מכונת Cloud Data Fusion:

    1. במסוף Google Cloud , נכנסים לדף Cloud Data Fusion.

    2. כדי לפתוח את המכונה ב-Cloud Data Fusion Studio, לוחצים על Instances (מכונות) ואז על View instance (הצגת מכונה).

      כניסה לדף Instances

  2. לוחצים על System Admin (אדמין מערכת) > Configuration (הגדרה).

  3. לוחצים על התפריט הנפתח System Compute Profiles (פרופילים של מערכת לחישוב).

  4. לוחצים על יצירת פרופיל חדש ובוחרים באפשרות Managed Service for Apache Spark.

  5. מזינים תווית פרופיל, שם פרופיל ותיאור.

  6. כברירת מחדל, Managed Service for Apache Spark יוצר קטגוריות staging ו-temp בכל פעם ש-Cloud Data Fusion יוצר אשכול זמני. ‫Cloud Data Fusion תומך בהעברת קטגוריית האחסון הזמני של Managed Service for Apache Spark כארגומנט בפרופיל המחשוב. כדי להצפין את באקט הביניים, יוצרים באקט עם CMEK ומעבירים אותו כארגומנט ל-Managed Service for Apache Spark בפרופיל המחשוב.

  7. כברירת מחדל, Cloud Data Fusion יוצר באופן אוטומטי קטגוריה של Cloud Storage כדי לאחסן זמנית תלות שמשמשת את Managed Service for Apache Spark. אם אתם מעדיפים להשתמש בקטגוריית Cloud Storage שכבר קיימת בפרויקט, אתם יכולים לפעול לפי השלבים הבאים:

    1. בקטע General Settings (הגדרות כלליות), מזינים את הקטגוריה הקיימת של Cloud Storage בשדה Cloud Storage Bucket (קטגוריה של Cloud Storage).

    2. הוספת מפתח Cloud KMS לקטגוריה של Cloud Storage.

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

  9. לוחצים על יצירה.

  10. אם יותר מפרופיל אחד מופיע בקטע System Compute Profiles בכרטיסייה Configuration, כדי להגדיר את הפרופיל החדש של Managed Service for Apache Spark כפרופיל ברירת המחדל, מעבירים את מצביע העכבר מעל שדה שם הפרופיל ולוחצים על הכוכב שמופיע.

    בוחרים פרופיל ברירת מחדל.

שימוש ב-CMEK עם משאבים אחרים

מפתח ה-CMEK שצוין מוגדר כהעדפת המערכת במהלך יצירת מכונת Cloud Data Fusion. הוא משמש להצפנת נתונים שנכתבים למשאבים שנוצרו לאחרונה על ידי יעד של צינורות, כמו Cloud Storage, ‏ BigQuery, ‏ Pub/Sub או יעד של Spanner.

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

כדי לשנות את מפתח ה-CMEK, אפשר לבצע אחת מהפעולות הבאות:

  • להשתמש בארגומנט של זמן ריצה.
  • הגדרת העדפה של מערכת Cloud Data Fusion.

ארגומנט של זמן ריצה

  1. בדף Pipeline Studio של Cloud Data Fusion, לוחצים על החץ לתפריט הנפתח משמאל ללחצן Run (הפעלה).
  2. בשדה שם מזינים gcp.cmek.key.name.
  3. בשדה Value (ערך), מזינים את מזהה המשאב של המפתח.
    בוחרים מהדורת Data Fusion.
  4. לוחצים על Save.

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

העדפה

  1. בממשק המשתמש של Cloud Data Fusion, לוחצים על SYSTEM ADMIN (ניהול מערכת).
  2. לוחצים על הכרטיסייה Configuration.
  3. לוחצים על התפריט הנפתח העדפות המערכת.
  4. לוחצים על עריכת העדפות המערכת.
  5. בשדה מפתח, מזינים gcp.cmek.key.name.
  6. בשדה Value (ערך), מזינים את מזהה המשאב של המפתח.
    בוחרים מהדורת Data Fusion.
  7. לוחצים על Save & Close (שמירה וסגירה).