במאמר הזה מוסבר איך להשתמש במפתחות של Cloud Key Management Service Cloud KMS שנוצרו באופן ידני כדי להצפין דיסקים ומשאבים אחרים שקשורים לאחסון. מפתחות שמנוהלים ב-Cloud KMS נקראים מפתחות הצפנה בניהול הלקוח (CMEK).
אפשר להשתמש במפתחות CMEK כדי להצפין משאבים של Compute Engine, כמו דיסקים, תמונות של מכונות, קובצי snapshot מיידיים וקובצי snapshot רגילים.
מידע נוסף על שימוש במפתחות הצפנה באספקת הלקוח (CSEK) להצפנת דיסקים ומשאבי אחסון אחרים זמין במאמר בנושא הצפנת דיסקים באמצעות מפתחות הצפנה באספקת הלקוח.
לפני שמתחילים
- הסבר על דיסקים, תמונות, תמונות מצב של דיסקים לאחסון מתמיד ומכונות וירטואליות (VM).
- מחליטים אם להפעיל את Compute Engine ואת Cloud KMS באותו פרויקט או בפרויקטים שונים. Google Cloud מידע על Google Cloud מזהי פרויקטים ומספרי פרויקטים זמין במאמר זיהוי פרויקטים.
- בפרויקט שבו פועל Cloud KMS, מבצעים את הפעולות הבאות:
-
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Google Cloud
-
- + אם רוצים ליצור נפח אחסון חדש של Hyperdisk Balanced במצב סודי, צריך לעיין במגבלות הרלוונטיות ובאזורים הנתמכים כדי לוודא שתרחיש השימוש נתמך.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
- Set a default region and zone.
REST
כדי להשתמש בדוגמאות של API בארכיטקטורת REST שבדף הזה בסביבת פיתוח מקומית, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
התפקידים הנדרשים
כדי לוודא שלסוכן השירות של Compute Engine יש את ההרשאות הנדרשות להגנה על משאבים באמצעות מפתחות של Cloud KMS, צריך לבקש מהאדמין להעניק לסוכן השירות של Compute Engine את תפקיד ה-IAM Cloud KMS CryptoKey Encrypter/Decrypter (
מידע נוסף על הקצאת תפקידים מופיע במאמר ניהול הגישה לפרויקטים, לתיקיות ולארגונים.roles/cloudkms.cryptoKeyEncrypterDecrypter) בפרויקט.יכול להיות שהאדמין גם יוכל לתת לסוכן השירות של Compute Engine את ההרשאות שנדרשות באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הפורמט של סוכן השירות של Compute Engine הוא:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
אפשר להקצות את התפקיד באמצעות Google Cloud CLI:
gcloud projects add-iam-policy-binding KMS_PROJECT_ID \ --member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterמחליפים את מה שכתוב בשדות הבאים:
-
KMS_PROJECT_ID: המזהה שלGoogle Cloud הפרויקט שבו פועל Cloud KMS (גם אם זה אותו פרויקט שבו פועל Compute Engine) -
PROJECT_NUMBER: מספר הפרויקט (לא מזהה הפרויקט) של פרויקט Google Cloud שבו פועלים משאבי Compute Engine. Google Cloud
מפרטי הצפנה
מפתחות Cloud KMS שמשמשים להגנה על הנתונים ב-Compute Engine הם מפתחות AES-256. המפתחות האלה הם מפתחות להצפנת מפתחות הצפנה, והם מצפינים את המפתחות להצפנת נתונים שמצפינים את הנתונים שלכם, ולא את הנתונים עצמם.
הנתונים בדיסקים מוצפנים באמצעות Google-owned and Google-managed encryption keys. במאמר ברירת המחדל להצפנה במנוחה במסמכי האבטחה מפורטות ההגדרות שקשורות להצפנת ברירת המחדל ב- Google Cloud.
במצב סודי ל-Hyperdisk Balanced ול-Cloud HSM, למפתח להצפנת נתונים (DEK) יש מאפייני אבטחה נוספים עם מובלעות שמגובות בחומרה.
מגבלות
אי אפשר להצפין משאבים קיימים באמצעות CMEK. אפשר להצפין דיסקים, תמונות וגיבויים באמצעות CMEK רק כשיוצרים אותם.
כשיוצרים דיסק מ-קובץ snapshot מואץ שמוצפן באמצעות CMEK, צריך לציין את המפתח ששימש להצפנת דיסק המקור. לא צריך לציין את המפתח כשעובדים עם משאבים אחרים שמוצפנים באמצעות CMEK, כמו שיבוטים של דיסקים ותמונות מצב רגילות.
(תצוגה מקדימה) כשיוצרים snapshot בהיקף אזורי מדיסק שמוצפן באמצעות CMEK, צריך ליצור את ה-snapshot עם CMEK אזורי שנמצא באותו מיקום כמו ה-snapshot. כך מובטח בידוד אזורי של התמונה ומשפרים את המהימנות שלה.
אי אפשר להשתמש במפתחות משלכם עם דיסקים של SSD מקומי כי המפתחות מנוהלים על ידי התשתית של Google Cloud ונמחקים כשהמכונה הווירטואלית מסתיימת.
אפשר להצפין משאבים אזוריים (דיסקים) רק באמצעות מפתח באחד מהמיקומים הבאים של Cloud KMS:
- מפתח באותו אזור שבו נמצא הדיסק
- מפתח רב-אזורי באותו מיקום גיאוגרפי כמו הדיסק
- מפתח במיקום הגלובלי.
לדוגמה, אפשר להצפין דיסק באזור
us-west1-aבאמצעות מפתח במיקום הגלובלי, באזורus-west1או באזורusשכולל מספר אזורים.אפשר להצפין משאבים גלובליים (כמו תמונות ו-snapshots) באמצעות מפתחות בכל מיקום. מידע נוסף זמין במאמר סוגי מיקומים ב-Cloud KMS.
ההצפנה של דיסק, תמונת מצב או תמונה באמצעות מפתח היא קבועה. אי אפשר להסיר את ההצפנה מהמשאב, לשנות את סוג ההצפנה או לשנות את המפתח שבו נעשה שימוש. הדרך היחידה להסיר הצפנה או לשנות מפתחות הצפנה היא ליצור עותק של המשאב תוך ציון אפשרות הצפנה חדשה. לדוגמה, כדי לשנות את השימוש במפתחות שנוצרו על ידי Google במפתחות CMEK בדיסק, פועלים לפי השלבים הבאים:
- יוצרים קובץ snapshot של הדיסק.
- יוצרים דיסק חדש מקובץ ה-snapshot. כשיוצרים את הדיסק החדש, בוחרים את סוג ההצפנה הרצוי.
מידע נוסף זמין במאמר שינוי סוג הדיסק.
יצירה ידנית או אוטומטית של מפתחות
אפשר ליצור מפתחות Cloud KMS באופן ידני או להשתמש ב-Cloud KMS Autokey. Autokey מפשט את יצירת המפתחות של Cloud KMS וניהול שלהם על ידי אוטומציה של הקצאת המשאבים וההקצאה. עם Autokey, אין צורך להקצות מראש מחזיקי מפתחות, מפתחות וחשבונות שירות. במקום זאת, הן נוצרות לפי דרישה כחלק מיצירת משאבים ב-Compute Engine. מידע נוסף מופיע בסקירה הכללית על Autokey.
יצירה ידנית של אוסף מפתחות ומפתח
ב Google Cloud פרויקט שבו פועל Cloud KMS, יוצרים אוסף מפתחות ומפתח כמו שמתואר במאמר יצירה של אוספי מפתחות ומפתחות.
הצפנה של דיסק אחסון מתמיד חדש באמצעות CMEK
אפשר להצפין דיסק מתמשך חדש על ידי ציון מפתח במהלך יצירת מכונה וירטואלית או דיסק.
המסוף
- נכנסים לדף Disks במסוף Google Cloud .
- לוחצים על 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אל ה-methodinstances.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: המזהה שלGoogle Cloud הפרויקט שבו פועל 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כדי ליצור דיסק קשיח קבוע (Persistent Disk) חדש עצמאי ולהצפין אותו באמצעות מפתח 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: המזהה שלGoogle Cloud הפרויקט שבו פועל 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 במצב סודי באמצעותGoogle Cloud המסוף, Google Cloud CLI או REST. כדי ליצור דיסק שלא נמצא במצב סודי, פועלים לפי השלבים במאמר בנושא יצירת דיסק אחסון מתמיד (persistent disk) מקובץ snapshot שמוצפן באמצעות CMEK.
המסוף
- נכנסים לדף Disks במסוף Google Cloud .
- לוחצים על Create disk (יצירת דיסק) ומזינים את המאפיינים של הדיסק החדש.
- בקטע Disk settings בוחרים באפשרות Hyperdisk Balanced בשדה Disk type.
- זה שינוי אופציונלי. משנים את הגדרות ברירת המחדל של גודל הדיסק, IOPS שהוקצו וקצב העברת נתונים שהוקצה.
- בקטע הצפנה, בוחרים באפשרות מפתח Cloud KMS.
- ברשימת המפתחות, בוחרים את מפתח Cloud HSM שבו רוצים להשתמש להצפנת הדיסק.
- בקטע Confidential Computing, בוחרים באפשרות Enable Confidential Computing services.
- לוחצים על Create כדי ליצור את הדיסק.
gcloud
כדי להצפין דיסק חדש במצב סודי של 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אל ה-methodinstances.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: המזהה של Google Cloud הפרויקט שבו פועל 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: המזהה שלGoogle Cloud הפרויקט שבו פועל 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 שמשתמש ב-CMEK אלא אם דיסק המקור משתמש גם הוא ב-CMEK. בנוסף, אי אפשר להמיר דיסקים או תמונות snapshot מוצפנים ב-CMEK לשימושGoogle Cloud בהצפנה שמוגדרת כברירת מחדל, אלא אם יוצרים תמונת דיסק חדשה לחלוטין ודיסק קשיח חדש.
תמונות מצב מדיסקים שהוצפנו באמצעות CMEK הן מצטברות.
המסוף
- נכנסים לדף Snapshots במסוף Google Cloud .
- לוחצים על יצירת תמונת מצב.
- בקטע דיסק מקור, בוחרים את דיסק המקור של התמונה. התמונה תהיה מוצפנת באופן אוטומטי עם אותו מפתח שבו נעשה שימוש בדיסק המקור.
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: אופציונלי: עבור קובצי snapshot בהיקף גלובלי, אזור Cloud Storage במספר אזורים או אזור Cloud Storage שבו רוצים לאחסן את קובץ ה-snapshot. אפשר לציין רק מיקום אחסון אחד.
משתמשים בפרמטר
--storage-locationרק כשרוצים לשנות את מיקום האחסון שמוגדר כברירת מחדל בהגדרות של התמונה, בין אם הוא מוגדר מראש או בהתאמה אישית. -
SNAPSHOT_SCOPE_REGION: אופציונלי: אם מדובר בקובץ snapshot בהיקף אזורי, מציינים את האזור שאליו מוגדר ההיקף של קובץ ה-snapshot. אם כוללים את הפרמטר הזה, אי אפשר להשתמש בפרמטר
--storage-location. הערך של STORAGE_LOCATION מוגדר אוטומטית ל-SNAPSHOT_SCOPE_REGION.
REST
אתם יכולים ליצור את תמונת המצב במיקום האחסון שמוגדר במדיניות הגדרות תמונת המצב או במיקום אחסון חלופי שתבחרו. מידע נוסף זמין במאמר בנושא בחירת מיקום לאחסון תמונת המצב.
-
כדי ליצור snapshot במיקום ברירת המחדל שהוגדר מראש או בהתאמה אישית בהגדרות ה-snapshot, שולחים בקשת
POSTאל ה-methodsnapshots.insert:POST https://compute.googleapis.com/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.insertmethod וכוללים את המאפייןstorageLocationsבבקשה:POST https://compute.googleapis.com/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" ], } -
(תצוגה מקדימה) כדי ליצור תמונת מצב בהיקף אזורי באזור מותר, שולחים בקשת
POSTאל ה-methodsnapshots.insertומגדירים את אזור היצירה:POST https://compute.googleapis.com/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: אופציונלי: עבור קובצי snapshot בהיקף גלובלי, אזור Cloud Storage במספר אזורים או אזור Cloud Storage שבו רוצים לאחסן את קובץ ה-snapshot. אפשר לציין רק מיקום אחסון אחד.
משתמשים בפרמטר
storageLocationsרק כשרוצים לשנות את מיקום האחסון שמוגדר כברירת מחדל בהגדרות של התמונה, בין אם הוא מוגדר מראש או בהתאמה אישית. SNAPSHOT_SCOPE_REGION: אופציונלי: עבור קובצי snapshot בהיקף אזורי, האזור שאליו מוגדר קובץ ה-snapshot. אם כוללים את הפרמטר הזה, אי אפשר להשתמש בפרמטר
storageLocations. הערך של STORAGE_LOCATION מוגדר אוטומטית ל-SNAPSHOT_SCOPE_REGION.
הצפנה של תמונה שיובאה באמצעות CMEK
אפשר להצפין תמונה חדשה כשמייבאים תמונה בהתאמה אישית ל-Compute Engine. לפני שתוכלו לייבא תמונה, תצטרכו ליצור ולדחוס קובץ תמונת דיסק ולהעלות את הקובץ הדחוס הזה ל-Cloud Storage.
המסוף
- נכנסים לדף Images במסוף Google Cloud .
- לוחצים על יצירת תמונה.
- בקטע 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אל ה-methodimages.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 במסוף Google Cloud .
- לוחצים על Create disk (יצירת דיסק) ומזינים את המאפיינים של הדיסק החדש.
- בקטע סוג המקור, בוחרים את קובץ ה-snapshot או את התמונה שרוצים להשתמש בהם.
אופציונלי: אם רוצים לציין מפתח הצפנה חדש, בקטע הצפנה מציינים את סוג מפתח ההצפנה שרוצים להשתמש בו, ואז מספקים את פרטי מפתח ההצפנה.
אם רוצים להסיר את מפתח ההצפנה בניהול הלקוח או באספקת הלקוח, משתמשים בערך ברירת המחדל Google-managed 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-owned and Google-managed 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" } }(תצוגה מקדימה) כדי ליצור דיסק חדש מתמונת מצב מוצפנת בהיקף אזורי, צריך ליצור בקשת
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-owned and Google-managed encryption key.
צירוף דיסק אתחול שמוצפן באמצעות CMEK למכונה וירטואלית חדשה
המסוף
נכנסים לדף Create an instance במסוף Google Cloud .
מציינים את פרטי מכונת ה-VM, ובקטע דיסק אתחול לוחצים על שינוי. לאחר מכן, מבצעים את הפעולות הבאות:
- לוחצים על Existing disks (דיסקים קיימים).
- ברשימה Disk, בוחרים דיסק קיים לחיבור למכונה הווירטואלית.
- לוחצים על בחירה.
ממשיכים בתהליך יצירת המכונה הווירטואלית.
gcloud
כדי לצרף דיסק מוצפן כשיוצרים מכונה וירטואלית חדשה, משתמשים בפקודה
gcloud compute instances create. משתמשים בדגל--diskכדי לציין את דיסק האתחול המוצפן, כמו בדוגמה הבאה:gcloud compute instances create VM_NAME \ ... --disk name=DISK_NAME,boot=yes
מחליפים את מה שכתוב בשדות הבאים:
-
VM_NAME: השם של המכונה הווירטואלית שאתם יוצרים -
DISK_NAME: השם של הדיסק המוצפן
REST
יוצרים בקשת
POSTאל ה-methodcompute.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: השם של הדיסק המוצפן
הסרת מפתח הצפנה של Cloud KMS מדיסק מתמשך
אתם יכולים לפענח את התוכן של דיסק מוצפן וליצור דיסק חדש שמשתמש בהצפנה של ברירת המחדל במקום זאת. Google Cloud כברירת מחדל, Google Cloud כל הנתונים באחסון מוצפנים.
- יוצרים קובץ snapshot של הדיסק המוצפן.
- משתמשים ב-snapshot המוצפן החדש כדי ליצור דיסק אחסון מתמיד חדש.
אחרי שיוצרים את ה-Persistent Disk החדש, הוא מוצפן באמצעות Google Cloud הצפנה שמוגדרת כברירת מחדל כדי להגן על התוכן של הדיסק. גם תמונות המצב שתיצרו מהדיסק הזה חייבות להשתמש בהצפנה שמוגדרת כברירת מחדל.
סיבוב מפתח הצפנה של Cloud KMS עבור דיסק
מבצעים רוטציה של המפתח שמשמש להצפנת הדיסק על ידי יצירת דיסק חדש שמשתמש בגרסה חדשה של מפתח Cloud KMS. רוטציית מפתחות היא שיטה מומלצת לעמידה בשיטות אבטחה סטנדרטיות. כדי לבצע רוטציה של המפתחות:
- החלפת מפתח של Cloud KMS.
- יוצרים קובץ snapshot של הדיסק המוצפן.
- משתמשים ב-snapshot החדש כדי ליצור דיסק חדש עם המפתח שעברה רוטציה בשלב הקודם.
- מחליפים את הדיסק שמצורף למכונת ה-VM שמשתמשת במפתח ההצפנה הישן.
כשיוצרים את הדיסק החדש, הוא מוצפן באמצעות גרסת המפתח החדשה. כל קובצי ה-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 create
VM_NAME\ --imageIMAGE\ --key-revocation-action-type=stopREST
משתמשים ב-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=stopREST
יוצרים בקשת 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, יוצרים ומצרפים Persistent Disk שמוצפן באמצעות מפתח Cloud KMS.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-03-05 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["התוכן קשה להבנה","hardToUnderstand","thumb-down"],["שגיאות בקוד לדוגמה או במידע","incorrectInformationOrSampleCode","thumb-down"],["חסרים לי פרטים או דוגמאות","missingTheInformationSamplesINeed","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2026-03-05 (שעון UTC)."],[],[]] -