הצפנה של דיסק אתחול של מכונת TPU וירטואלית באמצעות מפתח הצפנה בניהול הלקוח (CMEK) עם Compute Engine

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

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

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

כדי להשתמש במפתח CMEK, צריך ליצור אוסף מפתחות. יוצרים את אוסף המפתחות באותו מיקום שבו יוצרים את TPU VM או את חלוקת ה-TPU. לדוגמה, מכונה וירטואלית של TPU באזור us-central1-a יכולה להשתמש רק במפתח באזור us-central1.

לאחר מכן, יוצרים מפתח באוסף המפתחות. אחרי שיוצרים מפתח CMEK, מאפשרים לחשבון השירות של Compute Engine לגשת למפתח.

מתן הרשאה לשימוש במפתח

נותנים לסוכן השירות של Compute Engine‏ () בפרויקט Google Cloud את תפקיד ה-IAM‏ Cloud KMS CryptoKey Encrypter/Decrypter‏ (roles/cloudkms.cryptoKeyEncrypterDecrypter) במפתח Cloud KMS. הענקת התפקיד הזה מאפשרת לשירות Compute Engine לגשת למפתח ההצפנה שלכם ולהשתמש בו.

כדי להעניק את התפקיד roles/cloudkms.cryptoKeyEncrypterDecrypter לסוכן השירות של Compute Engine, בוחרים באחת מהאפשרויות הבאות:

gcloud

מריצים את הפקודה הבאה:

gcloud kms keys add-iam-policy-binding KEY_NAME \
    --location LOCATION \
    --keyring RING_NAME \
    --member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
    --role roles/cloudkms.cryptoKeyEncrypterDecrypter \
    --project KEY_PROJECT_ID

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

  • KEY_NAME: השם של המפתח.
  • LOCATION: המיקום שבו יצרתם את אוסף המפתחות.
  • RING_NAME: השם של אוסף המפתחות.
  • PROJECT_NUMBER: מספר הפרויקט ב- Google Cloud .
  • KEY_PROJECT_ID: מזהה פרויקט המפתח.

המסוף

  1. נכנסים לדף Key management במסוף Google Cloud .

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

  2. לוחצים על השם של אוסף המפתחות שמכיל את המפתח.

  3. לוחצים על שם המפתח שרוצים לשנות.

  4. לוחצים על הרשאות.

  5. לוחצים על הענקת גישה. נפתחת החלונית הענקת גישה.

  6. בשדה New principals, מזינים את השם של סוכן השירות של Compute Engine:

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

    מחליפים את PROJECT_NUMBER במספר הפרויקט ב- Google Cloud .

  7. בתפריט Select a role, בוחרים באפשרות Cloud KMS CryptoKey Encrypter/Decrypter.

  8. לוחצים על Save.

יצירת מכונת TPU וירטואלית עם CMEK

אפשר לציין CMEK כשיוצרים מכונת TPU וירטואלית או תבנית של הגדרות מכונה לקבוצת מופעי מכונה מנוהלים (MIG) באמצעות הדגל --boot-disk-kms-key.

יצירת מכונה וירטואלית יחידה של TPU עם CMEK

כדי לציין CMEK כשיוצרים מכונת TPU וירטואלית יחידה, משתמשים בדגל --boot-disk-kms-key בפקודה gcloud compute instances create:

  gcloud compute instances create TPU_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --maintenance-policy=TERMINATE \
    --boot-disk-kms-key=projects/KEY_PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME

מחליפים את ה-placeholders הבאים:

  • TPU_NAME: שם למכונת ה-TPU הווירטואלית.
  • MACHINE_TYPE: סוג המכונה של מכונת ה-TPU VM, לדוגמה, ct6e-standard-8t.
  • IMAGE_FAMILY: משפחת תמונות מערכת ההפעלה של ה-TPU VM. אם רוצים להתקין גרסה ספציפית של מערכת ההפעלה, משתמשים בדגל --image. מידע נוסף על תמונות של מערכת ההפעלה זמין במאמר תמונות של מערכת ההפעלה.
  • IMAGE_PROJECT: הפרויקט שמכיל את תמונת מערכת ההפעלה. בתמונות TPU, הערך הוא ubuntu-os-accelerator-images.
  • ZONE: האזור של ה-TPU VM, לדוגמה, us-central1-b.
  • KEY_PROJECT_ID: הפרויקט שמכיל את מפתח ההצפנה.
  • REGION: האזור שבו יצרתם את אוסף המפתחות.
  • RING_NAME: השם של אוסף המפתחות.
  • KEY_NAME: השם של המפתח.

