הוספת הצפנת CMEK לסודות אזוריים

בדף הזה מוסבר איך ליצור סודות חדשים עם מפתחות הצפנה בניהול הלקוח (CMEK) ואיך לעדכן סודות קיימים כדי להשתמש במפתחות CMEK.

סקירה כללית

CMEK מוסיף שכבת אבטחה ושליטה נוספת על המידע האישי הרגיש שלכם שמאוחסן כסודות אזוריים. אתם יכולים להשתמש ב-CMEK כדי להשיג את המטרות הבאות:

  • שליטה מלאה במפתחות ההצפנה שמשמשים להגנה על הסודות.
  • שימוש במערכת ניהול מפתחות משלכם עם מדיניות אבטחה מחמירה יותר, יכולות ביקורת ותכונות תאימות.
  • כדי לפעול בהתאם לתקנות בנושא ריבונות נתונים, אפשר לשמור את המפתחות בתשתית שלכם.
  • הגדרת אמצעי בקרה פרטניים לגישה למפתחות ההצפנה, וציון מי יכול להשתמש בהם ובאילו מקרים.

מגבלות:

השימוש ב-CMEK עם סודות אזוריים כפוף למגבלות הבאות:

לפני שמתחילים

  1. מפעילים את Secret Manager API, פעם אחת לכל פרויקט.
  2. מקצים את התפקיד Secret Manager Admin (אדמין של Secret Manager) ‏(roles/secretmanager.admin) בפרויקט, בתיקייה או בארגון.
  3. כדי לבצע אימות ל-Secret Manager API, אפשר להשתמש באחת מהדרכים הבאות:

    • אם אתם משתמשים בספריות לקוח כדי לגשת ל-Secret Manager API, אתם צריכים להגדיר Application Default Credentials.
    • אם אתם משתמשים ב-Google Cloud CLI כדי לגשת ל-Secret Manager API, אתם צריכים להשתמש בפרטי הכניסה שלכם ל-Google Cloud CLI כדי לבצע אימות.
    • כדי לאמת קריאה ל-REST, משתמשים בפרטי הכניסה של Google Cloud CLI או ב-Application Default Credentials.
  4. כדי להפעיל את CMEK וליצור את מפתחות ה-CMEK ואת מחזיקי המפתחות שנדרשים בשלב הזה, אפשר לעיין במאמר הפעלת מפתחות הצפנה בניהול הלקוח ב-Secret Manager.

יצירת סוד אזורי עם הצפנת CMEK

כדי ליצור סוד חדש עם הצפנה באמצעות CMEK, משתמשים באחת מהשיטות הבאות:

המסוף

  1. נכנסים לדף Secret Manager במסוף Cloud de Confiance .

    מעבר אל Secret Manager

  2. בדף Secret Manager, לוחצים על הכרטיסייה Regional secrets ואז על Create regional secret.

  3. בדף Create regional secret (יצירת Secret אזורי), מזינים שם ל-Secret בשדה Name (שם). שם הסוד יכול להכיל אותיות רישיות וקטנות, ספרות, מקפים וקווים תחתונים. האורך המקסימלי של השם הוא 255 תווים.

  4. מזינים ערך לסוד (לדוגמה, abcd1234). ערך הסוד יכול להיות בכל פורמט, אבל הוא לא יכול להיות גדול מ-64KiB. אפשר גם להעלות קובץ טקסט שמכיל את הערך הסודי באמצעות האפשרות העלאת קובץ. הפעולה הזו יוצרת באופן אוטומטי את גרסת הסוד.

  5. ברשימה Region, בוחרים את המיקום שבו רוצים לאחסן את הסוד האזורי.

  6. בקטע הצפנה, בוחרים באפשרות מפתח הצפנה בניהול הלקוח (CMEK), ואז בוחרים את מפתח ה-CMEK מהרשימה מפתח הצפנה. מוודאים שמפתח ה-CMEK קיים במיקום שצוין, ולפרויקט Secret Manager יש את ההרשאות הנדרשות לשימוש במפתח.

  7. לוחצים על Create secret (יצירת סוד).

