שימוש ב-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

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

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

שימוש ב-Cloud KMS Autokey

  1. מפעילים את Autokey בתיקייה שמכילה את הפרויקט.
  2. יוצרים נקודת אחיזה למפתח. כשיוצרים את ה-key handle, צריך לציין את dataproc.googleapis.com/Batch או את dataproc.googleapis.com/Session בתור --resource-type. ‫Autokey יוצר מפתח ומקצה אותו לכינוי המפתח.
  3. כדי לתת הרשאות לחשבונות שירות ולהגדיר את עומס העבודה של האצווה או הסשן, מבצעים את שלבים 4 ו-5 בקטע יצירה ושימוש במפתחות באופן ידני שבהמשך. כששולחים את עומס העבודה, מציינים את שם המשאב של נקודת הגישה למפתח במקום את שם המשאב של המפתח בשדה 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 , לוחצים על Include Google-provided role grants כדי להציג אותו.
    2. מקצים את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter לחשבון השירות של Managed Service for Apache Spark Service Agent. אפשר להשתמש ב-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: מספר הפרויקט (לא מזהה הפרויקט) של הפרויקט ב- Google Cloud שמריץ משאבים של Managed Service for Apache Spark.

    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 של ה-batch.
    2. מציינים את השם של הקטגוריה של Cloud Storage בפרמטר stagingBucket של ה-batch.
  5. כשיוצרים סשן אינטראקטיבי או פרופיל זמן ריצה (תבנית סשן), מגדירים את מפתח ההצפנה ואת קטגוריית ה-Staging:

    1. מציינים את המפתח. בדף Create a runtime profile במסוףGoogle Cloud , בקטע Additional configuration, עורכים את Network and security, בוחרים באפשרות Cloud KMS key בקטע Encryption ובוחרים את המפתח. לחלופין, אפשר לציין את המפתח בפרמטר של הסשן או של תבנית הסשן kmsKey.

    2. מציינים את השם של הקטגוריה של Cloud Storage. בדף Create a runtime profile במסוף Google Cloud , בקטע Additional configuration, עורכים את Runtime configuration ובוחרים את הקטגוריה בשדה Staging bucket. לחלופין, אפשר לציין את הקטגוריה בפרמטר stagingBucket של הסשן או של תבנית הסשן.