במאמר הזה מוסבר איך להשתמש במפתחות Cloud Key Management Service Cloud KMS שנוצרו באופן ידני כדי להצפין דיסקים ומשאבים אחרים שקשורים לאחסון. מפתחות שמנוהלים ב-Cloud KMS נקראים מפתחות הצפנה בניהול הלקוח (CMEK). אפשר להשתמש במפתחות CMEK כדי להצפין משאבים של Compute Engine, כמו דיסקים, תמונות של מכונות, קובצי snapshot מיידיים וקובצי snapshot רגילים.
לפני שמתחילים
- הבנה של דיסקים, תמונות, תמונות מצב רגילות ומכונות וירטואליות (VM).
- מחליטים אם להפעיל את Compute Engine ואת Cloud KMS באותו פרויקט Cloud de Confiance by S3NS או בפרויקטים שונים. מידע על Cloud de Confiance מזהי פרויקטים ומספרי פרויקטים זמין במאמר זיהוי פרויקטים.
- ב Cloud de Confiance פרויקט שבו פועל Cloud KMS, מבצעים את הפעולות הבאות:
מפעילים את Cloud KMS API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
- כדי ליצור נפח חדש של Hyperdisk Balanced במצב סודי, צריך לוודא שהתרחיש לדוגמה נתמך. לשם כך, כדאי לעיין במגבלות הרלוונטיות ובאזורים הנתמכים.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
תפקידים והרשאות נדרשים
סוכן השירות של Compute Engine מופיע בפורמט הבא:
service-PROJECT_NUMBER@compute-system.s3ns-system.iam.gserviceaccount.com
אפשר להשתמש ב-Google Cloud CLI כדי להקצות את התפקיד:
gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
--member serviceAccount:service-PROJECT_NUMBER@compute-system.s3ns-system.iam.gserviceaccount.com \
--role roles/cloudkms.cryptoKeyEncrypterDecrypter
מחליפים את מה שכתוב בשדות הבאים:
-
KMS_PROJECT_ID: המזהה שלCloud de Confiance הפרויקט שבו פועל Cloud KMS (גם אם זה אותו פרויקט שבו פועל Compute Engine) -
PROJECT_NUMBER: מספר הפרויקט (לא מזהה הפרויקט) של הפרויקט שבו פועלים משאבי Compute Engine. Cloud de Confiance Cloud de Confiance
כדי לוודא שלסוכן השירות של Compute Engine יש את ההרשאות הנדרשות להגנה על משאבים באמצעות מפתחות של Cloud KMS, צריך לבקש מהאדמין להעניק לסוכן השירות של Compute Engine את תפקיד ה-IAM Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) בפרויקט.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות להגנה על משאבים באמצעות מפתחות Cloud KMS. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להגן על משאבים באמצעות מפתחות Cloud KMS, נדרשות ההרשאות הבאות:
-
כדי לבצע רוטציה של מפתח הצפנה שמגן על דיסק:
compute.disks.updateKmsKey -
כדי לבצע רוטציה של מפתח הצפנה שמגן על תמונת מצב:
compute.snapshots.updateKmsKey
יכול להיות שהאדמין יוכל גם להעניק לסוכן השירות של Compute Engine את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מפרטי הצפנה
מפתחות Cloud KMS שמשמשים להגנה על הנתונים ב-Compute Engine הם מפתחות AES-256. המפתחות האלה הם מפתחות להצפנת מפתחות הצפנה, והם מצפינים את המפתחות להצפנת נתונים שמצפינים את הנתונים שלכם, ולא את הנתונים עצמם.
הנתונים בדיסקים מוצפנים באמצעות Google Cloud-powered encryption keys. מפרטים שקשורים להצפנת ברירת המחדל ב- Cloud de Confiance by S3NSמופיעים במאמר ברירת המחדל להצפנה במנוחה במסמכי האבטחה.
במצב סודי ל-Hyperdisk Balanced ול-Cloud HSM, למפתח להצפנת נתונים (DEK) יש מאפייני אבטחה נוספים עם מובלעות שמגובות בחומרה.
מגבלות
אי אפשר להצפין משאבים קיימים באמצעות CMEK. אפשר להצפין דיסקים, תמונות ותמונות מצב באמצעות CMEK רק כשיוצרים אותם.
כשיוצרים דיסק מ-snapshot מיידי שמוצפן באמצעות CMEK, צריך לציין את המפתח ששימש להצפנת דיסק המקור. לא צריך לציין את המפתח כשעובדים עם משאבים אחרים שמוצפנים באמצעות CMEK, כמו שיבוטים של דיסקים ותמונות מצב רגילות.
כשיוצרים snapshot בהיקף אזורי (בגרסת Preview) מדיסק שמוצפן באמצעות CMEK, צריך ליצור את ה-snapshot עם CMEK אזורי שנמצא באותו מיקום כמו ה-snapshot. כך תוכלו להבטיח בידוד אזורי של התמונה ולשפר את המהימנות שלה.
אי אפשר להשתמש במפתחות משלכם עם דיסקים של SSD מקומי כי המפתחות מנוהלים על ידי התשתית של Cloud de Confiance by S3NS ונמחקים כשה-VM מסתיים את הפעולה.
אפשר להצפין משאבים אזוריים (דיסקים) רק באמצעות מפתח באחד מהמיקומים הבאים של Cloud KMS:
- מפתח באותו אזור שבו נמצא הדיסק.
- מפתח במספר אזורים באותו מיקום גיאוגרפי כמו הדיסק.
- מפתח במיקום הגלובלי.
לדוגמה, אפשר להצפין דיסק באזור
us-west1-aבאמצעות מפתח במיקום הגלובלי, באזורus-west1או באזורusשכולל מספר אזורים.אפשר להצפין משאבים גלובליים (כמו תמונות ו-snapshots) באמצעות מפתחות בכל מיקום. מידע נוסף מופיע במאמר סוגי מיקומים ב-Cloud KMS.
אי אפשר לשנות או להסיר את מפתח ההצפנה של תמונה או של קובץ snapshot מואץ.
אי אפשר להסיר מפתח הצפנה של דיסק או תמונת מצב, או לשנות את המפתח מ-CMEK ל- Google Cloud-powered key. במקום זאת, יוצרים עותק של הדיסק או של ה-snapshot ומציינים סוג הצפנה חדש לעותק.
מידע נוסף זמין במאמרים בנושא הסרת CMEK מדיסק והסרת CMEK מתמונת מצב.
אי אפשר לסובב או לשנות את ה-CMEK של נפחי Confidential Hyperdisk אונליין או של נפחי Hyperdisk אונליין שמצורפים לסוגי מכונות שלא נתמכים.
אפשר לסובב או לשנות את ה-CMEK רק בסוגי הדיסקים הבאים:
- כל נפחי האחסון המתמיד (Persistent Disk)
- נפחי Hyperdisk שנוצרו מ-snapshot מיידי
- נפחי Hyperdisk אופליין
- נפחי Hyperdisk סודיים אופליין
- נפחי Hyperdisk אונליין שמצורפים לסוגי מכונות מהדור הראשון או מהדור השני
נפחי Hyperdisk אונליין שמצורפים לסוגי המכונות הבאים מהדור השלישי או הרביעי:
- A3
- A4
- Z3
- H4D
- כל הגרסאות של TPU
- סוגי המכונות Bare Metal A4X, C4, C4A, C4D, C3 ו-X4
אי אפשר לשנות את המפתח של נפחי Hyperdisk שיצרתם באמצעות שיבוט של דיסק, אלא אם מחקתם את דיסק המקור ואת כל השיבוטים האחרים של דיסק המקור.
יצירה ידנית או אוטומטית של מפתחות
אפשר ליצור מפתחות Cloud KMS באופן ידני או להשתמש ב-Cloud KMS Autokey. Autokey מפשט את יצירת המפתחות של Cloud KMS וניהול שלהם באמצעות אוטומציה של הקצאה והקצאת הרשאות. עם Autokey, אין צורך להקצות מראש מחזיקי מפתחות, מפתחות וחשבונות שירות. במקום זאת, הן נוצרות לפי דרישה כחלק מיצירת משאב ב-Compute Engine. מידע נוסף מופיע בסקירה הכללית על Autokey.
יצירה ידנית של אוסף מפתחות ומפתח
בפרויקט Cloud de Confiance שבו פועל Cloud KMS, יוצרים אוסף מפתחות ומפתח כמו שמתואר במאמר יצירה של אוספי מפתחות ומפתחות.
הצפנה של דיסק אחסון מתמיד חדש באמצעות CMEK
אפשר להצפין דיסק מתמשך חדש על ידי ציון מפתח במהלך יצירת מכונה וירטואלית או דיסק.
המסוף
- נכנסים לדף Disks במסוף Cloud de Confiance .
- לוחצים על Create disk (יצירת דיסק) ומזינים את המאפיינים של הדיסק החדש.
- בקטע הצפנה, בוחרים באפשרות מפתח בניהול הלקוח.
- בתפריט הנפתח, בוחרים את מפתח Cloud KMS שבו רוצים להשתמש להצפנת הדיסק.
- לוחצים על Create כדי ליצור את הדיסק.
gcloud
יוצרים דיסק מוצפן באמצעות הפקודה gcloud compute disks create ומציינים את המפתח באמצעות הדגל --kms-key.
gcloud compute disks create DISK_NAME \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
מחליפים את מה שכתוב בשדות הבאים:
-
DISK_NAME: השם של הדיסק החדש -
KMS_PROJECT_ID: הפרויקט שבבעלותו מפתח Cloud KMS -
REGION: האזור שבו נמצא המפתח -
KEY_RING: השם של אוסף המפתחות שכולל את המפתח -
KEY: השם של המפתח ששימש להצפנת הדיסק
REST
יוצרים בקשת POST אל ה-method instances.insert.
כדי להצפין דיסק, משתמשים במאפיין diskEncryptionKey עם המאפיין kmsKeyName. לדוגמה, אפשר להצפין דיסק חדש במהלך יצירת מכונה וירטואלית באמצעות מפתח Cloud KMS באמצעות הפקודה הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"type": "PERSISTENT",
"diskEncryptionKey": {
"kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
},
"initializeParams": {
"sourceImage": "SOURCE_IMAGE"
},
"boot": true
}
],
...
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה שלCloud de Confiance הפרויקט שבו פועל Compute Engine -
ZONE: האזור שבו רוצים ליצור את המכונה הווירטואלית -
MACHINE_TYPE: סוג המכונה, לדוגמהc3-standard-4 -
KMS_PROJECT_ID: הפרויקט שבבעלותו מפתח Cloud KMS -
REGION: האזור שבו נמצא הדיסק -
KEY_RING: השם של אוסף המפתחות שכולל את המפתח -
KEY: השם של המפתח ששימש להצפנת הדיסק -
SOURCE_IMAGE: התמונה שבה רוצים להשתמש כשיוצרים את המכונה הווירטואלית, למשלprojects/debian-cloud/global/images/debian-11-bullseye-v20231115
באופן דומה, אפשר להשתמש ב-method disks.insert כדי ליצור דיסק קשיח קבוע עצמאי חדש ולהצפין אותו באמצעות מפתח Cloud KMS:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks?sourceImage=SOURCE_IMAGE
{
"name": "DISK_NAME",
"diskEncryptionKey": {
"kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
},
"type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE"
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה שלCloud de Confiance הפרויקט שבו פועל Compute Engine -
ZONE: האזור שבו רוצים ליצור את הדיסק -
SOURCE_IMAGE: התמונה לשימוש כשיוצרים את הדיסק. לדוגמה:projects/debian-cloud/global/images/debian-11-bullseye-v20231115 -
DISK_NAME: שם לדיסק החדש -
KMS_PROJECT_ID: הפרויקט שבבעלותו מפתח Cloud KMS -
REGION: האזור שבו נמצא הדיסק -
KEY_RING: השם של אוסף המפתחות שכולל את המפתח -
KEY: השם של המפתח ששימש להצפנת הדיסק -
DISK_TYPE: סוג הדיסק שרוצים ליצור
יצירת דיסק Hyperdisk Balanced במצב סודי
אפשר ליצור דיסק חדש מסוג Hyperdisk Balanced במצב סודי באמצעות מסוףCloud de Confiance , Google Cloud CLI או REST. כדי ליצור דיסק שלא נמצא במצב סודי, פועלים לפי השלבים במאמר בנושא יצירת דיסק אחסון מתמיד (persistent disk) מקובץ snapshot שמוצפן באמצעות CMEK.
המסוף
- נכנסים לדף Disks במסוף Cloud de Confiance .
- לוחצים על Create disk (יצירת דיסק) ומזינים את המאפיינים של הדיסק החדש.
- בקטע Disk settings, בוחרים באפשרות Hyperdisk Balanced בשדה Disk type.
- זה שינוי אופציונלי. משנים את הגדרות ברירת המחדל של גודל הדיסק, IOPS מוקצה וקצב העברת נתונים מוקצה.
- בקטע Encryption, בוחרים באפשרות Cloud KMS key.
- ברשימת המפתחות, בוחרים את מפתח Cloud HSM שבו רוצים להשתמש להצפנת הדיסק.
- בקטע Confidential Computing בוחרים באפשרות Enable Confidential Computing services.
- לוחצים על Create כדי ליצור את הדיסק.
gcloud
כדי להצפין דיסק חדש באמצעות מצב Confidential ל-Hyperdisk Balanced, משתמשים בפקודה gcloud compute disks create.
מפעילים את המצב הסודי עם הדגל --confidential-compute ומציינים את המפתח באמצעות הדגל --kms-key.
gcloud compute disks create DISK_NAME \ --type=hyperdisk-balanced \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY \ --confidential-compute
מחליפים את מה שכתוב בשדות הבאים:
-
DISK_NAME: השם של הדיסק החדש -
KMS_PROJECT_ID: הפרויקט שבבעלותו המפתח של Cloud HSM -
REGION: האזור שבו נמצא המפתח -
KEY_RING: השם של אוסף המפתחות שכולל את המפתח -
KEY: השם של המפתח ששימש להצפנת הדיסק
REST
יוצרים בקשת POST אל ה-method instances.insert.
כדי להצפין דיסק באמצעות מצב סודי ל-Hyperdisk Balanced, משתמשים במאפיין diskEncryptionKey עם המאפיין kmsKeyName ומגדירים את הדגל enableConfidentialCompute. לדוגמה, אפשר להצפין דיסק חדש במהלך יצירת מכונה וירטואלית באמצעות מפתח Cloud HSM, באמצעות הפקודה הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"type": "DISK_TYPE",
"diskEncryptionKey": {
"kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
},
"initializeParams": {
"sourceImage": "SOURCE_IMAGE",
"enableConfidentialCompute": true
},
"boot": true
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
]
}
מחליפים את מה שכתוב בשדות הבאים:
-
DISK_TYPE: סוג הדיסק שרוצים ליצור, לדוגמה,hyperdisk-balanced -
PROJECT_ID: המזהה של Cloud de Confiance הפרויקט שבו פועל Compute Engine -
ZONE: האזור שבו רוצים ליצור את המכונה הווירטואלית -
MACHINE_TYPE: סוג המכונה, לדוגמהn2d-standard-4 -
KMS_PROJECT_ID: הפרויקט שבבעלותו המפתח של Cloud HSM -
REGION: האזור שבו נמצא הדיסק -
KEY_RING: השם של אוסף המפתחות שכולל את המפתח -
KEY: השם של המפתח ששימש להצפנת הדיסק -
SOURCE_IMAGE: האימג' שתומך ב-Confidential VM לשימוש כשיוצרים את המכונה הווירטואלית (VM). לדוגמה:projects/debian-cloud/global/images/debian-11-bullseye-v20231115
באופן דומה, אפשר להשתמש ב-method disks.insert כדי ליצור מצב סודי חדש ל-Hyperdisk Balanced:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks?sourceImage=SOURCE_IMAGE
{
"name": "DISK_NAME",
"diskEncryptionKey": {
"kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
},
"type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE",
"enableConfidentialCompute": true
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה שלCloud de Confiance הפרויקט שבו פועל Compute Engine -
ZONE: האזור שבו רוצים ליצור את הדיסק -
SOURCE_IMAGE: האימג' שתומך ב-Confidential VM כשיוצרים את הדיסק, לדוגמה:projects/debian-cloud/global/images/debian-11-bullseye-v20231115 -
DISK_NAME: שם לדיסק החדש -
KMS_PROJECT_ID: הפרויקט שבבעלותו המפתח של Cloud HSM -
REGION: האזור שבו נמצא הדיסק -
KEY_RING: השם של אוסף המפתחות שכולל את המפתח -
KEY: השם של המפתח ששימש להצפנת הדיסק -
DISK_TYPE: סוג הדיסק שרוצים ליצור, לדוגמה,hyperdisk-balanced.
יצירת snapshot מדיסק שמוצפן באמצעות CMEK
כדי ליצור snapshot מדיסק שמוצפן באמצעות CMEK, צריך ליצור את ה-snapshot עם אותו מפתח הצפנה ששימש להצפנת הדיסק.
אי אפשר ליצור snapshot שמשתמש ב-CMEK אלא אם דיסק המקור משתמש גם הוא ב-CMEK. בנוסף, אי אפשר להמיר דיסקים או קובצי snapshot מוצפנים באמצעות CMEK לשימושCloud de Confiance by S3NS בהצפנה שמוגדרת כברירת מחדל, אלא אם יוצרים תמונת דיסק חדשה לחלוטין ודיסק קבוע חדש.
תמונות מצב מדיסקים שמוצפנים באמצעות CMEK הן מצטברות.
המסוף
- נכנסים לדף Snapshots במסוף Cloud de Confiance .
- לוחצים על יצירת תמונת מצב.
- בקטע דיסק מקור, בוחרים את דיסק המקור של התמונה. התמונה תהיה מוצפנת באופן אוטומטי עם אותו מפתח שבו נעשה שימוש בדיסק המקור.
gcloud
בהצפנה בניהול הלקוח, מפתח Cloud KMS ששימש להצפנת הדיסק משמש גם להצפנת התמונה.
אתם יכולים ליצור את תמונת המצב במיקום האחסון שמוגדר בהגדרות תמונת המצב, או להשתמש במיקום אחסון חלופי לפי בחירתכם. מידע נוסף זמין במאמר בחירת מיקום לאחסון תמונות המצב.
כדי ליצור snapshot במיקום ברירת המחדל המוגדר מראש או בהתאמה אישית בהגדרות ה-snapshot, משתמשים בפקודה
gcloud compute snapshots create.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE-
לחלופין, כדי לבטל את הגדרות הצילום וליצור צילום במיקום אחסון מותאם אישית, צריך לכלול את הדגל
--storage-locationכדי לציין איפה לאחסן את הצילום.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION -
(תצוגה מקדימה) כדי ליצור תמונת מצב בהיקף אזורי באזור מותר, צריך לכלול את הדגל
--regionכדי לציין איפה ליצור את תמונת המצב.gcloud beta compute snapshots create SNAPSHOT_NAME \ --region=SNAPSHOT_SCOPE_REGION --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=SOURCE_ZONE \ --snapshot-type=SNAPSHOT_TYPE \ --kms-key=projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY
מחליפים את מה שכתוב בשדות הבאים:
- SNAPSHOT_NAME: שם לקובץ ה-snapshot.
- SOURCE_ZONE: האזור של דיסק המקור.
- SOURCE_DISK_NAME: השם של נפח הדיסק שממנו רוצים ליצור קובץ snapshot.
- KMS_PROJECT_ID: הפרויקט שמכיל את מפתח ההצפנה שמאוחסן ב-Cloud Key Management Service.
- KEY_REGION: האזור שבו נמצא המפתח של Cloud KMS.
- KEY_RING: השם של אוסף המפתחות שמכיל את מפתח Cloud KMS.
- SNAPSHOT_KEY: השם של מפתח Cloud KMS ששימש להצפנה של דיסק המקור.
- SNAPSHOT_TYPE: סוג ה-snapshot, STANDARD או ARCHIVE.
אם לא מציינים סוג של snapshot, נוצר
STANDARDsnapshot. -
STORAGE_LOCATION: אופציונלי: בשביל תמונות מצב בהיקף גלובלי, אזור Cloud Storage או אזור Cloud Storage שבו רוצים לאחסן את תמונת המצב. אפשר לציין רק מיקום אחסון אחד.
משתמשים בפרמטר
--storage-locationרק כשרוצים לשנות את מיקום האחסון שמוגדר כברירת מחדל בהגדרות של התמונה, בין אם הוא מוגדר מראש או בהתאמה אישית. -
SNAPSHOT_SCOPE_REGION: אופציונלי: אם מדובר בקובץ snapshot בהיקף אזורי, מציינים את האזור שה-snapshot מוגבל אליו. אם כוללים את הפרמטר הזה, אי אפשר להשתמש בפרמטר
--storage-location. הדומיין STORAGE_LOCATION מוגדר אוטומטית ל-SNAPSHOT_SCOPE_REGION.
REST
אתם יכולים ליצור את תמונת המצב במיקום האחסון שמוגדר בהגדרות תמונת המצב, או להשתמש במיקום אחסון חלופי לפי בחירתכם. מידע נוסף זמין במאמר בחירת מיקום לאחסון תמונות המצב.
-
כדי ליצור snapshot במיקום ברירת המחדל המוגדר מראש או בהתאמה אישית בהגדרות ה-snapshot, שולחים בקשת
POSTאל ה-methodsnapshots.insert:POST https://compute.s3nsapis.fr/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY" }, "snapshotType": "SNAPSHOT_TYPE" } -
לחלופין, כדי לשנות את הגדרות התמונה ולשמור אותה במיקום אחסון מותאם אישית, שולחים בקשת
POSTאלsnapshots.insertוכוללים את המאפייןstorageLocationsבבקשה:POST https://compute.s3nsapis.fr/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY" }, "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], } -
(תצוגה מקדימה) כדי ליצור snapshot בהיקף אזורי באזור מותר, שולחים בקשת
POSTאל ה-methodsnapshots.insertומגדירים את אזור היצירה:POST https://compute.s3nsapis.fr/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "snapshotEncryptionKey": { "kmsKeyName":"projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY", }, }
מחליפים את מה שכתוב בשדות הבאים:
- DESTINATION_PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את התמונה.
- SNAPSHOT_NAME: שם לקובץ ה-snapshot.
- SOURCE_PROJECT_ID: מזהה הפרויקט של דיסק המקור.
- SOURCE_ZONE: האזור של דיסק המקור.
- SOURCE_DISK_NAME: השם של הדיסק שממנו רוצים ליצור קובץ snapshot.
- KMS_PROJECT_ID: הפרויקט שמכיל את מפתח ההצפנה שמאוחסן ב-Cloud Key Management Service.
- KEY_REGION: האזור שבו נמצא המפתח של Cloud KMS.
- KEY_RING: השם של אוסף המפתחות שמכיל את מפתח Cloud KMS.
- SNAPSHOT_KEY: השם של מפתח Cloud KMS ששימש להצפנה של דיסק המקור.
- SNAPSHOT_TYPE: סוג ה-snapshot, STANDARD או ARCHIVE.
אם לא מציינים סוג של snapshot, נוצר
STANDARDsnapshot. -
STORAGE_LOCATION: אופציונלי: בשביל תמונות מצב בהיקף גלובלי, אזור Cloud Storage או אזור Cloud Storage שבו רוצים לאחסן את תמונת המצב. אפשר לציין רק מיקום אחסון אחד.
משתמשים בפרמטר
storageLocationsרק כשרוצים לשנות את מיקום האחסון שמוגדר כברירת מחדל בהגדרות של התמונה, בין אם הוא מוגדר מראש או בהתאמה אישית. SNAPSHOT_SCOPE_REGION: אופציונלי: אם מדובר בקובץ snapshot בהיקף אזורי, מציינים את האזור שה-snapshot מוגבל אליו. אם כוללים את הפרמטר הזה, אי אפשר להשתמש בפרמטר
storageLocations. הדומיין STORAGE_LOCATION מוגדר אוטומטית ל-SNAPSHOT_SCOPE_REGION.
הצפנה של תמונה מיובאת באמצעות CMEK
אפשר להצפין תמונה חדשה כשמייבאים תמונה בהתאמה אישית ל-Compute Engine. לפני שתוכלו לייבא תמונה, תצטרכו ליצור ולדחוס קובץ אימג' של דיסק ולהעלות את הקובץ הדחוס הזה ל-Cloud Storage.
המסוף
- נכנסים לדף Images במסוף Cloud de Confiance .
- לוחצים על יצירת תמונה.
- בקטע Source disk (דיסק מקור), בוחרים את הדיסק שרוצים ליצור ממנו תמונה.
- בקטע הצפנה, בוחרים באפשרות מפתח בניהול הלקוח.
- בתפריט הנפתח, בוחרים את מפתח Cloud KMS שבו רוצים להשתמש להצפנת התמונה.
- ממשיכים בתהליך יצירת התמונה.
gcloud
כדי לייבא ולהצפין תמונה, משתמשים בפקודה gcloud compute images create.
כדי להשתמש בהצפנה בניהול הלקוח, צריך לציין את מפתח Cloud KMS לתמונה.
gcloud compute images create IMAGE_NAME \
--source-disk=SOURCE_DISK \
--kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
מחליפים את מה שכתוב בשדות הבאים:
-
IMAGE_NAME: השם של התמונה שאתם יוצרים -
SOURCE_DISK: השם של הדיסק שרוצים ליצור ממנו קובץ snapshot -
KMS_PROJECT_ID: הפרויקט שמכיל את מפתח Cloud KMS -
REGION: האזור שבו נמצא מפתח Cloud KMS -
KEY_RING: אוסף המפתחות שמכיל את מפתח Cloud KMS -
KEY: השם של המפתח שמשמש להצפנת הדיסק החדש
REST
כדי להצפין תמונה שיובאה, צריך ליצור בקשת POST אל ה-method images.insert.
מציינים את ה-URI לקובץ הדחוס, מוסיפים את המאפיין imageEncryptionKey לבקשה ליצירת התמונה ומציינים את המפתח להצפנת התמונה במאפיין kmsKeyName.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images
{
"rawDisk": {
"source": "http://storage.googleapis.com/example-image/example-image.tar.gz"
},
"name": "IMAGE_NAME",
"sourceType": "RAW",
"imageEncryptionKey": {
"kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY"
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שבו רוצים ליצור את התמונה המוצפנת -
IMAGE_NAME: השם של התמונה שאתם יוצרים -
KMS_PROJECT_ID: הפרויקט שמכיל את מפתח Cloud KMS -
REGION: האזור שבו נמצא מפתח Cloud KMS -
KEY_RING: אוסף המפתחות שמכיל את מפתח Cloud KMS -
KEY: השם של המפתח ששימש להצפנת דיסק המקור
יצירת דיסק מ-snapshot מוצפן באמצעות CMEK
כדי ליצור דיסק חדש מ-snapshot מוצפן, מבצעים את הפעולות הבאות:
המסוף
- נכנסים לדף Disks במסוף Cloud de Confiance .
- לוחצים על Create disk (יצירת דיסק) ומזינים את המאפיינים של הדיסק החדש.
- בקטע סוג המקור, בוחרים את קובץ ה-snapshot או את התמונה שרוצים להשתמש בהם.
אופציונלי: אם רוצים לציין מפתח הצפנה חדש, בקטע הצפנה מציינים את סוג מפתח ההצפנה שרוצים להשתמש בו, ואז מספקים את פרטי מפתח ההצפנה.
אם רוצים להסיר את מפתח ההצפנה בניהול הלקוח או באספקת הלקוח, משתמשים בערך ברירת המחדל Google Cloud-powered encryption key בשדה Encryption.
ממשיכים בתהליך יצירת הדיסק.
gcloud
כדי ליצור דיסק חדש מ-snapshot מוצפן בהיקף גלובלי, משתמשים בפקודה
gcloud compute disks create.gcloud compute disks create DISK_NAME \ --zone=ZONE \ --source-snapshot=SNAPSHOT_NAME \ --kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
(גרסת Preview) כדי ליצור דיסק חדש מתמונת מצב מוצפנת בהיקף אזורי, משתמשים בפקודה
gcloud compute disks createומציינים את האזור של תמונת המצב של המקור.gcloud compute disks create DISK_NAME \ --zone=ZONE \ --source-snapshot=SNAPSHOT_NAME \ --source-snapshot-region=SOURCE_REGION \ --kms-key=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
מחליפים את מה שכתוב בשדות הבאים:
-
DISK_NAME: השם של הדיסק החדש
SNAPSHOT_NAME: השם של קובץ ה-snapshot המוצפןכדי להשתמש בתמונה במקום בצילום מסך, מחליפים את
--source-snapshot SNAPSHOT_NAMEב---image IMAGE_NAME.
KMS_PROJECT_ID(אופציונלי): הפרויקט שמכיל את מפתח Cloud KMS
REGION: אופציונלי: האזור שבו נמצא מפתח Cloud KMS
SOURCE_REGION: האזור שמוגדר עבור קובץ ה-snapshot של המקור
ZONE: האזור שבו הדיסק החדש ימוקם
KEY_RING(לא חובה): אוסף המפתחות שמכיל את מפתח Cloud KMS
KEY: אופציונלי: השם של מפתח Cloud KMS שבו רוצים להשתמש כדי להצפין את הדיסק החדשכדי להצפין את הדיסק החדש, אפשר לבצע אחת מהפעולות הבאות:
- כדי לציין מפתח הצפנה חדש בניהול הלקוח, משתמשים בדגל
--kms-key. - כדי להשתמש בברירת המחדל Google Cloud-powered encryption key, לא כוללים את הדגל
--kms-key.
- כדי לציין מפתח הצפנה חדש בניהול הלקוח, משתמשים בדגל
REST
כדי ליצור דיסק חדש מ-snapshot מוצפן בהיקף גלובלי, יוצרים בקשת
POSTאל ה-methodcompute.disks.insert. משתמשים במאפייןsourceSnapshotכדי לציין את התמונה.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sourceSnapshot": "projects/SNAPSHOT_PROJECT_ID/global/snapshots/SNAPSHOT_NAME", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" } }(גרסת Preview) כדי ליצור דיסק חדש מ-snapshot מוצפן בהיקף אזורי, צריך ליצור בקשת
POSTאל ה-methodcompute.disks.insert. משתמשים במאפייןsourceSnapshotכדי לציין את התמונה.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sourceSnapshot": "projects/SNAPSHOT_PROJECT_ID/regions/SOURCE_REGION/snapshots/SNAPSHOT_NAME", "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE", "zone": "projects/PROJECT_ID/zones/ZONE" "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" } }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שבו ייצור הדיסק החדש -
ZONE: האזור שבו ייצור הדיסק החדש -
SOURCE_REGION: האזור שמוגדר עבור קובץ ה-snapshot של המקור -
DISK_NAME: השם של הדיסק החדש -
DISK_TYPE: כתובת ה-URL המלאה או החלקית של הסוג של הדיסק, לדוגמה,PROJECT_ID/zones/ZONE/diskTypes/pd-ssd -
SNAPSHOT_PROJECT_ID: הפרויקט שמכיל את התמונה
SNAPSHOT_NAME: השם של ה-snapshot המוצפןכדי להשתמש בתמונה במקום בצילום מסך, מחליפים את
sourceSnapshotב-sourceImage.
KMS_PROJECT_ID(אופציונלי): הפרויקט שמכיל את מפתח Cloud KMS
REGION: אופציונלי: האזור שבו נמצא מפתח Cloud KMS
KEY_RING(לא חובה): אוסף המפתחות שמכיל את מפתח Cloud KMS
KEY: אופציונלי: השם של מפתח Cloud KMS שבו רוצים להשתמש כדי להצפין את הדיסק החדשאם כוללים את
diskEncryptionKey, הדיסק מוצפן באמצעות מפתח Cloud KMS שצוין. אם לא תכללו אתdiskEncryptionKey, הדיסק יוצפן באמצעות Google Cloud-powered encryption key.
צירוף דיסק אתחול שמוצפן באמצעות CMEK למכונה וירטואלית חדשה
המסוף
נכנסים לדף Create an instance במסוף Cloud de Confiance .
מציינים את פרטי מכונת ה-VM, ובקטע דיסק אתחול לוחצים על Change. לאחר מכן, מבצעים את הפעולות הבאות:
- לוחצים על Existing disks (דיסקים קיימים).
- ברשימה Disk, בוחרים דיסק קיים לצירוף למכונה הווירטואלית.
- לוחצים על בחירה.
ממשיכים בתהליך יצירת מכונת ה-VM.
gcloud
כדי לצרף דיסק מוצפן כשיוצרים מכונה וירטואלית חדשה, משתמשים בפקודה gcloud compute instances create.
משתמשים בדגל --disk כדי לציין את דיסק האתחול המוצפן, כמו בדוגמה הבאה:
gcloud compute instances create VM_NAME \ ... --disk name=DISK_NAME,boot=yes
מחליפים את מה שכתוב בשדות הבאים:
-
VM_NAME: השם של המכונה הווירטואלית שאתם יוצרים -
DISK_NAME: השם של הדיסק המוצפן
REST
יוצרים בקשת POST אל ה-method compute.instances.insert.
משתמשים במאפיין disks כדי לציין את דיסק האתחול המוצפן, כמו בדוגמה הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
...
"disks": [
{
"deviceName": "DISK_ALIAS",
"source": "projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME"
}
]
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שבו רוצים ליצור את המכונה הווירטואלית החדשה -
ZONE: האזור שבו רוצים ליצור את המכונה הווירטואלית החדשה -
DISK_ALIAS: שם מכשיר ייחודי לשימוש ככינוי של הדיסק בספרייה/dev/disk/by-id/google-*של מכונה וירטואלית שמריצה מערכת הפעלה של Linux. אפשר להשתמש בשם הזה כדי להפנות לדיסק לפעולות כמו הרכבה או שינוי גודל מתוך המופע. אם לא מציינים שם מכשיר, המכונה הווירטואלית בוחרת שם מכשיר שמוגדר כברירת מחדל להחלה על הדיסק הזה, בפורמטpersistent-disk-x, כאשרxהוא מספר שהוקצה על ידי Compute Engine. השדה הזה רלוונטי רק לנפחי אחסון של Persistent Disk. -
DISK_NAME: השם של הדיסק המוצפן
סיבוב מפתח CMEK לדיסק או לתמונת מצב
כדי לצמצם את ההשלכות האפשריות של פריצה למפתח, מומלץ להחליף מפתחות הצפנה של Cloud KMS באופן קבוע באמצעות אחת מהשיטות הבאות.
gcloud
כדי להחליף את מפתח Cloud KMS שמשמש להצפנת דיסק, קובץ snapshot של ארכיון או תמונת מצב רגילה בגרסת מפתח חדשה, משתמשים בפקודה gcloud compute disks update-kms-key או בפקודה gcloud compute snapshots update-kms-key.
כדי לבצע רוטציה של גרסת המפתח שמצפינה דיסק:
gcloud compute disks update-kms-key DISK_NAME \ --zone ZONE
כדי לבצע רוטציה של גרסת המפתח שמצפינה תמונת מצב רגילה:
gcloud compute snapshots update-kms-key SNAPSHOT_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
DISK_NAME: השם של הדיסק המוצפן -
ZONE: האזור שבו נמצא הדיסק המוצפן -
SNAPSHOT_NAME: השם של קובץ ה-snapshot המוצפן
REST
כדי להחליף את מפתח Cloud KMS שמשמש להצפנת דיסק, תמונת מצב של ארכיון או תמונת מצב רגילה בגרסת מפתח חדשה, צריך ליצור בקשת PATCH לשיטה compute.disks.updateKmsKey או לשיטה compute.snapshots.updateKmsKey.
כדי לבצע רוטציה של גרסת המפתח שמצפינה דיסק אזורי:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/updateKmsKey
כדי לבצע רוטציה של גרסת המפתח שמצפינה דיסק אזורי:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/updateKmsKey
כדי לבצע רוטציה של גרסת המפתח שמצפינה תמונת מצב רגילה בהיקף גלובלי:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/updateKmsKey
(תצוגה מקדימה) כדי להחליף את גרסת המפתח שמצפינה תמונת מצב רגילה בהיקף אזורי:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/snapshots/SNAPSHOT_NAME/updateKmsKey
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שבו נמצא הדיסק או התמונה המצולמת המוצפנים -
ZONE: האזור שבו נמצא הדיסק המוצפן -
REGION: האזור שבו נמצא הדיסק האזורי או קובץ ה-snapshot בהיקף אזורי -
DISK_NAME: השם של הדיסק המוצפן -
SNAPSHOT_NAME: השם של קובץ ה-snapshot המוצפן -
REGION: האזור שבו נמצא הדיסק האזורי או קובץ ה-snapshot בהיקף אזורי
התשובה תכלול פריט name עם ערך פעולה שמייצג את רוטציית המפתחות:
"name": "operation-YYYYYYYYYYYYY-YYYYYYYYYYYYY-YYYYYYYY-YYYYYYYY"
לאחר מכן אפשר לבדוק את סטטוס הפעולה כדי לדעת אם הקריאה ל-API הצליחה. לשם כך, שולחים בקשת GET:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations/OPERATION_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שבו נמצא הדיסק או התמונה המצולמת המוצפנים -
ZONE: האזור שבו נמצא הדיסק המוצפן -
OPERATION_NAME: השם של פעולת הרוטציה של מפתח ה-CMEK, בפורמטoperation-YYYYYYYYYYYYY-YYYYYYYYYYYYY-YYYYYYYY-YYYYYYYY
התשובה תכלול ערך progress שמייצג את הסטטוס של רוטציית המפתחות. כשהערך של progress הוא 100, הפעולה הצליחה.
רוטציה של מפתחות לא משביתה ולא מוחקת גרסאות קודמות של מפתחות. מידע נוסף זמין במאמר בנושא אחרי שמסובבים את המפתחות.
שינוי ה-CMEK של דיסק או תמונת מצב
אתם יכולים לשנות את ההצפנה של דיסק, של קובץ snapshot של ארכיון או של קובץ snapshot רגיל ל-CMEK אחר (לדוגמה, במהלך העברת פרויקט או כדי לעמוד בדרישות תאימות חדשות) ללא זמן השבתה.
שינוי מפתח CMEK מצפין מחדש את המפתח להצפנת נתונים (DEK) של המשאב באמצעות המפתח החדש. התהליך הזה לא משנה את מפתח ה-DEK ולא משפיע על הביצועים של עומסי עבודה פעילים.
כדי לשנות את מפתח Cloud KMS, אפשר להשתמש ב-CLI של gcloud או ב-REST.
gcloud
כדי לשנות את מפתח ה-Cloud KMS של דיסק או של תמונת מצב רגילה, משתמשים בדגל --kms-key עם הפקודה gcloud compute disks update-kms-key או עם הפקודה gcloud compute snapshots update-kms-key.
כדי לשנות את המפתח של דיסק אזורי:
gcloud compute disks update-kms-key DISK_NAME \ --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \ --zone=ZONE
כדי לשנות את המפתח של דיסק אזורי:
gcloud compute disks update-kms-key DISK_NAME \ --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \ --region=REGION
כדי לשנות את המקש לצילום מסך גלובלי:
gcloud compute snapshots update-kms-key SNAPSHOT_NAME \ --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME
כדי לשנות את המפתח של תמונת מצב בהיקף אזורי:
gcloud beta compute snapshots update-kms-key SNAPSHOT_NAME \ --kms-key=projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME \ --regions=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
DISK_NAME: השם של הדיסק המוצפן. -
NEW_KMS_KEY: מזהה המשאב המלא של מפתח ה-CMEK החדש. -
ZONE: האזור שבו נמצא הדיסק. -
REGION: האזור שבו נמצא הדיסק או קובץ ה-snapshot. -
SNAPSHOT_NAME: השם של קובץ ה-snapshot המוצפן.
REST
כדי לשנות את המפתח, שולחים בקשת POST ל-method compute.disks.updateKmsKey
או ל-method compute.snapshots.updateKmsKey וכוללים את kmsKeyName בגוף הבקשה.
כדי לשנות את המפתח של דיסק אזורי:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/updateKmsKey { "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME" }כדי לשנות את המפתח של דיסק אזורי:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/updateKmsKey { "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME" }כדי לשנות את המקש לצילום מסך גלובלי:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/snapshots/SNAPSHOT_NAME/updateKmsKey { "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME" }כדי לשנות את המפתח של תמונת מצב בהיקף אזורי:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/snapshots/SNAPSHOT_NAME/updateKmsKey { "kmsKeyName": "projects/KEY_PROJECT_ID/locations/global/keyRings/KEY_RING/cryptoKeys/NEW_KEY_NAME" }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שמכיל את הדיסק או את ה-snapshot. -
ZONE: האזור שבו נמצא הדיסק. -
REGION: האזור שבו נמצא הדיסק או קובץ ה-snapshot. -
DISK_NAME: שם הדיסק. -
NEW_KEY_NAME: השם של מפתח ה-CMEK החדש. -
SNAPSHOT_NAME: השם של קובץ ה-snapshot המוצפן.
הסרת ה-CMEK מדיסק
אי אפשר להסיר מפתח CMEK מדיסק או לשנות את סוג מפתח ההצפנה. אפשר לעשות אחד מהדברים הבאים:
מפענחים את התוכן של דיסק מוצפן באמצעות CMEK ויוצרים דיסק חדש שמשתמש בהצפנה Cloud de Confiance by S3NS כברירת מחדל. כברירת מחדל, Cloud de Confiance by S3NS כל הנתונים במנוחה מוצפנים.
כדי ליצור דיסק שמשתמש ב- Google Cloud-powered key מדיסק מוצפן באמצעות CMEK, פועלים לפי השלבים הבאים:
- יוצרים קובץ snapshot של הדיסק המוצפן.
- משתמשים ב-snapshot המוצפן החדש כדי ליצור דיסק חדש.
אחרי שיוצרים את הדיסק החדש, הוא מוצפן באמצעות Cloud de Confiance by S3NS הצפנה שמוגדרת כברירת מחדל כדי להגן על התוכן שלו. גם תמונות המצב שתיצרו מהדיסק הזה חייבות להשתמש בהצפנה שמוגדרת כברירת מחדל.
הסרת ה-CMEK מתמונת מצב
אי אפשר להסיר CMEK מתמונת מצב או לשנות את סוג מפתח ההצפנה. אפשר לשנות את תמונת המצב כדי להשתמש במפתח CMEK אחר, או ליצור עותק של תמונת המצב ולהצפין את העותק באמצעות Google Cloud-powered key.
כדי ליצור snapshot שמשתמש ב- Google Cloud-powered key מ-snapshot מוצפן באמצעות CMEK, פועלים לפי השלבים הבאים:
יוצרים דיסק חדש מקובץ ה-snapshot. כשיוצרים את הדיסק החדש, בוחרים את סוג ההצפנה הרצוי.
יוצרים קובץ snapshot של הדיסק החדש:
אם הדיסק החדש מוצפן באמצעות CMEK, אפשר לעיין במאמר בנושא יצירת דיסק מ-snapshot שמוצפן באמצעות CMEK.
אם הדיסק החדש מוצפן באמצעות Google Cloud-powered key, אפשר לעיין במאמר בנושא יצירת קובצי snapshot של דיסקים.
השבתה או השמדה של CMEK
אם אתם לא צריכים יותר מפתח CMEK או רוצים למנוע את השימוש בו, אתם יכולים להשבית או להשמיד את המפתח. מחיקה, השבתה או הסרה של הרשאות IAM במפתח נקראות גם ביטול המפתח.
ההשפעה של ביטול מפתחות על משאבים מוצפנים
כשמבטלים הרשאה למפתח הצפנה, המשאבים שהמפתח מגן עליהם מושפעים באופן הבא:
- אי אפשר לאתחל מכונה וירטואלית אם לאחד מהדיסקים המצורפים שלה יש מפתחות שבוטלו.
- אם דיסק שמשתמש במפתח מצורף למכונה וירטואלית שפועלת, והפעלתם את האפשרות כיבוי המכונה הווירטואלית עם ביטול המפתח, מערכת Compute Engine תכבה את המכונה הווירטואלית תוך 7 שעות.
- אי אפשר לצרף דיסק עם מפתח שבוטל למכונה וירטואלית או ליצור snapshot מהדיסק.
- אי אפשר להשתמש בתמונות או בתמונות מצב שמוצפנות באמצעות מפתחות שבוטלו כדי ליצור דיסקים.
אם משביתים את המפתח, אפשר להפוך את ההשפעות הקודמות על ידי הפעלת המפתח. אם משמידים את המפתח, אי אפשר לבטל את ההשפעות הקודמות.
הגדרת כיבוי של מכונה וירטואלית בביטול של מפתח Cloud KMS
אתם יכולים להגדיר את המכונה הווירטואלית כך שהיא תכבה באופן אוטומטי אם תבטלו את מפתח Cloud KMS שמסייע בהגנה על דיסק שמצורף למכונה הווירטואלית. כדי לבטל מפתח, צריך להשבית אותו או למחוק אותו. אם ההגדרה הזו מופעלת, המכונה הווירטואלית מושבתת תוך 7 שעות מביטול המפתח.
אם מפעילים את המפתח שוב, אפשר להפעיל מחדש את המכונה הווירטואלית עם הדיסק המצורף שהמפתח עוזר להגן עליו. המכונה הווירטואלית לא מופעלת מחדש באופן אוטומטי אחרי שמפעילים את המפתח.
המסוף
כדי להגדיר מכונה וירטואלית (VM) כך שהיא תושבת כשמבטלים את מפתח Cloud KMS, מבצעים את הפעולות הבאות:
- מתחילים ליצור מכונה וירטואלית שכוללת דיסק שמוגן על ידי מפתח Cloud KMS.
- פותחים את התפריט Networking, disks, security, management, sole-tenancy.
- מרחיבים את הקטע ניהול.
- בקטע Customer Managed Encryption Key (CMEK) revocation policy (מדיניות ביטול מפתח הצפנה בניהול הלקוח), בוחרים באפשרות Shut down (כיבוי).
gcloud
משתמשים בפקודה gcloud compute instances create כדי ליצור מכונה וירטואלית, ומוסיפים את --key-revocation-action-type=stop.
gcloud compute instances createVM_NAME\ --imageIMAGE\ --key-revocation-action-type=stop
REST
משתמשים ב-method instances.insert כדי ליצור מכונה וירטואלית, ומגדירים את המאפיין "keyRevocationActionType" לערך "STOP". בדוגמה הבאה נוצרת מכונה וירטואלית מתמונה שגלויות לכולם.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
"name": "VM_NAME",
"disks": [
{
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
},
"boot": true
}
],
"keyRevocationActionType": "STOP"
}
לחלופין, אפשר להגדיר תבנית של הגדרות מכונה כדי ליצור מכונות וירטואליות שמושבתות כשמבטלים את המפתח באמצעות Google Cloud CLI או REST.
המסוף
אתם יכולים להשתמש בתבנית של הגדרות מכונה כדי ליצור מכונות וירטואליות שיושבתו כשמבטלים מפתח Cloud KMS.
- מתחילים ליצור תבנית חדשה של מכונה וירטואלית שכוללת דיסק שמוגן על ידי מפתח Cloud KMS.
- פותחים את התפריט Networking, disks, security, management, sole-tenancy.
- מרחיבים את הקטע ניהול.
- בקטע Customer Managed Encryption Key (CMEK) revocation policy (מדיניות ביטול מפתחות הצפנה בניהול הלקוח), בוחרים באפשרות Shutdown (כיבוי).
gcloud
כדי ליצור תבנית של הגדרות מכונה באמצעות הפקודה gcloud compute instance-templates create, צריך לכלול את --key-revocation-action-type=stop.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--key-revocation-action-type=stop
REST
יוצרים בקשת POST ל-method instanceTemplates.insert.
בגוף הבקשה, צריך להגדיר באופן מפורש את כל שדות ההגדרה הנדרשים. אם רוצים שהמכונות הווירטואליות שנוצרו מהתבנית הזו יושבתו כשמבטלים את המפתח, מציינים "keyRevocationActionType":"STOP".
לדוגמה, תבנית של הגדרות מכונה עם השדות המינימליים הנדרשים ליצירת מכונות וירטואליות שיושבתו עם ביטול המפתח נראית כך:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceTemplates { "name": "example-template", "properties": { "machineType": "e2-standard-4", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-11" } } ], "keyRevocationActionType": "STOP" } }
אחרי שיוצרים מכונה וירטואלית שמוגדרת להיסגר בביטול הרשאה ב-Cloud KMS, יוצרים דיסק מתמשך ומצרפים אותו. הדיסק המתמשך מוצפן באמצעות מפתח Cloud KMS.