gcloud

לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:

  • SECRET_ID: מזהה הסוד
  • LOCATION: Cloud de Confiance by S3NS המיקום שבו רוצים ליצור את הסוד
  • KMS_PROJECT_ID: המזהה של הפרויקט שלכם ב- Cloud de Confiance by S3NS שמופעל בו Cloud Key Management Service.
  • KMS_KEY_LOCATION: המיקום של מפתח Cloud KMS. המיקום הזה צריך להיות זהה למיקום של הסוד.
  • YOUR_KEY_RING: השם של אוסף המפתחות ב-Cloud KMS שבו שמרתם את מפתח ה-CMEK.
  • YOUR_CMEK_KEY: מפתח ההצפנה הספציפי בניהול הלקוח (CMEK) שיצרתם באוסף המפתחות שבחרתם ב-Cloud KMS.

מריצים את הפקודה הבאה:

‫Linux,‏ macOS או Cloud Shell

gcloud secrets create SECRET_ID --location=LOCATION
    --regional-kms-key-name="projects/KMS_PROJECT_ID/locations/KMS_KEY_LOCATION/keyRings/YOUR_KEY_RING/cryptoKeys/YOUR_CMEK_KEY"

‏Windows (PowerShell)

gcloud secrets create SECRET_ID --location=LOCATION
    --regional-kms-key-name="projects/KMS_PROJECT_ID/locations/KMS_KEY_LOCATION/keyRings/YOUR_KEY_RING/cryptoKeys/YOUR_CMEK_KEY"

Windows‏ (cmd.exe)

gcloud secrets create SECRET_ID --location=LOCATION
    --regional-kms-key-name="projects/KMS_PROJECT_ID/locations/KMS_KEY_LOCATION/keyRings/YOUR_KEY_RING/cryptoKeys/YOUR_CMEK_KEY"

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION: Cloud de Confiance by S3NS המיקום שבו רוצים ליצור את הסוד.
  • PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • SECRET_ID: המזהה של הסוד.
  • KMS_PROJECT_ID: המזהה של הפרויקט שלכם ב- Cloud de Confiance by S3NS שמופעל בו Cloud Key Management Service.
  • KMS_KEY_LOCATION: המיקום של מפתח Cloud KMS. המיקום הזה צריך להיות זהה למיקום של הסוד.
  • YOUR_KEY_RING: השם של אוסף המפתחות ב-Cloud KMS שבו שמרתם את מפתח ה-CMEK.
  • YOUR_CMEK_KEY: מפתח ההצפנה הספציפי בניהול הלקוח (CMEK) שיצרתם באוסף המפתחות שבחרתם ב-Cloud KMS.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID

גוף בקשת JSON:

{"customer_managed_encryption": {"kms_key_name": "projects/KMS_PROJECT_ID/locations/KMS_KEY_LOCATION/keyRings/YOUR_KEY_RING/cryptoKeys/YOUR_CMEK_KEY"}}

כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID" | Select-Object -Expand Content

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
  "createTime": "2024-03-27T13:30:07.437859Z",
  "etag": "\"1614a467b60423\""
  "customerManagedEncryption": {
    "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KMS_KEY_LOCATION/keyRings/secret-manager-cmek/cryptoKeys/my-cmek-key"
  }
}

עדכון סוד קיים לשימוש ב-CMEK

כדי לעדכן סוד קיים לשימוש ב-CMEK, משתמשים באחת מהשיטות הבאות:

