כברירת מחדל, Secure Source Manager מצפין את התוכן של הלקוחות במצב מנוחה. Secure Source Manager מטפל בהצפנה בשבילכם בלי שתצטרכו לבצע פעולות נוספות. האפשרות הזו נקראת הצפנת ברירת המחדל של Google.
אם אתם רוצים לשלוט במפתחות ההצפנה, אתם יכולים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) ב-Cloud KMS עם שירותים שמשולבים עם CMEK, כולל Secure Source Manager. שימוש במפתחות Cloud KMS מאפשר לכם לשלוט ברמת ההגנה, במיקום, בלוח הזמנים של הרוטציה, בשימוש ובהרשאות הגישה, ובגבולות הקריפטוגרפיים. שימוש ב-Cloud KMS מאפשר גם לעקוב אחרי השימוש במפתחות, לצפות ביומני ביקורת ולשלוט במחזורי החיים של המפתחות. במקום ש-Google תהיה הבעלים של המפתחות הסימטריים להצפנת מפתחות (KEK) שמגנים על הנתונים שלכם ותנהל אותם, אתם שולטים במפתחות האלה ומנהלים אותם ב-Cloud KMS.
אחרי שמגדירים את המשאבים עם CMEK, חוויית הגישה למשאבים של Secure Source Manager דומה לשימוש בהצפנה שמוגדרת כברירת מחדל ב-Google. מידע נוסף על אפשרויות ההצפנה זמין במאמר מפתחות הצפנה בניהול הלקוח (CMEK).
Cloud KMS יכול לפעול בפרויקט נפרד שבו אתם מנהלים באופן מרכזי מפתחות לכמה פרויקטים, או באותוGoogle Cloud פרויקט כמו Secure Source Manager. כדי לתמוך בהפרדת תפקידים ולשפר את השליטה בגישה למפתחות, מומלץ ליצור ולנהל מפתחות בפרויקט נפרד שלא כולל משאבים אחרים של Google Cloud.
מקצים מפתח Cloud KMS כשיוצרים מופע. אי אפשר לשנות את מנגנון ההצפנה של מופע קיים. אם יש לכם מופע מוצפן באמצעות CMEK, אי אפשר לשנות את מנגנון ההצפנה להצפנה שמוגדרת כברירת מחדל ב-Google או להקצות מפתח אחר של Cloud Key Management Service להצפנה.
צריך ליצור את המופע באותו המיקום שבו נמצא מפתח Cloud KMS.
CMEK עם Cloud KMS Autokey
אתם יכולים ליצור מפתחות CMEK באופן ידני כדי להגן על המשאבים של Secure Source Manager, או להשתמש ב-Cloud KMS Autokey. Autokey יוצרת מחזיקי מפתחות ומפתחות לפי דרישה כדי לתמוך ביצירת משאבים ב-Secure Source Manager. סוכני שירות שמשתמשים במפתחות לפעולות הצפנה ופענוח נוצרים אם הם לא קיימים כבר, ומקבלים את התפקידים הנדרשים של ניהול זהויות והרשאות גישה (IAM). מידע נוסף מופיע במאמר סקירה כללית על Autokey.
מכסות Cloud KMS ו-Secure Source Manager
כשמשתמשים ב-CMEK ב-Secure Source Manager, הפרויקטים יכולים לנצל את מכסות הבקשות הקריפטוגרפיות של Cloud KMS. מכונות וירטואליות שמוצפנות באמצעות CMEK צורכות את המכסות האלה בזמן היצירה. פעולות הצפנה ופענוח באמצעות מפתחות CMEK משפיעות על מכסות Cloud KMS רק אם משתמשים במפתחות חומרה (Cloud HSM) או במפתחות חיצוניים (Cloud EKM). מידע נוסף זמין במאמר בנושא מכסות ב-Cloud KMS.
יצירת מפתח CMEK והענקת הרשאות
בהוראות הבאות מוסבר איך ליצור מפתח ולהעניק לחשבון השירות של Secure Source Manager הרשאות למפתח.
יוצרים מפתח Cloud KMS:
ידנית
ב Google Cloud פרויקט שבו רוצים לנהל את המפתחות:
כדי ליצור אוסף מפתחות ומפתח, משתמשים באחת מהאפשרויות הבאות:
- יוצרים את אוסף המפתחות ואת המפתח ישירות ב-Cloud KMS.
- שימוש במפתח שמנוהל חיצונית. יוצרים את המפתח החיצוני ואז יוצרים מפתח Cloud EKM כדי שהמפתח יהיה זמין דרך Cloud KMS.
המיקום של המפתח ב-Cloud KMS צריך להיות זהה למיקום של הפרויקט שבו רוצים ליצור את מופע Secure Source Manager.
שימוש ב-Autokey
אם עדיין לא עשיתם זאת, מפעילים את Cloud KMS Autokey.
יוצרים Cloud KMS Autokey חדש
KeyHandle:curl -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -X POST https://cloudkms.googleapis.com/v1/projects/PROJECT/locations/LOCATION/keyHandles \ -d '{"resource_type_selector": "securesourcemanager.googleapis.com/Instance"}'מחליפים את מה שכתוב בשדות הבאים:
- PROJECT: מזהה הפרויקט שבו מופעל Cloud KMS Autokey ושבו רוצים לפרוס מופע של Secure Source Manager
- LOCATION: המיקום של
KeyHandle. הוא צריך להיות זהה למיקום שבו רוצים לפרוס מופע של Secure Source Manager
הפלט אמור להיראות כך:
{ "name": "projects/PROJECT/locations/LOCATION/operations/OPERATION", "metadata": { "@type": "type.googleapis.com/google.cloud.kms.v1.CreateKeyHandleMetadata" } }שימו לב ל-OPERATION שמופיע בפלט. תצטרכו את הערך הזה כדי לקבל את מזהה המשאב של המפתח שנוצר.
מציאת מפתח Cloud KMS שמשויך ל-key handle:
curl -H "X-Goog-User-Project: PROJECT" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -X GET https://cloudkms.googleapis.com/v1/projects/PROJECT/locations/LOCATION/operations/OPERATIONמחליפים את מה שכתוב בשדות הבאים:
- PROJECT: מזהה הפרויקט שבו מופעל Cloud KMS Autokey ושבו רוצים לפרוס מופע של Secure Source Manager
- LOCATION: המיקום של
KeyHandle. הוא צריך להיות זהה למיקום שבו רוצים לפרוס מופע של Secure Source Manager - OPERATION: המזהה של פעולת בקשת הטיפול במפתח מהפלט של השלב הקודם
הפלט אמור להיראות כך:
{ "name": "projects/PROJECT/locations/LOCATION/operations/OPERATION", "done": true, "response": { "@type": "type.googleapis.com/google.cloud.kms.v1.KeyHandle", "name": "projects/PROJECT/locations/LOCATION/keyHandles/KEY_HANDLE", "kmsKey": "projects/PROJECT/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME", "resourceTypeSelector": "securesourcemanager.googleapis.com/Instance" } }הערך של הרכיב
kmsKeyבפלט הוא מזהה המשאב המלא של המפתח שנוצר על ידי Cloud KMS Autokey עבור המשאב הזה. אפשר להשתמש במזהה המשאב הזה באותו אופן שבו משתמשים במזהה משאב של כל משאב אחר ב-Cloud KMS.
אם אתם יוצרים את המופע הראשון של Secure Source Manager בפרויקט, תצטרכו ליצור ידנית את סוכן השירות של Secure Source Manager על ידי הפעלת הפקודה הבאה:
gcloud beta services identity create \ --service=securesourcemanager.googleapis.com \ --project=PROJECTכאשר
PROJECTהוא מזהה הפרויקט שבו תיצרו את המופע של Secure Source Manager.אחרי שיוצרים את חשבון השירות לכל מוצר ולכל פרויקט (P4SA), צריך להקצות את התפקיד 'סוכן שירות של Secure Source Manager' (
roles/securesourcemanager.serviceAgent) לחשבון המשתמשservice-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com, אחרת יצירת המופע תיכשל.מקצים את תפקיד ה-IAM של מצפין/מפענח של מפתח הצפנה (
roles/cloudkms.cryptoKeyEncrypterDecrypter) לחשבון השירות של Secure Source Manager. צריך לתת את ההרשאה הזו למפתח שיצרתם.המסוף
עוברים לדף ניהול מפתחות.
בוחרים את מחזיק המפתחות שרוצים להשתמש בו, פותחים את הדף Key ring details ובוחרים את המפתח שיצרתם.
נותנים גישה לחשבון השירות של Secure Source Manager:
- לוחצים על הוספת גורם ראשי.
- מוסיפים את חשבון השירות של Secure Source Manager. חשבון השירות הוא service-PROJECT-NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com, כאשר PROJECT-NUMBER הוא מספר הפרויקט של הפרויקט שבו מופעל Secure Source Manager. Google Cloud
- ברשימת התפקידים Select a role בוחרים באפשרות Cloud KMS > Cloud KMS CryptoKey Encrypter/Decrypter.
- לוחצים על SAVE.
חוזרים על השלב הקודם כדי להעניק גישה לחשבון שדרכו ייצור מופע של Secure Source Manager.
חוזרים לדף Key management, בוחרים את מחזיק המפתחות ופותחים את הדף Key ring details. אחר כך בוחרים שוב את המקש.
לוחצים על הצגת חלונית המידע. התפקידים אמורים להופיע בעמודה תפקיד/חבר.
gcloud
מריצים את הפקודה הבאה כדי להעניק גישה לחשבון השירות של Secure Source Manager:
gcloud kms keys add-iam-policy-binding [--project=PROJECT] \ KEY_NAME --location LOCATION --keyring=KEY_RING \ --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-sourcemanager.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterמחליפים את מה שכתוב בשדות הבאים:
- PROJECT: מזהה הפרויקט שמכיל את המפתח
- KEY_NAME: שם המפתח
- LOCATION: המיקום של המפתח. המיקום הראשי צריך להיות זהה למיקום הפרויקט שבו רוצים לפרוס מופע של Secure Source Manager
- KEY_RING: השם של אוסף המפתחות
- PROJECT_NUMBER: מספר הפרויקט של הפרויקט שבו מופעל Secure Source ManagerGoogle Cloud
חוזרים על השלב הקודם כדי להעניק גישה לחשבון שדרכו ייצור מופע של Secure Source Manager.
מידע נוסף על הפקודה הזו זמין במאמר gcloud kms keys add-iam-policy-binding.
הסרת הגישה
יש כמה דרכים להסיר גישה למאגר מוצפן באמצעות CMEK:
- מבטלים את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter מחשבון השירות של Secure Source Manager באמצעות מסוףGoogle Cloud או ה-CLI של gcloud.
- משביתים באופן זמני את מפתח ה-CMEK.
- להשמיד באופן סופי את מפתח ה-CMEK.
מומלץ לבטל את ההרשאות מחשבון השירות של Secure Source Manager לפני השבתה או השמדה של מפתח. שינויים בהרשאות מתעדכנים תוך שניות, כך שאפשר לראות את ההשפעות של השבתה או מחיקה של מפתח.
כשמשביתים או משמידים את מפתח ההצפנה של מופע, מאבדים את היכולת להציג או לאחזר נתונים מהמופע. לא תהיה יותר גישה לכל הנתונים שמאוחסנים במופע, כולל היסטוריית קוד, בקשות משיכה ובעיות.
משתמשים עם תפקיד של מנהל מופע או בעלים של מופע ב-Secure Source Manager יכולים למחוק את המופע.
מדיניות הארגון ל-CMEK
Secure Source Manager תומך באילוצים של מדיניות הארגון שיכולים לדרוש הגנה באמצעות CMEK.
כללי המדיניות יכולים להגביל את השימוש במפתחות CryptoKey ב-Cloud KMS להגנה באמצעות CMEK.
כש-Secure Source Manager API נמצא ב
Denyרשימת השירותים של המדיניותconstraints/gcp.restrictNonCmekServicesשל האילוץconstraints/gcp.restrictNonCmekServices, Secure Source Manager מסרב ליצור מופעים חדשים שלא מוגנים באמצעות CMEK.כשמגדירים את
constraints/gcp.restrictCmekCryptoKeyProjects, Secure Source Manager יוצר מופעים שמוגנים באמצעות CMEK, ומוגנים באמצעות CryptoKey מפרויקט, מתיקייה או מארגון מורשים.
מידע נוסף על הגדרת מדיניות הארגון זמין במאמר בנושא מדיניות הארגון לגבי CMEK.
מה השלב הבא?
- פריסת מכונה מוצפנת באמצעות CMEK
- מידע נוסף על CMEK
- מידע נוסף על ברירת המחדל של Google להצפנה
- מידע נוסף על Cloud KMS Autokey