בדף הזה מוסבר איך לסובב מפתח באופן אוטומטי או ידני. מידע נוסף על רוטציית מפתחות זמין במאמר רוטציית מפתחות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות בשביל להחליף מפתחות, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים במפתח:
- אדמין של Cloud KMS (
roles/cloudkms.admin) -
הצפנה מחדש של נתונים:
Cloud KMS CryptoKey Encrypter/Decrypter (
roles/cloudkms.cryptoKeyEncrypterDecrypter)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות לרוטציה של מפתחות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להחליף מפתחות, צריך את ההרשאות הבאות:
-
שינוי הגרסה של המפתח הראשי:
cloudkms.cryptoKeys.update -
משנים או משביתים את הסיבוב האוטומטי:
cloudkms.cryptoKeys.update -
יוצרים גרסה חדשה של המפתח:
cloudkms.cryptoKeyVersions.create -
משביתים גרסאות ישנות של המפתח:
cloudkms.cryptoKeyVersions.update -
הצפנה מחדש של הנתונים:
-
cloudkms.cryptoKeyVersions.useToDecrypt -
cloudkms.cryptoKeyVersions.useToEncrypt
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
משתמש יחיד עם תפקיד מותאם אישית שמכיל את כל ההרשאות האלה יכול להחליף מפתחות ולהצפין מחדש את הנתונים בעצמו. משתמשים בתפקיד Cloud KMS Admin ובתפקיד Cloud KMS CryptoKey Encrypter/Decrypter יכולים לעבוד יחד כדי לבצע רוטציה למפתחות ולהצפין מחדש את הנתונים. כשמקצים תפקידים, חשוב לפעול לפי העיקרון של הרשאות מינימליות. פרטים נוספים זמינים במאמר בנושא הרשאות ותפקידים.
כשמבצעים רוטציה של מפתח, נתונים שהוצפנו באמצעות גרסאות קודמות של המפתח לא מוצפנים מחדש באופן אוטומטי. מידע נוסף מופיע במאמר בנושא פענוח והצפנה מחדש. רוטציה של מפתח לא גורמת להשבתה או להשמדה של גרסאות מפתח קיימות באופן אוטומטי. השמדה של גרסאות מפתח שכבר לא נחוצות עוזרת לצמצם את העלויות.
הגדרת רוטציה אוטומטית
יצירת מפתח חדש עם לוח זמנים מותאם אישית להחלפה
כדי להגדיר רוטציה אוטומטית כשיוצרים מפתח חדש:
המסוף
כשמשתמשים במסוף Google Cloud כדי ליצור מפתח, Cloud KMS מגדיר באופן אוטומטי את תקופת הרוטציה ואת זמן הרוטציה הבא. אפשר להשתמש בערכי ברירת המחדל או לציין ערכים אחרים.
כדי לציין תקופת רוטציה ושעת התחלה שונות, כשיוצרים את המפתח, אבל לפני שלוחצים על הלחצן יצירה:
עבור תקופת רוטציית מפתחות, בוחרים באחת מהאפשרויות.
בקטע התחלה ב, בוחרים את התאריך שבו רוצים שהרוטציה האוטומטית הראשונה תתבצע. אפשר להשאיר את הערך שמוגדר כברירת מחדל בהתחלה ב כדי שהרוטציה האוטומטית הראשונה תתחיל אחרי תקופה אחת של רוטציית מפתחות, מהרגע שבו יוצרים את המפתח.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "encryption" \
--rotation-period ROTATION_PERIOD \
--next-rotation-time NEXT_ROTATION_TIME
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
ROTATION_PERIOD: מרווח הזמן לרוטציה של המפתח. לדוגמה,30dלרוטציה של המפתח כל 30 יום. תקופת הרוטציה צריכה להיות לפחות יום אחד ולכל היותר 100 שנים. למידע נוסף, ראו CryptoKey.rotationPeriod. -
NEXT_ROTATION_TIME: חותמת הזמן שבה תסתיים הרוטציה הראשונה. לדוגמה:2023-01-01T01:02:03. אפשר להשמיט את--next-rotation-timeכדי לתזמן את הרוטציה הראשונה לתקופה של רוטציה אחת מהרגע שבו מריצים את הפקודה. מידע נוסף זמין במאמרCryptoKey.nextRotationTime.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את ה-SDK של Cloud KMS C# .
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Cloud KMS Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Java ולהתקין את Cloud KMS Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Cloud KMS Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך לקרוא על שימוש ב-PHP ב- Google Cloud ולהתקין את Cloud KMS PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Python ולהתקין את Cloud KMS Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Cloud KMS Ruby SDK.
API
בדוגמאות האלה נעשה שימוש ב-curl כלקוח HTTP כדי להדגים את השימוש ב-API. מידע נוסף על בקרת גישה זמין במאמר גישה ל-Cloud KMS API.
כדי ליצור מפתח, משתמשים ב-method CryptoKey.create:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \
--request "POST" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{"purpose": "PURPOSE", "rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
מחליפים את מה שכתוב בשדות הבאים:
-
PURPOSE: המטרה של המפתח. -
ROTATION_PERIOD: מרווח הזמן לרוטציה של המפתח. לדוגמה,30dלרוטציה של המפתח כל 30 יום. תקופת הרוטציה צריכה להיות לפחות יום אחד ולכל היותר 100 שנים. למידע נוסף, ראו CryptoKey.rotationPeriod. -
NEXT_ROTATION_TIME: חותמת הזמן שבה תסתיים הרוטציה הראשונה. לדוגמה:2023-01-01T01:02:03. מידע נוסף זמין במאמרCryptoKey.nextRotationTime.
עדכון מפתח קיים כדי להוסיף לוח זמנים להחלפה
כדי להגדיר רוטציה אוטומטית במפתח קיים:
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שמכיל את המפתח שרוצים להוסיף לו תזמון להחלפה.
לוחצים על המפתח שרוצים להוסיף לו תזמון רוטציה.
בכותרת, לוחצים על עריכת תקופת הרוטציה.
בהנחיה, בוחרים ערכים חדשים לשדות תקופת הרוטציה והתחלה בתאריך.
בהודעה, לוחצים על שמירה.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys update KEY_NAME \
--location LOCATION \
--keyring KEY_RING \
--rotation-period ROTATION_PERIOD \
--next-rotation-time NEXT_ROTATION_TIME
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
ROTATION_PERIOD: מרווח הזמן לרוטציה של המפתח. לדוגמה,30dלרוטציה של המפתח כל 30 יום. תקופת הרוטציה צריכה להיות לפחות יום אחד ולכל היותר 100 שנים. למידע נוסף, ראו CryptoKey.rotationPeriod. -
NEXT_ROTATION_TIME: חותמת הזמן שבה תושלם הרוטציה הבאה, לדוגמה2023-01-01T01:02:03. אפשר להשמיט את--next-rotation-timeכדי לתזמן את הרוטציה הבאה לתקופה של רוטציה אחת מהרגע שבו מריצים את הפקודה. מידע נוסף זמין במאמרCryptoKey.nextRotationTime.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את ה-SDK של Cloud KMS C# .
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Cloud KMS Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Java ולהתקין את Cloud KMS Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Cloud KMS Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך לקרוא על שימוש ב-PHP ב- Google Cloud ולהתקין את Cloud KMS PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Python ולהתקין את Cloud KMS Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Cloud KMS Ruby SDK.
API
בדוגמאות האלה נעשה שימוש ב-curl כלקוח HTTP כדי להדגים את השימוש ב-API. מידע נוסף על בקרת גישה זמין במאמר גישה ל-Cloud KMS API.
כדי לעדכן מפתח, משתמשים ב-method CryptoKey.patch:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \
--request "PATCH" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{"rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
מחליפים את מה שכתוב בשדות הבאים:
-
ROTATION_PERIOD: מרווח הזמן לרוטציה של המפתח. לדוגמה,30dלרוטציה של המפתח כל 30 יום. תקופת הרוטציה צריכה להיות לפחות יום אחד ולכל היותר 100 שנים. למידע נוסף, ראו CryptoKey.rotationPeriod. -
NEXT_ROTATION_TIME: חותמת הזמן שבה תושלם הרוטציה הבאה, לדוגמה2023-01-01T01:02:03. מידע נוסף זמין במאמרCryptoKey.nextRotationTime.
רוטציה ידנית של מפתח
קודם כל, יוצרים גרסה חדשה של המפתח:
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שמכיל את המפתח שעבורו רוצים ליצור גרסה חדשה.
לוחצים על המפתח שעבורו רוצים ליצור גרסה חדשה.
בכותרת, לוחצים על סיבוב.
בהודעה שמופיעה, לוחצים על סיבוב כדי לאשר.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys versions create \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות.
גרסאות המפתחות ממוספרות ברצף.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את ה-SDK של Cloud KMS C# .
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Cloud KMS Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Java ולהתקין את Cloud KMS Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Cloud KMS Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך לקרוא על שימוש ב-PHP ב- Google Cloud ולהתקין את Cloud KMS PHP SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Python ולהתקין את Cloud KMS Python SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Cloud KMS Ruby SDK.
API
בדוגמאות האלה נעשה שימוש ב-curl כלקוח HTTP כדי להדגים את השימוש ב-API. מידע נוסף על בקרת גישה זמין במאמר גישה ל-Cloud KMS API.
כדי לבצע רוטציה של מפתח באופן ידני, קודם יוצרים גרסה חדשה של המפתח על ידי קריאה לשיטה CryptoKeyVersions.create.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions" \
--request "POST" \
--header "authorization: Bearer TOKEN"
הפקודה הזו יוצרת גרסה חדשה של המפתח, אבל לא מגדירה אותה כגרסה הראשית.
כדי להגדיר את גרסת המפתח החדשה כגרסה הראשית, אפשר לעיין במאמר בנושא הגדרת גרסה קיימת כגרסת המפתח הראשית.
במקרה הצורך, מצפינים מחדש את הנתונים שהוצפנו באמצעות הגרסה הקודמת של המפתח.
הגדרת גרסה קיימת כגרסת המפתח הראשי
כדי להגדיר גרסת מפתח אחרת כגרסה הראשית של מפתח, צריך לעדכן את המפתח עם פרטי הגרסה הראשית החדשה. גרסת מפתח צריכה להיות מופעלת כדי שאפשר יהיה להגדיר אותה כגרסה הראשית.
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שמכיל את המפתח שרוצים לעדכן את הגרסה הראשית שלו.
לוחצים על המפתח שרוצים לעדכן את הגרסה הראשית שלו.
בשורה שמתאימה לגרסת המפתח שרוצים להגדיר כראשית, לוחצים על הצגת פרטים נוספים .
בתפריט, לוחצים על הגדרת הגרסה כראשית.
בהודעת האישור, לוחצים על הגדרת כתובת כראשית.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys update KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--primary-version KEY_VERSION
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. - KEY_VERSION: מספר הגרסה של הגרסה החדשה של המפתח הראשי.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את ה-SDK של Cloud KMS C# .
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Cloud KMS Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Java ולהתקין את Cloud KMS Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Cloud KMS Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך לקרוא על שימוש ב-PHP ב- Google Cloud ולהתקין את Cloud KMS PHP SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Cloud KMS Ruby SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Python ולהתקין את Cloud KMS Python SDK.
API
בדוגמאות האלה נעשה שימוש ב-curl כלקוח HTTP כדי להדגים את השימוש ב-API. מידע נוסף על בקרת גישה זמין במאמר גישה ל-Cloud KMS API.
כדי לשנות את גרסת המפתח הראשי, קוראים לשיטה CryptoKey.updatePrimaryVersion.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME:updatePrimaryVersion" \
--request "POST" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{"cryptoKeyVersionId": "KEY_VERSION"}'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את מחזיק המפתחות. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
KEY_NAME: השם של המפתח. - KEY_VERSION: מספר הגרסה של הגרסה החדשה של המפתח הראשי.
כשמשנים את הגרסה הראשית של המפתח, השינוי מתעדכן בדרך כלל תוך דקה. עם זאת, במקרים חריגים, יכול להיות שיעברו עד 3 שעות עד שהשינוי יתעדכן. במהלך הזמן הזה, יכול להיות שהגרסה הראשית הקודמת תשמש להצפנת נתונים. מידע נוסף זמין במאמר בנושא עקביות של משאבים ב-Cloud KMS.
השבתת הרוטציה האוטומטית
כדי להשבית את הרוטציה האוטומטית של מפתח, מוחקים את לוח הזמנים של הרוטציה של המפתח:
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שמכיל את המפתח שרוצים להסיר ממנו את לוח הזמנים להחלפה.
לוחצים על המפתח שממנו רוצים להסיר את לוח הזמנים של הרוטציה.
בכותרת, לוחצים על עריכת תקופת הרוטציה.
בהנחיה, לוחצים על השדה תקופת הרוטציה ובוחרים באפשרות Never (manual rotation) (אף פעם (רוטציה ידנית)).
בהודעה, לוחצים על שמירה.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys update KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--remove-rotation-schedule
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
C#
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח בשפת C# ולהתקין את ה-SDK של Cloud KMS C# .
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Cloud KMS Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Java ולהתקין את Cloud KMS Java SDK.
Node.js
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Node.js ולהתקין את Cloud KMS Node.js SDK.
PHP
כדי להריץ את הקוד הזה, קודם צריך לקרוא על שימוש ב-PHP ב- Google Cloud ולהתקין את Cloud KMS PHP SDK.
Ruby
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Ruby ולהתקין את Cloud KMS Ruby SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Python ולהתקין את Cloud KMS Python SDK.
API
בדוגמאות האלה נעשה שימוש ב-curl כלקוח HTTP כדי להדגים את השימוש ב-API. מידע נוסף על בקרת גישה זמין במאמר גישה ל-Cloud KMS API.
כדי לעדכן מפתח, משתמשים ב-method CryptoKey.patch:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?updateMask=rotationPeriod,nextRotationTime" \
--request "PATCH" \
--header "authorization: Bearer TOKEN" \
--header "content-type: application/json" \
--data '{"rotationPeriod": null, "nextRotationTime": null}'
פרטים נוספים על rotationPeriod ועל nextRotationTime זמינים במאמר keyRings.cryptoKeys.
ביצוע רוטציה למפתח חיצוני
סיבוב של מפתח חיצוני מתואם
אתם יכולים להגדיר רוטציה אוטומטית למפתחות חיצוניים סימטריים מתואמים. אתם יכולים גם ליצור באופן ידני גרסה חדשה של מפתח למפתחות חיצוניים סימטריים או אסימטריים מתואמים.
כשמבצעים רוטציה או יוצרים גרסת מפתח חדשה, כל הנתונים החדשים שמוגנים באמצעות המפתח הזה מוצפנים באמצעות גרסת המפתח החדשה. נתונים שמוגנים באמצעות גרסה קודמת של מפתח לא מוצפנים מחדש. לכן, מנהל המפתחות החיצוני צריך להמשיך להנגיש את חומר המפתח של הגרסה הקודמת של המפתח.
כדי ליצור גרסה חדשה של מפתח חיצוני מתואם, מבצעים את השלבים הבאים:
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
בוחרים את מחזיק המפתחות ואז את המפתח.
לוחצים על יצירת גרסה. הודעה מציינת שגרסת המפתח החדשה שלכם תיווצר גם ב-Cloud KMS וגם ב-EKM. אם מופיע השדה Key path או Key URI, המפתח שנבחר הוא לא מפתח חיצוני מתואם.
כדי לאשר שרוצים ליצור גרסה חדשה של המפתח, לוחצים על יצירת גרסה.
גרסת המפתח החדשה מופיעה במצב בהמתנה ליצירה. במפתחות סימטריים, גרסאות מפתח שנוצרו באופן ידני לא מוגדרות אוטומטית כגרסת המפתח הראשית. אפשר להגדיר את גרסת המפתח החדשה כראשית.
CLI של gcloud
כדי ליצור גרסה חדשה של מפתח סימטרי ולהגדיר אותה כגרסה הראשית של המפתח, משתמשים בפקודה kms keys versions create עם הדגל --primary:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --primary
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות.
כדי ליצור גרסה חדשה של מפתח אסימטרי או גרסה חדשה של מפתח סימטרי שלא משמשת כגרסה הראשית של המפתח, משתמשים בפקודה kms keys versions
create:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות.
החלפת מפתח Cloud EKM שמנוהל באופן ידני באמצעות מפתח VPC
קודם כל, מסובבים את חומר המפתח החיצוני במנהל המפתחות החיצוני. אם התוצאה היא נתיב מפתח חדש, צריך לבצע רוטציה או ליצור גרסת מפתח חדשה של Cloud EKM עם נתיב המפתח החדש. למפתחות הצפנה סימטריים, מבצעים רוטציה של מפתח Cloud EKM ומציינים את נתיב המפתח החדש ממנהל המפתחות החיצוני. למפתחות אסימטריים, יוצרים גרסת מפתח חדשה ומציינים את נתיב המפתח החדש.
כשמבצעים רוטציה או יוצרים גרסת מפתח חדשה, כל הנתונים החדשים שמוגנים באמצעות המפתח הזה מוצפנים באמצעות גרסת המפתח החדשה. נתונים שמוגנים באמצעות גרסה קודמת של מפתח לא מוצפנים מחדש. לכן, מנהל המפתחות החיצוני צריך להמשיך להנגיש את חומר המפתח של הגרסה הקודמת של המפתח.
אם חומר המפתח במערכת של שותף חיצוני לניהול מפתחות לא משתנה, אבל נתיב המפתח משתנה, אתם יכולים לעדכן את הנתיב החיצוני של המפתח בלי לבצע רוטציה של המפתח.
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
בוחרים את מחזיק המפתחות ואז את המפתח.
לוחצים על Rotate key (ביצוע רוטציה למפתח).
בקטע Key path, מזינים את נתיב המפתח של הגרסה החדשה.
לוחצים על החלפת מפתח כדי לאשר.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
כדי ליצור גרסה חדשה של מפתח סימטרי ולהגדיר אותה כגרסה הראשית של המפתח, משתמשים בפקודה kms keys versions create עם הדגל --primary:
gcloud kms keys versions create \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--ekm-connection-key-path EXTERNAL_KEY_PATH \
--primary
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
EXTERNAL_KEY_PATH: הנתיב לגרסה החדשה של המפתח החיצוני.
כדי ליצור גרסה חדשה של מפתח אסימטרי או גרסה חדשה של מפתח סימטרי שלא משמשת כגרסה הראשית של המפתח, משתמשים בפקודה kms keys versions
create:
gcloud kms keys versions create \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--ekm-connection-key-path EXTERNAL_KEY_PATH
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
EXTERNAL_KEY_PATH: הנתיב לגרסה החדשה של המפתח החיצוני.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
אחרי שגרסת המפתח נוצרת בהצלחה, אפשר להשתמש בה בדיוק כמו בכל גרסת מפתח אחרת ב-Cloud KMS.
החלפת מפתח Cloud EKM שמנוהל באופן ידני דרך מפתח אינטרנט
קודם כל, מסובבים את חומר המפתח החיצוני במנהל המפתחות החיצוני. אם הפעולה הזו יוצרת URI חדש, צריך לבצע רוטציה או ליצור גרסה חדשה של מפתח Cloud EKM עם ה-URI החדש. למפתחות הצפנה סימטריים, מבצעים רוטציה של מפתח Cloud EKM ומציינים את ה-URI החדש של המפתח ממנהל המפתחות החיצוני. למפתחות אסימטריים, יוצרים גרסת מפתח חדשה ומציינים את ה-URI של המפתח החדש.
כשמבצעים רוטציה או יוצרים גרסת מפתח חדשה, כל הנתונים החדשים שמוגנים באמצעות המפתח הזה מוצפנים באמצעות גרסת המפתח החדשה. נתונים שמוגנים באמצעות גרסה קודמת של מפתח לא מוצפנים מחדש. לכן, מנהל המפתחות החיצוני צריך להמשיך להנגיש את חומר המפתח של הגרסה הקודמת של המפתח.
אם חומר המפתח במערכת של השותף החיצוני לניהול מפתחות לא משתנה, אבל ה-URI משתנה, אתם יכולים לעדכן את ה-URI החיצוני של המפתח בלי לבצע רוטציה של המפתח.
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
בוחרים את מחזיק המפתחות ואז את המפתח.
בוחרים באפשרות Rotate key (החלפת מפתח) למפתחות סימטריים או באפשרות Create version (יצירת גרסה) למפתחות אסימטריים.
מזינים את ה-URI של המפתח החדש ובוחרים באפשרות Rotate Key (החלפת מפתח) למפתחות סימטריים או באפשרות Create version (יצירת גרסה) למפתחות אסימטריים.
גרסת המפתח החדשה הופכת לגרסה הראשית.
CLI של gcloud
כדי ליצור גרסה חדשה של מפתח סימטרי ולהגדיר אותה כגרסה הראשית של המפתח, משתמשים בפקודה kms keys versions create עם הדגל --primary:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI \ --primary
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
EXTERNAL_KEY_URI: ה-URI של המפתח של הגרסה החדשה של המפתח החיצוני.
כדי ליצור גרסה חדשה של מפתח אסימטרי או גרסה חדשה של מפתח סימטרי שלא משמשת כגרסה הראשית של המפתח, משתמשים בפקודה kms keys versions
create:
gcloud kms keys versions create \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --external-key-uri EXTERNAL_KEY_URI
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
EXTERNAL_KEY_URI: ה-URI של המפתח של הגרסה החדשה של המפתח החיצוני.
המאמרים הבאים
- אחרי שמבצעים רוטציה של מפתח, אפשר להצפין מחדש נתונים שהוצפנו באמצעות המפתח הזה.
- אחרי שמצפינים מחדש את הנתונים, אפשר לבדוק אם גרסת המפתח נמצאת בשימוש.
- אחרי שמוודאים שגרסת מפתח כבר לא בשימוש, אפשר להשמיד אותה.