שימוש ב-CMEK עם Managed Service for Apache Spark

כברירת מחדל, Managed Service for Apache Spark מצפין את תוכן הלקוחות במצב מנוחה. ‫Managed Service for Apache Spark מטפל בהצפנה בשבילכם בלי שתצטרכו לבצע פעולות נוספות. האפשרות הזו נקראת הצפנת ברירת המחדל של Google.

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

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

שימוש ב-CMEK

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

אתם יכולים להשתמש ב-Cloud Key Management Service כדי ליצור ולנהל מחזיקי מפתחות ומפתחות, או להשתמש ב-Cloud KMS Autokey כדי ליצור מחזיקי מפתחות ומפתחות באופן אוטומטי ופשוט.

שימוש ב-Cloud KMS Autokey

  1. מפעילים את Autokey בתיקייה שמכילה את הפרויקט.
  2. יצירת ידית מפתח כשיוצרים את הכינוי למפתח, מציינים dataproc.googleapis.com/Batch או dataproc.googleapis.com/Session בתור --resource-type. ‫Autokey יוצר מפתח ומקצה אותו ל-key handle.
  3. מעניקים הרשאות לחשבונות שירות ומגדירים את עומס העבודה של האצווה או הסשן לפי שלבים 4 ו-5 בקטע יצירה ושימוש במפתחות באופן ידני שבהמשך. כששולחים את עומס העבודה, מציינים את שם המשאב של ה-key handle במקום שם משאב המפתח בשדה kmsKey.

יצירה ושימוש במפתחות באופן ידני

כדי ליצור מפתחות Cloud KMS באופן ידני ולהשתמש בהם עם Managed Service for Apache Spark, פועלים לפי השלבים הבאים.

  1. יוצרים מפתח באמצעות Cloud Key Management Service ‏ (Cloud KMS).

  2. מעתיקים את שם המשאב.

    מעתיקים את שם המשאב.
    שם המשאב בנוי כך:
    projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
    

  3. מאפשרים לחשבונות השירות של Compute Engine, של Managed Service for Apache Spark ושל Cloud Storage Service Agent להשתמש במפתח:

    1. כדי להקצות את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter לחשבון השירות של סוכן השירות של Compute Engine, אפשר לעיין במאמר הגנה על משאבים באמצעות מפתחות Cloud KMS > תפקידים נדרשים. אם חשבון השירות הזה לא מופיע בדף IAM במסוף Google Cloud , לוחצים על הכללת תפקידים שהוקצו על ידי Google כדי להציג אותו.
    2. מקצים את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter לחשבון השירות של סוכן השירות Managed Service for Apache Spark. אפשר להשתמש ב-Google Cloud CLI כדי להקצות את התפקיד:

       gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
       --member serviceAccount:service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.com \
       --role roles/cloudkms.cryptoKeyEncrypterDecrypter
      

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

      KMS_PROJECT_ID: המזהה של פרויקט Google Cloud שבו פועל Cloud KMS. הפרויקט הזה יכול להיות גם הפרויקט שבו מופעלים משאבי Managed Service for Apache Spark.

      PROJECT_NUMBER: מספר הפרויקט (לא מזהה הפרויקט) של הפרויקט שבו מופעלים משאבי Managed Service for Apache Spark. Google Cloud

    3. מפעילים את Cloud KMS API בפרויקט שבו פועלים משאבי Managed Service for Apache Spark.

    4. אם תפקיד סוכן השירות של Managed Service for Apache Spark לא מצורף אל חשבון השירות של סוכן השירות של Managed Service for Apache Spark, צריך להוסיף את ההרשאה serviceusage.services.use לתפקיד המותאם אישית שמצורף אל חשבון השירות של סוכן השירות של Managed Service for Apache Spark. אם התפקיד 'סוכן שירות של Managed Service for Apache Spark' מצורף לחשבון השירות 'סוכן שירות של Managed Service for Apache Spark', אפשר לדלג על השלב הזה.

    5. פועלים לפי השלבים כדי להוסיף את המפתח לדלי.

  4. כששולחים עומס עבודה של אצווה:

    1. מציינים את המפתח בפרמטר של חבילת kmsKey.
    2. מציינים את השם של הקטגוריה ב-Cloud Storage בפרמטר stagingBucket של חבילת הבקשות.
  5. כשיוצרים סשן אינטראקטיבי או תבנית סשן:

    1. מציינים את המפתח בפרמטר של הסשן 0x0A>kmsKey.
    2. מציינים את השם של הקטגוריה ב-Cloud Storage בפרמטר של הסשן stagingBucket.