הצפנה של דיסק האתחול של מכונת TPU VM באמצעות מפתח הצפנה בניהול הלקוח (CMEK)
כברירת מחדל, 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, צריך ליצור אוסף מפתחות.
צריך ליצור את אוסף המפתחות באותו מיקום שבו מתכננים ליצור את Cloud TPU. לדוגמה, Cloud TPU בתחום us-central1-a יכול להשתמש רק במפתח באזור us-central1.
לאחר מכן, יוצרים מפתח באוסף המפתחות. אחרי שיוצרים מפתח CMEK, צריך להעניק לחשבון השירות של Compute Engine גישה למפתח.
מתן הרשאה לשימוש במפתח
צריך להעניק את תפקיד ה-IAM Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) במפתח Cloud KMS לסוכן השירות של Compute Engine בפרויקט Google Cloud . הענקת התפקיד הזה מאפשרת לשירות 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: מזהה הפרויקט של המפתח.
המסוף
- נכנסים לדף Key management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שמכיל את המפתח.
לוחצים על השם של המפתח שרוצים לשנות.
לוחצים על הכרטיסייה Permissions.
לוחצים על Grant access. החלונית Grant access to key תיפתח.
בשדה New principals, מזינים את השם של סוכן השירות של Compute Engine:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.comמחליפים את
PROJECT_NUMBERבמספר הפרויקט ב- Google Cloud.בתפריט Select a role, בוחרים באפשרות Cloud KMS CryptoKey Encrypter/Decrypter.
לוחצים על Save.
יצירת TPU VM עם CMEK
אפשר לציין CMEK כשיוצרים מכונת TPU וירטואלית באמצעות TPU API או QueuedResources API.
TPU API
כדי לציין מפתח CMEK כשיוצרים מכונת TPU וירטואלית באמצעות Cloud TPU API, משתמשים בארגומנט --boot-disk של הפקודה tpu-vm create כדי לציין את מפתח ההצפנה שבו רוצים להשתמש:
gcloud compute tpus tpu-vm create TPU_NAME \
--zone ZONE \
--boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
--version=TPU_RUNTIME_VERSION \
--accelerator-type=ACCLERATOR_TYPE
מחליפים את מה שכתוב בשדות הבאים:
-
TPU_NAME: השם של מכונת ה-TPU הווירטואלית. -
ZONE: האזור שבו אתם מתכננים ליצור את Cloud TPU. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
REGION: האזור שבו יצרתם את אוסף המפתחות. -
RING_NAME: השם של אוסף המפתחות. -
KEY_NAME: שם המפתח. -
TPU_RUNTIME_VERSION: גרסת התוכנה של Cloud TPU. -
ACCELERATOR_TYPE: סוג המאיץ של Cloud TPU שרוצים ליצור. מידע נוסף על סוגי המאיצים הנתמכים בכל גרסת TPU זמין במאמר גרסאות TPU.
Queued Resources API
כדי לציין מפתח CMEK כשיוצרים מכונת TPU וירטואלית באמצעות Queued Resources API, משתמשים בארגומנט --bootdisk של הפקודה queued-resources create כדי לציין את מפתח ההצפנה שבו רוצים להשתמש:
gcloud compute tpus queued-resources create QUEUED_RESOURCE_ID \
--zone ZONE \
--node-id NODE_ID \
--boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
--runtime-version=TPU_RUNTIME_VERSION \
--accelerator-type=ACCLERATOR_TYPE
מחליפים את מה שכתוב בשדות הבאים:
-
QUEUED_RESOURCE_ID: המזהה שהמשתמש הקצה לבקשת המשאב שנוספה לתור. -
ZONE: האזור שבו אתם מתכננים ליצור את Cloud TPU. -
NODE_ID: מזהה Cloud TPU שהוקצה על ידי המשתמש, שנוצר כשבקשת המשאב שבהמתנה מוקצית. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
REGION: האזור שבו יצרתם את אוסף המפתחות. -
RING_NAME: השם של אוסף המפתחות. -
KEY_NAME: שם המפתח. -
TPU_RUNTIME_VERSION: גרסת התוכנה של Cloud TPU. -
ACCELERATOR_TYPE: סוג המאיץ של Cloud TPU שרוצים ליצור. מידע נוסף על סוגי המאיצים הנתמכים בכל גרסת TPU זמין במאמר גרסאות TPU.
מידע על יצירת מכונות וירטואליות של TPU עם מפתחות הצפנה בניהול הלקוח (CMEK) באמצעות GKE זמין במאמר שימוש במפתחות הצפנה בניהול הלקוח במסמכי התיעוד של GKE.
מפתחות CMEK שנמחקו או שבוטלו
אם מוחקים או מבטלים הרשאה של CMEK, מכונת TPU וירטואלית שמשתמשת בדיסק אתחול מוצפן עם CMEK שנמחק או שההרשאה שלו בוטלה לא תכובה אוטומטית. מכונת ה-TPU הווירטואלית עדיין תוכל לגשת לנתונים בדיסק האתחול המוצפן עד שהמכונה הווירטואלית תכובה או תופעל מחדש. כך תוכלו לשחזר את הנתונים אם תשחזרו את הגישה למפתח שבוטלה או נמחק. אם מפעילים מחדש מפתח, אפשר להפעיל או לתקן את מכונת ה-TPU הווירטואלית, ודיסק האתחול יפוענח וייטען בהצלחה.