יצירת קבוצת MIG עם פרוסת מארח יחיד באמצעות CMEK

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

  1. יוצרים תבנית של הגדרות מכונה באמצעות הדגל --boot-disk-kms-key:

    gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
        --machine-type=MACHINE_TYPE \
        --maintenance-policy=TERMINATE \
        --image-family=IMAGE_FAMILY \
        --image-project=IMAGE_PROJECT \
        --boot-disk-kms-key=projects/KEY_PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
    

    מחליפים את ה-placeholders הבאים:

    • INSTANCE_TEMPLATE_NAME: שם לתבנית של הגדרות המכונה.
    • MACHINE_TYPE: סוג המכונה של מכונת ה-TPU VM, לדוגמה, ct6e-standard-8t.
    • IMAGE_FAMILY: משפחת תמונות מערכת ההפעלה של מכונת ה-TPU. אם רוצים להתקין גרסה ספציפית של מערכת ההפעלה, משתמשים בדגל --image. מידע נוסף על תמונות של מערכת ההפעלה זמין במאמר תמונות של מערכת ההפעלה.
    • IMAGE_PROJECT: הפרויקט שמכיל את תמונת מערכת ההפעלה. בתמונות TPU, הערך הוא ubuntu-os-accelerator-images.
    • KEY_PROJECT_ID: הפרויקט שמכיל את מפתח ההצפנה.
    • REGION: האזור שבו יצרתם את אוסף המפתחות.
    • RING_NAME: השם של אוסף המפתחות.
    • KEY_NAME: השם של המפתח.
  2. יוצרים קבוצת מופעים מנוהלת (MIG) באמצעות התבנית:

    gcloud compute instance-groups managed create MIG_NAME \
        --size=MIG_SIZE \
        --template=INSTANCE_TEMPLATE_NAME \
        --zone=ZONE \
        --size=MIG_SIZE
    

    מחליפים את ה-placeholders הבאים:

    • MIG_NAME: שם לקבוצת ה-MIG.
    • MIG_SIZE: מספר מכונות ה-TPU הווירטואליות ב-MIG.
    • INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה שבה רוצים להשתמש.
    • ZONE: האזור של ה-TPU VM, לדוגמה, us-central1-b.
    • MIG_SIZE: מספר מכונות ה-TPU הווירטואליות ב-MIG. ב-TPU VM עם מארח יחיד, מגדירים את הגודל ל-1.

יצירת MIG עם פרוסת אירוח מרובה באמצעות CMEK

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

  1. יוצרים את תבנית של הגדרות מכונה.

    gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME
        --machine-type=MACHINE_TYPE \
        --maintenance-policy=TERMINATE \
        --image-family=IMAGE_FAMILY \
        --image-project=IMAGE_PROJECT \
        --boot-disk-kms-key=projects/KEY_PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
    

    מחליפים את ה-placeholders הבאים:

    • INSTANCE_TEMPLATE_NAME: שם לתבנית של הגדרות המכונה.
    • MACHINE_TYPE: סוג המכונה של מכונת ה-TPU VM, לדוגמה, ct6e-standard-8t.
    • IMAGE_FAMILY: משפחת תמונות מערכת ההפעלה של מכונת ה-TPU. אם רוצים להתקין גרסה ספציפית של מערכת ההפעלה, משתמשים בדגל --image. מידע נוסף על תמונות של מערכת ההפעלה זמין במאמר תמונות של מערכת ההפעלה.
    • IMAGE_PROJECT: הפרויקט שמכיל את תמונת מערכת ההפעלה. בתמונות TPU, הערך הוא ubuntu-os-accelerator-images.
    • KEY_PROJECT_ID: הפרויקט שמכיל את מפתח ההצפנה.
    • REGION: האזור שבו יצרתם את אוסף המפתחות.
    • RING_NAME: השם של אוסף המפתחות.
    • KEY_NAME: השם של המפתח.
  2. יוצרים מדיניות של עומס עבודה.

    הפקודה הבאה יוצרת מדיניות של עומס עבודה:

    gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
    --type=high-throughput \
    --accelerator-topology=TOPOLOGY
    

    מחליפים את ה-placeholders הבאים:

    • WORKLOAD_POLICY_NAME: השם של מדיניות עומס העבודה.
    • TOPOLOGY: הטופולוגיה של מכונות ה-TPU הווירטואליות, לדוגמה, 4x4x8.
  3. יוצרים את ה-MIG.

    gcloud compute instance-groups managed create MIG_NAME \
        --size=MIG_SIZE \
        --target-size-policy-mode=bulk \
        --template=INSTANCE_TEMPLATE_NAME \
        --zone=ZONE \
        --default-action-on-vm-failure=do-nothing \
        --workload-policy=WORKLOAD_POLICY_NAME
    

    מחליפים את ה-placeholders הבאים:

    • MIG_NAME: השם של קבוצת ה-MIG.
    • MIG_SIZE: מספר המכונות הווירטואליות ב-MIG. הערך הזה מאומת מול הטופולוגיה שצוינה במדיניות של עומס העבודה.
    • INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
    • ZONE: האזור של ה-MIG.
    • WORKLOAD_POLICY_NAME: השם של מדיניות עומס העבודה.

מידע על יצירת מכונות וירטואליות של TPU עם מפתחות הצפנה בניהול הלקוח (CMEK) באמצעות GKE זמין במאמר שימוש במפתחות הצפנה בניהול הלקוח במסמכי התיעוד של GKE.

מפתחות CMEK שנמחקו או שבוטלו

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