בדף הזה מוסבר איך לתזמן גרסת מפתח של Cloud Key Management Service להשמדה סופית. ב-Cloud KMS, חומרי המפתחות הקריפטוגרפיים שמשמשים להצפנה, לפענוח, לחתימה ולאימות של נתונים מאוחסנים בגרסת מפתח. למפתח יכולות להיות אפס גרסאות או יותר. כשמבצעים רוטציה למפתח, נוצרת גרסת מפתח חדשה.
השמדה של גרסת מפתח פירושה שחומר המפתח נמחק באופן סופי. כשמשמידים גרסת מפתח, פרטים אחרים כמו שם המפתח ומספר גרסת המפתח לא נמחקים. אחרי שהמפתח מושמד, אי אפשר לפענח את הנתונים שהוצפנו באמצעות גרסת המפתח.
החריג היחיד הוא ייבוא מחדש של מפתח, שמאפשר לשחזר מפתח שיובא בעבר על ידי מתן אותו חומר מפתח מקורי.
בדרך כלל אי אפשר לבטל השמדה של מפתח, ולכן ב-Cloud KMS אי אפשר להשמיד גרסאות של מפתחות באופן מיידי. במקום זאת, אתם מתזמנים גרסת מפתח להשמדה. גרסת המפתח נשארת במצב "מתוזמן להשמדה" למשך זמן שניתן להגדרה. במהלך תקופת ההמתנה להשמדה, אתם יכולים לשחזר את גרסת המפתח כדי לבטל את ההשמדה שלה.
משך הזמן שמוגדר כברירת מחדל לתזמון ההשמדה הוא 30 יום. אתם יכולים להגדיר משך זמן מותאם אישית להשמדה מתוזמנת של מפתח במהלך יצירת המפתח. כדי לאכוף משך זמן מינימלי להמתנה להשמדה, אפשר להגדיר את האילוץ Minimum destroy scheduled duration per key במדיניות הארגון.
אתם יכולים גם לנהל את הגישה למפתח באמצעות ניהול זהויות והרשאות גישה (IAM). פעולות IAM הן עקביות תוך שניות. למידע נוסף, קראו את המאמר שימוש ב-IAM.
אפשר גם להשבית גרסת מפתח באופן זמני. כחלק מהתהליכים שנועדו לוודא שאפשר להשמיד את המפתח באופן בטוח, מומלץ להשבית את גרסאות המפתח לפני שמתזמנים את ההשמדה שלהן. בהתאם למדיניות הארגון, יכול להיות שתצטרכו להשבית גרסת מפתח לפני שתוכלו לתזמן את ההשמדה שלה. מידע נוסף על שליטה בהשמדה של גרסאות מפתחות באמצעות כללי מדיניות של הארגון זמין במאמר שליטה בהשמדה של גרסאות מפתחות.
בהמשך המסמך הזה, תזמון מפתח להשמדה נקרא "השמדת המפתח", למרות שההשמדה לא מתבצעת באופן מיידי.
לפני שמתחילים
הבנת הסיכונים
השמדה של גרסת מפתח היא פעולה סופית. השמדה של גרסת מפתח שעדיין נדרשת כרוכה בסיכונים, כולל:
הפסקת שירות: אם תשמידו מפתח שנדרש כדי להפעיל קונטיינר או מכונה, יכול להיות שהשירותים או האפליקציות שלכם לא יהיו זמינים.
אובדן נתונים בלתי הפיך: אם משמידים מפתח ששימש להצפנת נתונים, הנתונים האלה לא יהיו זמינים יותר. נתונים שמוצפנים באמצעות מפתח שהושמד נחשבים לנתונים שעברו גריסה קריפטוגרפית. במקרים מסוימים, השמדת מפתח יכולה לגרום למחיקה סופית של משאבים מוצפנים.
בעיות רגולציה או תאימות: אם תשמידו מפתח שנדרש כדי לגשת לנתונים שכפופים לתקופת שמירה, לפני שתקופת השמירה הזו תסתיים, יכול להיות שתפרו דרישת רגולציה או תאימות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להשמדה ולשחזור של גרסאות מפתחות, בקשו מהאדמין להקצות לכם את התפקיד אדמין של Cloud KMS (roles/cloudkms.admin) ב-IAM במפתח.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
בדיקה אם גרסת המפתח נמצאת בשימוש
לפני שמשמידים גרסת מפתח, צריך לבצע את הפעולות הבאות כדי לבדוק אם גרסת המפתח נמצאת בשימוש:
צפייה בפרטי המעקב אחרי השימוש במפתח. אם יש משאבים שמוגנים על ידי גרסת המפתח שאתם רוצים להשמיד, הצפינו אותם מחדש באמצעות גרסת מפתח אחרת.
מפעילים את היומנים בכל שירות או אפליקציה שבהם יכול להיות שמשתמשים בגרסת המפתח.
מפעילים את היומנים בפרויקט ב-Cloud KMS שמכיל את המפתח.
משביתים את גרסת המפתח. השבתת גרסת המפתח מונעת את השימוש בה. אחרי שמשביתים את גרסת המפתח, כל הניסיונות להשתמש בה נכשלים.
עוקבים אחרי היומנים עד שמוודאים שאף אפליקציה או שירות לא מסתמכים יותר על גרסת המפתח שהושבתה. אם מופיעות שגיאות שמציינות שהגישה לגרסת המפתח נכשלה, צריך להגדיר את האפליקציה או המשאב כך שישתמשו בגרסת מפתח אחרת.
משך הזמן שבו אתם עוקבים אחרי היומנים לפני שאתם משמידים גרסת מפתח תלוי בסוג המפתח, בדפוס השימוש בו וברמת הרגישות שלו. לדוגמה, לפני שמשמידים גרסת מפתח שמשמשת בתהליך שפועל מדי רבעון, צריך להשבית את גרסת המפתח עד שהתהליך הזה מסתיים בהצלחה.
בודקים את השימוש במפתח בהתאם לדרישות התאימות הרלוונטיות. לדוגמה, יכול להיות שגרסת המפתח והנתונים שהוצפנו באמצעותה כפופים לתקופות שמירת נתונים.
השלבים האלה עוזרים לזהות אם עדיין יש צורך במפתח, אבל הם לא מבטיחים שגרסת מפתח מסוימת כבר לא נחוצה. כדאי להטמיע בארגון נהלים והנחיות כדי לוודא שהשמדה של גרסת מפתח לא תגרום להשפעות שליליות.
השמדה של גרסת מפתח
אפשר להשמיד גרסת מפתח פעילה או מושבתת.
המסוף
נכנסים לדף Key Management במסוף Cloud de Confiance .
מסמנים את התיבה לצד גרסת המפתח שרוצים לתזמן להשמדה.
בכותרת, לוחצים על Destroy.
בהודעת האישור, מזינים את שם המפתח ולוחצים על Schedule Destruction.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה העדכנית של Google Cloud CLI או לשדרג אליה.
gcloud kms keys versions destroy KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_VERSION: מספר גרסת המפתח שרוצים להשמיד. -
KEY_NAME: שם המפתח שמכיל את גרסת המפתח שרוצים להשמיד. -
KEY_RING: השם של אוסף המפתחות שמכיל את גרסת המפתח שרוצים להשמיד. -
LOCATION: המיקום של אוסף המפתחות שמכיל את גרסת המפתח שרוצים להשמיד.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-C# ולהתקין את Cloud KMS C# SDK.
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Go ולהתקין את Cloud KMS Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Java ולהתקין את Cloud KMS Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Cloud KMS Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך ללמוד על שימוש ב-PHP ב- Cloud de Confiance ולהתקין את Cloud KMS PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Python ולהתקין את Cloud KMS Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Cloud KMS Ruby SDK.
API
בדוגמאות האלה משתמשים ב-curl כצד הלקוח ב-HTTP כדי להדגים את השימוש ב-API. מידע נוסף על בקרת גישה זמין במאמר גישה ל-Cloud KMS API.
משמידים גרסת מפתח באמצעות הפעלת השיטה CryptoKeyVersions.destroy.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION:destroy" \
--request "POST" \
--header "authorization: Bearer TOKEN"
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של הפרויקט שמכיל את גרסת המפתח שרוצים להשמיד. -
LOCATION: המיקום של אוסף המפתחות שמכיל את גרסת המפתח שרוצים להשמיד. -
KEY_RING: השם של אוסף המפתחות שמכיל את גרסת המפתח שרוצים להשמיד. -
KEY_NAME: שם המפתח שמכיל את גרסת המפתח שרוצים להשמיד. -
KEY_VERSION: מספר גרסת המפתח שרוצים להשמיד.
אם אתם לא מצליחים להשמיד גרסת מפתח, יכול להיות שהארגון שלכם דורש להשבית את גרסאות המפתח לפני ההשמדה. כדאי לנסות להשבית את גרסת המפתח לפני שמשמידים אותה.
כששולחים את בקשת ההשמדה, הסטטוס של גרסת המפתח משתנה ל-scheduled for destruction. אחרי שחלף משך הזמן שהוגדר למפתח בתקופה Scheduled for destruction, הסטטוס של גרסת המפתח משתנה ל-destroyed, כלומר התחילה המחיקה הלוגית של חומר המפתח ממערכות פעילות, והלקוח לא יכול לשחזר את חומר המפתח. חומר המפתחות יכול להישאר במערכות של Google עד 45 ימים ממועד ההשמדה המתוזמן.
כדי לקבל התראה כשגרסת מפתח מתוזמנת להשמדה, קראו את המאמר שימוש ב-Cloud Monitoring עם Cloud KMS.
גרסאות מפתחות שהושמדו לא נחשבות למשאבים שמחויבים.
השמדת מפתחות חיצוניים
כדי להסיר באופן סופי את השיוך בין מפתח Cloud EKM למפתח חיצוני, אתם יכולים להשמיד את גרסת המפתח. אחרי שתקופת Scheduled for destruction מסתיימת, המפתח מושמד. אחרי שגרסת המפתח מושמדת, אי אפשר יותר להצפין נתונים או לפענח נתונים שהוצפנו באמצעות גרסת המפתח של Cloud EKM.
השמדה של גרסת מפתח בניהול ידני ב-Cloud KMS לא משנה את המפתח במנהל המפתחות החיצוני. מומלץ קודם להשמיד את המפתח או את גרסת המפתח ב- Cloud de Confiance by S3NS. אחרי שגרסת המפתח של Cloud EKM מושמדת, אתם יכולים להשמיד את חומר המפתח במנהל המפתחות החיצוני.
כשמשמידים גרסה של מפתח חיצוני מתואם ב-Cloud KMS, קודם מושמדת גרסת המפתח ב- Cloud de Confianceואז נשלחת בקשת השמדה ל-EKM כדי להשמיד את חומר המפתח החיצוני.
שחזור גרסת מפתח
במהלך התקופה שבה גרסת המפתח מתוזמנת להשמדה, אתם יכולים לשחזר אותה על ידי שליחת בקשת שחזור.
המסוף
נכנסים לדף Key Management במסוף Cloud de Confiance .
לוחצים על השם של אוסף המפתחות שמכיל את גרסת המפתח שרוצים לשחזר.
לוחצים על המפתח שמכיל את גרסת המפתח שרוצים לשחזר.
מסמנים את התיבה לצד גרסת המפתח שרוצים לשחזר.
לוחצים על שחזור בכותרת.
בהודעת האישור, לוחצים על שחזור.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה העדכנית של Google Cloud CLI או לשדרג אליה.
gcloud kms keys versions restore KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_VERSION: מספר גרסת המפתח שרוצים לשחזר. -
KEY_NAME: שם המפתח שמכיל את גרסת המפתח שרוצים לשחזר. -
KEY_RING: השם של אוסף המפתחות שמכיל את גרסת המפתח שרוצים לשחזר. -
LOCATION: המיקום של אוסף המפתחות שמכיל את גרסת המפתח שרוצים לשחזר.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-C# ולהתקין את Cloud KMS C# SDK.
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Go ולהתקין את Cloud KMS Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Java ולהתקין את Cloud KMS Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Cloud KMS Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך ללמוד על שימוש ב-PHP ב- Cloud de Confiance ולהתקין את Cloud KMS PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Python ולהתקין את Cloud KMS Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Cloud KMS Ruby SDK.
API
בדוגמאות האלה משתמשים ב-curl כצד הלקוח ב-HTTP כדי להדגים את השימוש ב-API. מידע נוסף על בקרת גישה זמין במאמר גישה ל-Cloud KMS API.
כדי לשחזר גרסת מפתח, שולחים קריאה ל-method CryptoKeyVersions.restore.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION:restore" \
--request "POST" \
--header "authorization: Bearer TOKEN"
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: המזהה של הפרויקט שמכיל את גרסת המפתח שרוצים לשחזר. -
LOCATION: המיקום של אוסף המפתחות שמכיל את גרסת המפתח שרוצים לשחזר. -
KEY_RING: השם של אוסף המפתחות שמכיל את גרסת המפתח שרוצים לשחזר. -
KEY_NAME: שם המפתח שמכיל את גרסת המפתח שרוצים לשחזר. -
KEY_VERSION: מספר גרסת המפתח שרוצים לשחזר.
אחרי שהבקשה לשחזור מסתיימת, גרסת המפתח מושבתת. כדי להשתמש במפתח, צריך להפעיל אותו.
הרשאות IAM נדרשות
כדי להשמיד גרסת מפתח, מבצע הקריאה החוזרת צריך את הרשאת ה-IAM cloudkms.cryptoKeyVersions.destroy במפתח, באוסף המפתחות, בפרויקט, בתיקייה או בארגון.
כדי לשחזר גרסת מפתח, צריך את ההרשאה cloudkms.cryptoKeyVersions.restore.
שתי ההרשאות האלה ניתנות לתפקיד "אדמין ב-Cloud KMS" (roles/cloudkms.admin).
לוח הזמנים למחיקה
ב-Cloud KMS, חומר המפתחות של הלקוחות נמחק מכל התשתית של Google תוך 45 יום מהמועד המתוזמן להשמדה. התהליך כולל הסרת נתונים ממערכות פעילות ומגיבויים של מרכזי נתונים. נתוני לקוחות אחרים כפופים לCloud de Confiance ציר הזמן הסטנדרטי למחיקה של 180 ימים.