בדף הזה מוסבר איך ליצור מפתח ב-Cloud KMS. מפתח יכול להיות מפתח הצפנה סימטרי או אסימטרי, מפתח חתימה אסימטרי או מפתח חתימה של MAC.
כשיוצרים מפתח, מוסיפים אותו לאוסף מפתחות במיקום ספציפי ב-Cloud KMS. אפשר ליצור מחזיק מפתחות חדש או להשתמש במחזיק מפתחות קיים. בדף הזה יוצרים מפתח חדש של Cloud KMS או Cloud HSM ומוסיפים אותו לאוסף מפתחות קיים. כדי ליצור מפתח Cloud EKM, אפשר לעיין במאמר יצירת מפתח חיצוני. הוראות לייבוא מפתח של Cloud KMS או Cloud HSM מופיעות במאמר ייבוא מפתח.
לפני שמתחילים
לפני שמבצעים את המשימות בדף הזה, צריך:
- משאב פרויקט Google Cloud שיכיל את משאבי Cloud KMS. מומלץ להשתמש בפרויקט נפרד למשאבי Cloud KMS שלא מכיל משאבי Google Cloud אחרים.
- השם והמיקום של אוסף המפתחות שבו רוצים ליצור את המפתח. בוחרים מחזיק מפתחות במיקום שקרוב למשאבים האחרים ותומך ברמת ההגנה שבחרתם. כדי לראות את המיקומים הזמינים ואת רמות ההגנה שהם תומכים בהן, אפשר לעיין במאמר בנושא מיקומים של Cloud KMS. כדי ליצור אוסף מפתחות, אפשר לעיין במאמר יצירת אוסף מפתחות.
- אופציונלי: כדי להשתמש ב-CLI של gcloud, צריך להכין את הסביבה.
במסוף Google Cloud , מפעילים את Cloud Shell.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת מפתחות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט או במשאב אב:
- אדמין של Cloud KMS (
roles/cloudkms.admin) -
כדי ליצור מפתחות HSM בדייר יחיד:
Cloud KMS single-tenant HSM Key Creator (
roles/cloudkms.hsmSingleTenantKeyCreator)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות ליצירת מפתחות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור מפתחות, צריך את ההרשאות הבאות:
-
cloudkms.cryptoKeys.create -
cloudkms.cryptoKeys.get -
cloudkms.cryptoKeys.list -
cloudkms.cryptoKeyVersions.create -
cloudkms.cryptoKeyVersions.get -
cloudkms.cryptoKeyVersions.list -
cloudkms.keyRings.get -
cloudkms.keyRings.list -
cloudkms.locations.get -
cloudkms.locations.list -
resourcemanager.projects.get -
כדי לאחזר מפתח ציבורי:
cloudkms.cryptoKeyVersions.viewPublicKey -
כדי ליצור מפתחות HSM עם דייר יחיד:
-
cloudkms.singleTenantHsmInstances.get -
cloudkms.singleTenantHsmInstances.use
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת מפתח הצפנה סימטרי
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שעבורו רוצים ליצור מפתח.
לוחצים על Create key.
בשדה Key name, מזינים שם למפתח.
בשדה רמת הגנה, בוחרים באפשרות תוכנה, HSM או HSM עם דייר יחיד.
אם בחרתם באפשרות Single-tenant HSM, בוחרים את המופע של Single-tenant HSM שבו רוצים ליצור את המפתח.
בקטע Key material, בוחרים באפשרות Generated key.
בשדה מטרה, בוחרים באפשרות הצפנה/פענוח סימטריים.
מאשרים את ערכי ברירת המחדל של תקופת הרוטציה והתחלה בתאריך.
לוחצים על יצירה.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
כדי ליצור מפתח תוכנה או מפתח Cloud HSM מרובה-דיירים, משתמשים בפקודה kms keys create:
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "encryption" \
--protection-level "PROTECTION_LEVEL"
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
PROTECTION_LEVEL: רמת ההגנה שרוצים להשתמש בה עבור המפתח, לדוגמהsoftwareאוhsm. אפשר להשמיט את הדגל--protection-levelעבור מפתחותsoftware.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
--crypto-key-backend לפקודה kms keys create:
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "encryption" \
--protection-level "hsm-single-tenant" \
--crypto-key-backend="projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME"
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_PROJECT: המזהה של הפרויקט שבו קיים מופע Cloud HSM עם דייר יחיד. -
INSTANCE_NAME: השם של מופע Single-tenant Cloud HSM שבו רוצים ליצור את המפתח. מידע נוסף על מכונות Cloud HSM עם דייר יחיד זמין במאמר יצירה וניהול של מכונת Cloud HSM עם דייר יחיד.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --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.
כדי ליצור מפתח תוכנה או מפתח Cloud HSM מרובה-דיירים, משתמשים ב-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": "ENCRYPT_DECRYPT", "versionTemplate": { "protectionLevel": "PROTECTION_LEVEL", "algorithm": "ALGORITHM" }}'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את מחזיק המפתחות. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
KEY_NAME: השם של המפתח. -
PROTECTION_LEVEL: רמת ההגנה של המפתח. לדוגמה:SOFTWAREאוHSM. -
ALGORITHM: אלגוריתם החתימה של HMAC – לדוגמה,HMAC_SHA256. כדי לראות את כל אלגוריתמי ה-HMAC הנתמכים, אפשר לעיין במאמר בנושא אלגוריתמים לחתימת HMAC.
PROTECTION_LEVEL ל-HSM_SINGLE_TENANT ומוסיפים את הדגל --crypto-key-backend לפקודה kms keys 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": "ENCRYPT_DECRYPT", "versionTemplate": { "protectionLevel": "HSM_SINGLE_TENANT",
"algorithm": "ALGORITHM",
"crypto-key-backend": "projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME" }}'
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_PROJECT: המזהה של הפרויקט שבו קיים מופע Cloud HSM עם דייר יחיד. -
INSTANCE_NAME: השם של מופע Single-tenant Cloud HSM שבו רוצים ליצור את המפתח. מידע נוסף על מכונות Cloud HSM עם דייר יחיד זמין במאמר יצירה וניהול של מכונת Cloud HSM עם דייר יחיד.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
יצירת מפתח הצפנה סימטרי עם רוטציה אוטומטית בהתאמה אישית
כשיוצרים מפתח, אפשר לציין את תקופת הרוטציה שלו, כלומר את הזמן שעובר בין היצירה האוטומטית של גרסאות מפתח חדשות. אפשר גם לציין באופן עצמאי את זמן הרוטציה הבא, כך שהרוטציה הבאה תתרחש מוקדם יותר או מאוחר יותר מתקופת רוטציה אחת מעכשיו.
המסוף
כשמשתמשים במסוף 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.
הגדרת משך הזמן של המצב 'מתוכנן להשמדה'
כברירת מחדל, גרסאות של מפתחות ב-Cloud KMS נמצאות 30 ימים במצב של התקופה scheduled for destruction (DESTROY_SCHEDULED) לפני שהן נמחקות. המצב 'מתוזמן להשמדה' נקרא לפעמים מצב מחיקה עם יכולת שחזור. אפשר להגדיר את משך הזמן שבו גרסאות המפתח נשארות במצב הזה, עם המגבלות הבאות:
- אפשר להגדיר את משך הזמן רק במהלך יצירת המפתח.
- אחרי שמציינים את משך הזמן של המפתח, אי אפשר לשנות אותו.
- המשך חל על כל הגרסאות של המפתח שייווצרו בעתיד.
- משך הזמן המינימלי הוא 24 שעות לכל המפתחות, חוץ ממפתחות לייבוא בלבד שמשך הזמן המינימלי שלהם הוא 0.
- משך הזמן המקסימלי הוא 120 ימים.
- משך הזמן שמוגדר כברירת מחדל הוא 30 יום.
יכול להיות שבארגון שלכם מוגדר ערך מינימלי של משך הזמן שנקבע למחיקה, בהתאם למדיניות הארגון. למידע נוסף, ראו שליטה במחיקת מפתחות.
כדי ליצור מפתח עם משך זמן מותאם אישית למצב מתוזמן להשמדה:
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שעבורו רוצים ליצור מפתח.
לוחצים על Create key.
קובעים את ההגדרות של המפתח לאפליקציה.
לוחצים על הגדרות נוספות.
בקטע משך הזמן של המצב 'מתוזמן להשמדה', בוחרים את מספר הימים שבהם המפתח יישאר במצב מתוזמן להשמדה לפני שהוא יושמד באופן סופי.
לוחצים על Create key.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose PURPOSE \
--destroy-scheduled-duration DURATION
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
PURPOSE: ייעוד המפתח, לדוגמה,encryption. -
DURATION: משך הזמן שבו המפתח יישאר במצב scheduled for destruction לפני שהוא יושמד באופן סופי.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
מומלץ להשתמש בברירת המחדל של משך הזמן (30 ימים) לכל המפתחות, אלא אם יש לכם דרישות ספציפיות של אפליקציה או דרישות רגולטוריות שמחייבות ערך שונה.
יצירת מפתח אסימטרי
בקטעים הבאים מוסבר איך ליצור מפתחות אסימטריים.
יצירת מפתח פענוח אסימטרי
כדי ליצור מפתח פענוח אסימטרי בצרור המפתחות ובמיקום שצוינו, פועלים לפי השלבים הבאים. אפשר להתאים את הדוגמאות האלה כדי לציין רמת הגנה או אלגוריתם שונים. מידע נוסף וערכים חלופיים זמינים במאמרים בנושא אלגוריתמים ורמות הגנה.
כשיוצרים את המפתח, הגרסה הראשונית של המפתח היא במצב בהמתנה ליצירה. כשהמצב משתנה למופעל, אפשר להשתמש במפתח. מידע נוסף על מצבי גרסה של מפתח זמין במאמר מצבי גרסה של מפתח.
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שעבורו רוצים ליצור מפתח.
לוחצים על Create key.
בשדה Key name, מזינים שם למפתח.
בשדה Protection level, בוחרים באפשרות Software, HSM או Single-tenant HSM.
אם בחרתם באפשרות Single-tenant HSM, בוחרים את המופע של Single-tenant HSM שבו רוצים ליצור את המפתח.
בקטע Key material, בוחרים באפשרות Generated key.
בקטע מטרה, בוחרים באפשרות פענוח אסימטרי.
בקטע Algorithm (אלגוריתם), בוחרים באפשרות 3072 bit RSA - OAEP Padding - SHA256 Digest (RSA של 3072 ביט – מילוי OAEP – תקציר SHA256). אפשר לשנות את הערך הזה בגרסאות עתידיות של המפתח.
לוחצים על יצירה.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "asymmetric-encryption" \
--default-algorithm "ALGORITHM" \
--protection-level "PROTECTION_LEVEL"
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
ALGORITHM: האלגוריתם שבו יש להשתמש עבור המפתח, לדוגמהrsa-decrypt-oaep-3072-sha256. רשימת האלגוריתמים הנתמכים להצפנה אסימטרית מופיעה במאמר אלגוריתמים להצפנה אסימטרית. -
PROTECTION_LEVEL: רמת ההגנה שרוצים להשתמש בה עבור המפתח.
hsm-single-tenant, מוסיפים את הדגל --cryptoKeyBackend ומציינים את מזהה המשאב של מופע Cloud HSM עם דייר יחיד שבו רוצים ליצור את המפתח:
--crypto-key-backend "projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME"
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.
יוצרים מפתח אסימטרי לפענוח באמצעות ה-methodCryptoKey.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": "ASYMMETRIC_DECRYPT", "protectionLevel": "PROTECTION_LEVEL", "versionTemplate": {"algorithm": "ALGORITHM"}}'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את מחזיק המפתחות. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
KEY_NAME: השם של המפתח. -
ALGORITHM: האלגוריתם שבו רוצים להשתמש עבור המפתח, לדוגמהRSA_DECRYPT_OAEP_3072_SHA256. רשימה של אלגוריתמים נתמכים להצפנה אסימטרית זמינה במאמר בנושא אלגוריתמים להצפנה אסימטרית. -
PROTECTION_LEVEL: רמת ההגנה שרוצים להשתמש בה עבור המפתח.
PROTECTION_LEVEL ל-HSM_SINGLE_TENANT ומוסיפים את השדה cryptoKeyBackend לגוף הפקודה עם מזהה המשאב של מופע Cloud HSM עם דייר יחיד שאליו רוצים לייבא את המפתח:
"cryptoKeyBackend": "projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME"
יצירת מפתח אסימטרי לחתימה
כדי ליצור מפתח חתימה אסימטרי במחזיק המפתחות ובמיקום שצוינו, פועלים לפי השלבים הבאים. אפשר להתאים את הדוגמאות האלה כדי לציין רמת הגנה או אלגוריתם שונים. מידע נוסף וערכים חלופיים זמינים במאמרים בנושא אלגוריתמים ורמות הגנה.
כשיוצרים את המפתח, הגרסה הראשונית של המפתח היא במצב בהמתנה ליצירה. כשהמצב משתנה למופעל, אפשר להשתמש במפתח. מידע נוסף על מצבי גרסה של מפתח זמין במאמר מצבי גרסה של מפתח.
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שעבורו רוצים ליצור מפתח.
לוחצים על Create key.
בשדה Key name, מזינים שם למפתח.
בשדה רמת הגנה, בוחרים באפשרות תוכנה, HSM או HSM עם דייר יחיד.
אם בחרתם באפשרות Single-tenant HSM, בוחרים את המופע של Single-tenant HSM שבו רוצים ליצור את המפתח.
בקטע Key material, בוחרים באפשרות Generated key.
בקטע מטרה, בוחרים באפשרות חתימה אסימטרית.
בקטע Algorithm (אלגוריתם), בוחרים באפשרות Elliptic Curve P-256 - SHA256 Digest (עקומת אליפטית P-256 – גיבוב SHA256). אפשר לשנות את הערך הזה בגרסאות עתידיות של המפתח.
לוחצים על יצירה.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "asymmetric-signing" \
--default-algorithm "ALGORITHM" \
--protection-level "PROTECTION_LEVEL"
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
ALGORITHM: האלגוריתם שבו יש להשתמש עבור המפתח, לדוגמה,ec-sign-p256-sha256. רשימת האלגוריתמים הנתמכים מופיעה במאמר אלגוריתמים אסימטריים לחתימה. -
PROTECTION_LEVEL: רמת ההגנה שרוצים להשתמש בה עבור המפתח.
PROTECTION_LEVEL ל-hsm-single-tenant ולהוסיף את הדגל --cryptoKeyBackend כדי לציין את מזהה המשאב של מופע Cloud HSM עם דייר יחיד שבו רוצים ליצור את המפתח:
--crypto-key-backend "projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME"
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.
יוצרים מפתח חתימה אסימטרי באמצעות הקריאה אל [`CryptoKey.create`](/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys/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": "ASYMMETRIC_SIGN", "versionTemplate": {"protectionLevel": "PROTECTION_LEVEL", "algorithm": "ALGORITHM"}}'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את מחזיק המפתחות. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
KEY_NAME: השם של המפתח. -
PROTECTION_LEVEL: רמת ההגנה שרוצים להשתמש בה עבור המפתח.
ALGORITHM: האלגוריתם שבו רוצים להשתמש עבור המפתח, לדוגמהEC_SIGN_P256_SHA256. במאמר אלגוריתמים אסימטריים לחתימה תוכלו למצוא רשימה של אלגוריתמים נתמכים. אם רוצים ליצור את המפתח ב-Cloud HSM עם דייר יחיד, מגדירים את
PROTECTION_LEVELל-HSM_SINGLE_TENANT, מוסיפים את השדהcryptoKeyBackendלגוף הפקודה ומוסיפים את מזהה המשאב של מופע Cloud HSM עם דייר יחיד שאליו רוצים לייבא את המפתח:"crypto-key-backend": "projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME"
יצירת מפתח KEM
כדי ליצור מפתח לשימוש במנגנון לאריזת מפתחות (KEM) עבור מחזיק המפתחות והמיקום שצוינו, פועלים לפי השלבים הבאים. אפשר להתאים את הדוגמאות האלה כדי לציין רמת הגנה או אלגוריתם שונים. מידע נוסף וערכים חלופיים זמינים במאמרים בנושא אלגוריתמים ורמות הגנה.
כשיוצרים את המפתח, הגרסה הראשונית של המפתח היא במצב בהמתנה ליצירה. כשהמצב משתנה למופעל, אפשר להשתמש במפתח. מידע נוסף על מצבי גרסה של מפתח זמין במאמר מצבי גרסה של מפתח.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "key-encapsulation" \
--default-algorithm "ALGORITHM"
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
ALGORITHM: האלגוריתם שבו יש להשתמש עבור המפתח, לדוגמהml-kem-768. רשימה של אלגוריתמים נתמכים של אנקפסולציה של מפתחות זמינה במאמר אלגוריתמים של אנקפסולציה של מפתחות.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
API
בדוגמאות האלה נעשה שימוש ב-curl כלקוח HTTP כדי להדגים את השימוש ב-API. מידע נוסף על בקרת גישה זמין במאמר גישה ל-Cloud KMS API.
יוצרים מפתח עם מטרה KEY_ENCAPSULATION על ידי קריאה ל-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": "KEY_ENCAPSULATION", "versionTemplate": {"algorithm": "ALGORITHM"}}'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את מחזיק המפתחות. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
KEY_NAME: השם של המפתח. -
ALGORITHM: האלגוריתם שבו רוצים להשתמש עבור המפתח, לדוגמהML_KEM_768. רשימה של אלגוריתמים נתמכים של אנקפסולציה של מפתחות זמינה במאמר אלגוריתמים של אנקפסולציה של מפתחות.
שליפת המפתח הציבורי
כשיוצרים מפתח אסימטרי, Cloud KMS יוצר זוג מפתחות ציבורי/פרטי. אפשר לאחזר את המפתח הציבורי של מפתח אסימטרי מופעל בכל שלב אחרי יצירת המפתח.
המפתח הציבורי הוא בפורמט PEM (דואר אלקטרוני עם פרטיות משופרת). למידע נוסף, אפשר לעיין בקטעים General Considerations ו-Textual Encoding of Subject Public Key Info ב-RFC 7468.
כדי להוריד את המפתח הציבורי של גרסה קיימת של מפתח אסימטרי:
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שמכיל את המפתח האסימטרי שרוצים לאחזר את המפתח הציבורי שלו.
לוחצים על שם המפתח שרוצים לאחזר את המפתח הציבורי שלו.
בשורה שמתאימה לגרסת המפתח שרוצים לאחזר את המפתח הציבורי שלה, לוחצים על הצגת פרטים נוספים .
לוחצים על קבלת מפתח ציבורי.
המפתח הציבורי מוצג בהנחיה. אפשר להעתיק את המפתח הציבורי ללוח. כדי להוריד את המפתח הציבורי, לוחצים על הורדה.
אם האפשרות Get public key לא מופיעה, צריך לוודא את הדברים הבאים:
- המפתח הוא מפתח אסימטרי.
- גרסת המפתח מופעלת.
- יש לך הרשאה מסוג
cloudkms.cryptoKeyVersions.viewPublicKey.
שם הקובץ של מפתח ציבורי שהורד ממסוף Google Cloud הוא מהצורה:
KEY_RING-KEY_NAME-KEY_VERSION.pub
כל חלק בשם הקובץ מופרד באמצעות מקף, לדוגמה
ringname-keyname-version.pub.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
gcloud kms keys versions get-public-key KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--public-key-format PUBLIC_KEY_FORMAT \
--output-file OUTPUT_FILE_PATH
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_VERSION: מספר גרסת המפתח. -
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
PUBLIC_KEY_FORMAT: הפורמט שבו רוצים לייצא את המפתח הציבורי. כדי להשתמש באלגוריתמים של NIST PQC (Preview), משתמשים ב-nist-pqc, וכדי להשתמש ב-X-Wing, משתמשים ב-xwing-raw-bytes. לכל שאר המפתחות, אפשר להשתמש בערךpem,derאו להשמיט את הפרמטר הזה. -
OUTPUT_FILE_PATH: הנתיב שבו רוצים לשמור את קובץ המפתח הציבורי, לדוגמהpublic-key.pub.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --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 CryptoKeyVersions.getPublicKey.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION/publicKey?public_key_format=PUBLIC_KEY_FORMAT" \
--request "GET" \
--header "authorization: Bearer TOKEN"
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את מחזיק המפתחות. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
KEY_NAME: השם של המפתח. -
KEY_VERSION: מספר גרסת המפתח. -
PUBLIC_KEY_FORMAT: הפורמט שבו רוצים לייצא את המפתח הציבורי. עבור אלגוריתמים של PQC (Preview), משתמשים ב-NIST_PQC. לכל שאר המפתחות, אפשר להשתמש ב-PEMאו להשמיט את הפרמטר הזה.
אם משמיטים את פורמט המפתח הציבורי עבור מפתח שאינו PQC, הפלט דומה לזה:
{ "pem": "-----BEGIN PUBLIC KEY-----\nQ29uZ3JhdHVsYXRpb25zLCB5b3UndmUgZGlzY292ZX JlZCB0aGF0IHRoaXMgaXNuJ3QgYWN0dWFsbHkgYSBwdWJsaWMga2V5ISBIYXZlIGEgbmlj ZSBkYXkgOik=\n-----END PUBLIC KEY-----\n", "algorithm": "ALGORITHM", "pemCrc32c": "2561089887", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "PROTECTION_LEVEL" }
עבור אלגוריתם PQC עם פורמט מפתח ציבורי NIST_PQC, הפלט דומה לזה שמוצג בהמשך:
{ "publicKeyFormat": "NIST_PQC", "publicKey": { "crc32cChecksum": "1985843562", "data": "kdcOIrFCC5kN8S4i0+R+AoSc9gYIJ9jEQ6zG235ZmCQ=" } "algorithm": "ALGORITHM", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "PROTECTION_LEVEL" }
המרת מפתח ציבורי לפורמט JWK
בעזרת Cloud KMS אפשר לאחזר מפתח ציבורי בפורמט PEM. יכול להיות שבאפליקציות מסוימות יידרשו פורמטים אחרים של מפתחות, כמו JSON Web Key (JWK). מידע נוסף על פורמט JWK זמין ב-RFC 7517.
כדי להמיר מפתח ציבורי לפורמט JWK, פועלים לפי השלבים הבאים:
Go
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Go ולהתקין את Cloud KMS Go SDK.
Java
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח ב-Java ולהתקין את Cloud KMS Java SDK.
Python
כדי להריץ את הקוד הזה, קודם צריך להגדיר סביבת פיתוח של Python ולהתקין את Cloud KMS Python SDK.
שליטה בגישה למפתחות אסימטריים
כדי להשתמש בחותם או במאמת, צריך לקבל את ההרשאה או התפקיד המתאימים במפתח האסימטרי.
למשתמש או לשירות שיבצעו חתימה, מעניקים את ההרשאה
cloudkms.cryptoKeyVersions.useToSignבמפתח האסימטרי.כדי שמשתמש או שירות יוכלו לאחזר את המפתח הציבורי, צריך להעניק להם את ההרשאה
cloudkms.cryptoKeyVersions.viewPublicKeyבמפתח האסימטרי. המפתח הציבורי נדרש לאימות החתימה.
מידע על הרשאות ותפקידים בגרסה של Cloud KMS זמין במאמר הרשאות ותפקידים.
יצירת מפתח חתימה של MAC
המסוף
נכנסים לדף Key Management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שעבורו רוצים ליצור מפתח.
לוחצים על Create key.
בשדה Key name, מזינים שם למפתח.
בשדה רמת הגנה, בוחרים באפשרות תוכנה, HSM או HSM עם דייר יחיד.
אם בחרתם באפשרות Single-tenant HSM, בוחרים את המופע של Single-tenant HSM שבו רוצים ליצור את המפתח.
בקטע Key material, בוחרים באפשרות Generated key.
בשדה Purpose, בוחרים באפשרות MAC signing/verification.
אופציונלי: ב-Algorithm, בוחרים אלגוריתם לחתימת HMAC.
לוחצים על יצירה.
gcloud
כדי להשתמש ב-Cloud KMS בשורת הפקודה, קודם צריך להתקין את הגרסה האחרונה של Google Cloud CLI או לשדרג אליה.
כדי ליצור מפתח תוכנה או מפתח Cloud HSM רב-דיירים, משתמשים בפקודהkms keys
create:
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "mac" \
--default-algorithm "ALGORITHM" \
--protection-level "PROTECTION_LEVEL"
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: השם של המפתח. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
ALGORITHM: אלגוריתם החתימה של HMAC – לדוגמה,hmac-sha256. כדי לראות את כל אלגוריתמי ה-HMAC הנתמכים, אפשר לעיין במאמר בנושא אלגוריתמים לחתימת HMAC. -
PROTECTION_LEVEL: רמת ההגנה של המפתח, לדוגמהhsm. אפשר להשמיט את הדגל--protection-levelעבורsoftwareמפתחות.
כדי לראות את כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
--crypto-key-backend לפקודה kms keys create:
gcloud kms keys create KEY_NAME \
--keyring KEY_RING \
--location LOCATION \
--purpose "mac" \
--default-algorithm "ALGORITHM" \
--protection-level "PROTECTION_LEVEL" \
--crypto-key-backend="projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME"
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_PROJECT: המזהה של הפרויקט שבו קיים מופע Cloud HSM עם דייר יחיד. -
INSTANCE_NAME: השם של מופע Single-tenant Cloud HSM שבו רוצים ליצור את המפתח. מידע נוסף על מכונות Cloud HSM עם דייר יחיד זמין במאמר יצירה וניהול של מכונת Cloud HSM עם דייר יחיד.
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --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.
כדי ליצור מפתח תוכנה או מפתח Cloud HSM מרובה-דיירים, משתמשים ב-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": "MAC", "versionTemplate": { "protectionLevel": "PROTECTION_LEVEL", "algorithm": "ALGORITHM" }}'
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את מחזיק המפתחות. -
LOCATION: המיקום ב-Cloud KMS שבו נמצא אוסף המפתחות. -
KEY_RING: השם של אוסף המפתחות שמכיל את המפתח. -
KEY_NAME: השם של המפתח. -
PROTECTION_LEVEL: רמת ההגנה של המפתח, לדוגמהSOFTWAREאוHSM. -
ALGORITHM: אלגוריתם החתימה של HMAC, לדוגמהHMAC_SHA256. כדי לראות את כל אלגוריתמי ה-HMAC הנתמכים, אפשר לעיין במאמר בנושא אלגוריתמים לחתימת HMAC.
כדי ליצור מפתח Cloud HSM בדייר יחיד, מוסיפים את השדה cryptoKeyBackend לגוף הבקשה 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": "MAC", "versionTemplate": {
"protectionLevel": "PROTECTION_LEVEL",
"algorithm": "ALGORITHM",
"cryptoKeyBackend": "projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME" }}'
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_PROJECT: המזהה של הפרויקט שבו קיים מופע Cloud HSM עם דייר יחיד. -
INSTANCE_NAME: השם של מופע Single-tenant Cloud HSM שבו רוצים ליצור את המפתח. מידע נוסף על מכונות Cloud HSM עם דייר יחיד זמין במאמר יצירה וניהול של מכונת Cloud HSM עם דייר יחיד.
המאמרים הבאים
- מידע נוסף על רוטציית מפתחות
- מידע על יצירה ואימות של חתימות
- מידע נוסף על הצפנה ופענוח של נתונים באמצעות מפתח RSA
- מידע נוסף על שליפה של מפתח ציבורי