המסוף

  1. נכנסים לדף Secret Manager במסוף Cloud de Confiance .

    מעבר אל Secret Manager

  2. בדף Secret Manager (ניהול סודות), לוחצים על הכרטיסייה Regional secrets (סודות אזוריים).

  3. כדי לערוך סוד, משתמשים באחת מהשיטות הבאות:

    • ברשימה, מאתרים את הסוד ולוחצים על התפריט Actions שמשויך לסוד הזה. בתפריט פעולות, לוחצים על עריכה.

    • לוחצים על שם הסוד כדי לעבור לדף הפרטים של הסוד. בדף הפרטים של הסוד, לוחצים על עריכת הסוד.

  4. בדף Edit secret עוברים לקטע Encryption.

  5. בקטע הצפנה, בוחרים באפשרות מפתח הצפנה בניהול הלקוח (CMEK), ואז בוחרים את מפתח ה-CMEK מהרשימה מפתח הצפנה. מוודאים שמפתח ה-CMEK קיים במיקום שצוין, ולפרויקט Secret Manager יש את ההרשאות הנדרשות לשימוש במפתח.

  6. לוחצים על עדכון הסוד.

gcloud

לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:

  • SECRET_ID: מזהה הסוד
  • LOCATION: Cloud de Confiance by S3NS המיקום של הסוד
  • KMS_PROJECT_ID: המזהה של הפרויקט שלכם ב- Cloud de Confiance by S3NS שמופעל בו Cloud Key Management Service.
  • KMS_KEY_LOCATION: המיקום של מפתח Cloud KMS. המיקום הזה צריך להיות זהה למיקום של הסוד.
  • YOUR_KEY_RING: השם של אוסף המפתחות ב-Cloud KMS שבו שמרתם את מפתח ה-CMEK.
  • YOUR_CMEK_KEY: מפתח ההצפנה הספציפי בניהול הלקוח (CMEK) שיצרתם באוסף המפתחות שבחרתם ב-Cloud KMS.

מריצים את הפקודה הבאה:

‫Linux,‏ macOS או Cloud Shell

gcloud secrets update SECRET_ID --location=LOCATION
    --regional-kms-key-name="projects/KMS_PROJECT_ID/locations/KMS_KEY_LOCATION/keyRings/YOUR_KEY_RING/cryptoKeys/YOUR_CMEK_KEY"

‏Windows (PowerShell)

gcloud secrets update SECRET_ID --location=LOCATION
    --regional-kms-key-name="projects/KMS_PROJECT_ID/locations/KMS_KEY_LOCATION/keyRings/YOUR_KEY_RING/cryptoKeys/YOUR_CMEK_KEY"

Windows‏ (cmd.exe)

gcloud secrets update SECRET_ID --location=LOCATION
    --regional-kms-key-name="projects/KMS_PROJECT_ID/locations/KMS_KEY_LOCATION/keyRings/YOUR_KEY_RING/cryptoKeys/YOUR_CMEK_KEY"

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • LOCATION: Cloud de Confiance by S3NS המיקום של הסוד.
  • PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NS .
  • SECRET_ID: המזהה של הסוד.
  • KMS_PROJECT_ID: המזהה של הפרויקט שלכם ב- Cloud de Confiance by S3NS שמופעל בו Cloud Key Management Service.
  • KMS_KEY_LOCATION: המיקום של מפתח Cloud KMS. המיקום הזה צריך להיות זהה למיקום של הסוד.
  • YOUR_KEY_RING: השם של אוסף המפתחות ב-Cloud KMS שבו שמרתם את מפתח ה-CMEK.
  • YOUR_CMEK_KEY: מפתח ההצפנה הספציפי בניהול הלקוח (CMEK) שיצרתם באוסף המפתחות שבחרתם ב-Cloud KMS.

ה-method של ה-HTTP וכתובת ה-URL:

PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=customer_managed_encryption

גוף בקשת JSON:

{"customer_managed_encryption": {"kms_key_name": "projects/KMS_PROJECT_ID/locations/KMS_KEY_LOCATION/keyRings/YOUR_KEY_RING/cryptoKeys/YOUR_CMEK_KEY"}}"

כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=customer_managed_encryption"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=customer_managed_encryption" | Select-Object -Expand Content

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
  "createTime": "2024-03-27T13:30:07.437859Z",
  "etag": "\"16211daf5f29c5\""
  "customerManagedEncryption": {
    "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KMS_KEY_LOCATION/keyRings/secret-manager-cmek/cryptoKeys/my-cmek-key"
  }
}

המאמרים הבאים