במסמך הזה מוסבר איך להגדיר מפתחות הצפנה בניהול הלקוח (CMEK) ליומנים שמאוחסנים במאגרי יומנים. במסמך הזה מוסבר גם איך לנהל את המפתחות האלה, ומהן המגבלות שקשורות לשימוש ב-CMEK.
בארגונים ובתיקיות, אפשר להגדיר CMEK כהגדרת ברירת מחדל של משאבים ל-Cloud Logging. כשמגדירים את Cloud Logging, כל מאגרי היומנים החדשים בארגון או בתיקייה מוצפנים באמצעות מפתח בניהול הלקוח. אם לא מספקים מפתח כשיוצרים קטגוריה ביומן, המערכת משתמשת במפתח שצוין בהגדרות ברירת המחדל של המשאב ב-Cloud Logging. מידע נוסף זמין במאמר בנושא הגדרת CMEK ל-Cloud Logging.
סקירה כללית
כברירת מחדל, Cloud Logging מצפין את התוכן של הלקוחות במצב מנוחה. הרישום מתבצע באופן אוטומטי, ללא צורך בפעולות נוספות מצדכם. האפשרות הזו נקראת הצפנת ברירת המחדל של Google.
אם אתם רוצים לשלוט במפתחות ההצפנה, אתם יכולים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) ב-Cloud KMS עם שירותים שמשולבים עם CMEK, כולל Logging. שימוש במפתחות Cloud KMS מאפשר לכם לשלוט ברמת ההגנה, במיקום, בלוח הזמנים של הרוטציה, בשימוש ובהרשאות הגישה, ובגבולות הקריפטוגרפיים. בנוסף, באמצעות Cloud KMS תוכלו לצפות ביומני ביקורת ולשלוט במחזורי החיים של המפתחות. במקום ש-Google תהיה הבעלים של מפתחות ההצפנה של המפתחות (KEK) הסימטריים שמגנים על הנתונים שלכם ותנהל אותם, אתם שולטים במפתחות האלה ומנהלים אותם ב-Cloud KMS.
אחרי שמגדירים את המשאבים עם CMEK, חוויית הגישה למשאבי Logging דומה לשימוש בהצפנה שמוגדרת כברירת מחדל ב-Google. מידע נוסף על אפשרויות ההצפנה זמין במאמר מפתחות הצפנה בניהול הלקוח (CMEK).
דרישות מוקדמות
כך עושים את זה:
יש כמה מגבלות כשמשתמשים ב-CMEK. לפני שיוצרים קטגוריה ביומן עם הפעלת CMEK, כדאי לעיין במגבלות.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initמגדירים את הפרויקט שבו מתכננים ליצור את המפתחות: Cloud de Confiance
-
כדי לקבל את ההרשאות שנדרשות ליצירת מפתחות, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין של Cloud KMS (
roles/cloudkms.admin) בפרויקט או במשאב אב. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
-
המיקום של קטגוריה ביומן צריך להיות זהה למיקום של המפתח. מידע על אזורים נתמכים זמין במאמר אזורים נתמכים לרישום ביומן.
אי אפשר להפעיל CMEK עבור מאגרי יומנים שנוצרו באזור
global.
-
מוודאים שיש לכם את ההרשאות הבאות ב-Cloud Logging בCloud de Confiance פרויקט שבו אתם מתכננים ליצור מאגרי יומנים:
logging.settings.getlogging.buckets.getlogging.buckets.listlogging.buckets.createlogging.buckets.update
הפעלת CMEK
אחרי שמשלימים את השלבים של התנאים המוקדמים, פועלים לפי ההוראות האלה כדי להפעיל CMEK עבור קטגוריה ביומן ספציפית.
איך קובעים את המזהה של חשבון השירות
כדי לזהות את מזהה חשבון השירות שמשויך למשאב Cloud de Confianceשעליו יחול CMEK:
מריצים את הפקודה הבאה:
gcloud logging settings describegcloud logging settings describe --project=BUCKET_PROJECT_ID
לפני שמריצים את הפקודה הקודמת, מחליפים את מה שכתוב בשדות הבאים:
- BUCKET_PROJECT_ID: השם של Cloud de Confiance הפרויקט שבו אתם מתכננים ליצור את קטגוריית היומן.
הפקודה הקודמת יוצרת חשבון שירות למשאב שצוין, אם הוא לא קיים כבר, ומחזירה את המזהה של חשבון השירות הזה בשדה
kmsServiceAccountId:kmsServiceAccountId: KMS_SERVICE_ACCT_NAME@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com loggingServiceAccountId: SERVICE_ACCT_NAME@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com name: projects/BUCKET_PROJECT_ID/settings
בשדה
kmsServiceAccountIdמופיע חשבון השירות שמשמש את Cloud Logging כדי לקרוא ל-Cloud Key Management Service.
הקצאת התפקיד 'הצפנה/פענוח'
כשמגדירים CMEK ברמת קטגוריה ביומן, צריך לתת לחשבון השירות הרשאה להשתמש ב-Cloud KMS על ידי הקצאת התפקיד Cloud KMS CryptoKey Encrypter/Decrypter לחשבון השירות שמזוהה בשדה kmsServiceAccountId:
gcloud kms keys add-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member=serviceAccount:KMS_SERVICE_ACCT_NAME@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY_NAME
לפני שמריצים את הפקודה הקודמת, מחליפים את הערכים הבאים:
- KMS_PROJECT_ID: המזהה האלפאנומרי הייחודי, שמורכב מ Cloud de Confiance שם הפרויקט וממספר שהוקצה באופן אקראי, של הפרויקט Cloud de Confiance שמריץ את Cloud KMS. במאמר זיהוי פרויקטים מוסבר איך מקבלים את המזהה הזה.
- KMS_SERVICE_ACCT_NAME: השם של חשבון השירות שמוצג בשדה
kmsServiceAccountIdבתגובה של הפקודהgcloud logging settings describe. - KMS_KEY_LOCATION: האזור של מפתח Cloud KMS.
- KMS_KEY_RING: השם של אוסף המפתחות ב-Cloud KMS.
- KMS_KEY_NAME:
שם המפתח של Cloud KMS. הפורמט הוא:
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY.
יצירת קטגוריית יומנים וציון מפתח Cloud KMS
כדי ליצור קטגוריה ביומן ולהפעיל CMEK עבור קטגוריה ביומן, מריצים את הפקודה הבאה של gcloud logging buckets create:
gcloud logging buckets create BUCKET_ID \ --location=LOCATION \ --cmek-kms-key-name=KMS_KEY_NAME \ --project=BUCKET_PROJECT_ID
לפני שמריצים את הפקודה הקודמת, מחליפים את הערכים הבאים:
- BUCKET_ID: השם או המזהה של קטגוריה ביומן.
- LOCATION: המיקום של קטגוריה ביומן.
- KMS_KEY_NAME:
שם המפתח של Cloud KMS. הפורמט הוא:
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY. - BUCKET_PROJECT_ID: השם של Cloud de Confiance הפרויקט שבו תיצור קטגוריה ביומן.
אימות ההפעלה של המפתח
כדי לוודא שיצרתם בהצלחה קטגוריה ביומן עם הפעלה של CMEK, מריצים את הפקודה gcloud logging buckets list הבאה:
gcloud logging buckets list --project=BUCKET_PROJECT_ID
לפני שמריצים את הפקודה הקודמת, מחליפים את מה שכתוב בשדות הבאים:
- BUCKET_PROJECT_ID: השם של Cloud de Confiance הפרויקט שבו מאוחסנת קטגוריית היומנים.
בפלט הטבלאי, מופיעה עמודה עם התווית CMEK. אם הערך בעמודה CMEK הוא TRUE, CMEK מופעל עבור מאגר היומנים.
כדי לראות את הפרטים של קטגוריה ביומן ספציפית, כולל פרטי המפתח, מריצים את הפקודה הבאה:
gcloud logging buckets describe BUCKET_ID --location=LOCATION --project=BUCKET_PROJECT_ID
ניהול מפתח Cloud KMS
בקטעים הבאים מוסבר איך לעדכן קטגוריית יומנים כדי להשתמש בגרסה העדכנית ביותר של מפתח ראשי של Cloud KMS. הם גם מתארים איך לשנות את מפתח Cloud KMS, לבטל את הגישה אליו ולהשבית אותו.
החלפת מפתח Cloud KMS
כשיוצרים מפתח Cloud KMS, אפשר להגדיר תקופת שימוש בסבב. אפשר גם להחליף מפתח של Cloud KMS באופן ידני. בכל פעם שמבצעים רוטציה למפתח, נוצרת גרסה חדשה של המפתח.
אם מבצעים רוטציה למפתח Cloud KMS, גרסת המפתח החדשה חלה רק על קטגוריות של יומנים שנוצרו אחרי הרוטציה של המפתח. אם המפתח נמצא בשימוש של מאגר יומנים קיים, סיבוב המפתח לא משנה את האופן שבו מאגר היומנים מגן על הנתונים שלו.
לדוגמה, נניח שאתם יוצרים קטגוריה ביומן ומפעילים CMEK, ואז מבצעים רוטציה של מפתח Cloud KMS. קטגוריית היומנים שיצרתם לא משתמשת בגרסת המפתח החדשה, אלא ממשיכה להגן על הנתונים שלה באמצעות גרסת המפתח שסומנה כראשית כשקטגוריית היומנים נוצרה.
כדי לעדכן קטגוריה ביומן לשימוש בגרסה העדכנית ביותר של מפתח ראשי של Cloud KMS, מבצעים את הפעולות הבאות:
- מזהים את מפתח Cloud KMS הנוכחי של קטגוריה ביומן. מידע נוסף זמין במאמר אימות ההפעלה של המפתח.
- מזהים מפתח Cloud KMS אחר שאפשר להשתמש בו. אם באוסף המפתחות יש רק מפתח אחד, צריך ליצור מפתח.
- משנים את מפתח Cloud KMS של קטגוריה ביומן למפתח Cloud KMS שנוצר בשלב הקודם.
- משנים את מפתח Cloud KMS של קטגוריה ביומן למפתח Cloud KMS המקורי.
שינוי מפתח Cloud KMS
כדי לשנות את מפתח Cloud KMS שמשויך לקטגוריית היומנים, יוצרים מפתח ומעדכנים את הגדרות ה-CMEK של קטגוריית היומנים:
gcloud logging buckets update BUCKET_ID --location=LOCATION \ --cmek-kms-key-name=NEW_KMS_KEY_NAME --project=BUCKET_PROJECT_ID
- BUCKET_ID: השם או המזהה של קטגוריה ביומן.
- LOCATION: המיקום של קטגוריה ביומן.
- NEW_KMS_KEY_NAME: השם של המפתח החדש.
- BUCKET_PROJECT_ID: השם של Cloud de Confiance הפרויקט שבו מאוחסנת קטגוריית היומנים.
שלילת הגישה למפתח Cloud KMS
כדי לבטל את הגישה של Logging למפתח Cloud KMS בכל שלב, צריך להסיר את הרשאת ה-IAM של חשבון השירות שהוגדר עבור המפתח הזה.
אם מסירים את הגישה של Logging למפתח, יכול להיות שיחלפו עד שעה לפני שהשינוי ייכנס לתוקף.
מידע נוסף על ההשפעה של ביטול הגישה מופיע בקטע מגבלות.
כדי להסיר את הגישה של Logging למפתח, מריצים את הפקודה הבאה:
gcloud kms keys remove-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member=serviceAccount:KMS_SERVICE_ACCT_NAME@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY_NAME
לפני שמריצים את הפקודה הקודמת, מחליפים את הערכים הבאים:
- KMS_PROJECT_ID: המזהה האלפאנומרי הייחודי, שמורכב מ Cloud de Confiance שם הפרויקט וממספר שהוקצה באופן אקראי, של הפרויקט Cloud de Confiance שמריץ את Cloud KMS. במאמר זיהוי פרויקטים מוסבר איך מקבלים את המזהה הזה.
- KMS_SERVICE_ACCT_NAME: השם של חשבון השירות שמוצג בשדה
kmsServiceAccountIdבתגובה של הפקודהgcloud logging settings describe. - KMS_KEY_LOCATION: האזור של מפתח Cloud KMS.
- KMS_KEY_RING: השם של אוסף המפתחות ב-Cloud KMS.
- KMS_KEY_NAME:
שם המפתח של Cloud KMS. הפורמט הוא:
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY.
מגבלות
אלה המגבלות הידועות.
אי אפשר להסיר CMEK ממאגרי יומנים
אי אפשר להגדיר מחדש מאגרי יומנים כדי לשנות או להסיר את CMEK.
ירידה ברמת השירות בגלל שמפתח Cloud KMS לא זמין
מפתח Cloud KMS נחשב לזמין ונגיש על ידי Logging אם מתקיימים שני התנאים הבאים:
- המפתח מופעל.
- לחשבון השירות של שירות Logging יש הרשאות הצפנה ופענוח במפתח.
מומלץ מאוד לוודא שכל המפתחות מוגדרים בצורה נכונה וזמינים תמיד.
אובדן של תוכנית התאוששות מאסון (DR)
אם יש כשלים קריטיים באחסון הראשי של Cloud Logging, אז Logging משכפל את נתוני הרישום לקבצים של התאוששות מאסון. כשמפעילים CMEK למשאב, כמו Cloud de Confiance ארגון, היומנים ששייכים למשאב הזה מוגנים על ידי מפתח ה-CMEK שהוגדר. אם מפתח ה-CMEK לא נגיש, אי אפשר לכתוב את קובצי השחזור של אותו משאב.
אובדן של קבצים של התאוששות מאסון לא משפיע על פעולות רגילות של רישום ביומן. עם זאת, במקרה של אסון שקשור לאחסון, יכול להיות שלא תהיה ל-Cloud Logging אפשרות לשחזר יומנים ממשאבים שבהם לא הוגדר CMEK בצורה תקינה.
ירידה בביצועים של השאילתה
כשמפתח הצפנה בניהול הלקוח לא נגיש, מערכת Cloud Logging ממשיכה להצפין את הנתונים ולאחסן אותם בדלי יומנים. עם זאת, Cloud Logging לא יכול לבצע אופטימיזציות ברקע של הנתונים האלה. אם הגישה למפתח משוחזרת, הנתונים הופכים לזמינים. עם זאת, הנתונים מאוחסנים בהתחלה במצב לא אופטימלי, וביצועי השאילתות עלולים להיפגע.
ירידה ברמת השירות עקב חוסר זמינות של מפתחות Cloud EKM
כשמשתמשים במפתח Cloud EKM,ל- Cloud de Confiance by S3NS אין שליטה על הזמינות של המפתח שמנוהל באופן חיצוני במערכת של השותף החיצוני לניהול מפתחות. ב-CMEK ברמת הקטגוריה, אם מפתח שמנוהל חיצונית לא זמין, Cloud Logging ממשיך לאחסן יומנים בקטגוריות של יומנים, אבל למשתמשים אין גישה ליומנים האלה.
למידע נוסף על שיקולים וחלופות אפשריות לשימוש במפתחות חיצוניים, אפשר לעיין במסמכי Cloud External Key Manager.
מיקוד לפי אזורים
כשיוצרים קטגוריה ביומן ומפעילים CMEK, צריך להשתמש במפתח שהאזור שלו תואם להיקף האזורי של הנתונים.
זמינות של ספריית לקוח
ספריות לקוח לרישום ביומן לא מספקות שיטות להגדרת CMEK.
מכסות
כשמשתמשים ב-CMEK ב-Logging, הפרויקטים יכולים לנצל את מכסות הבקשות הקריפטוגרפיות של Cloud KMS. לדוגמה, הפעלת CMEK בקטגוריית יומנים יכולה לנצל את המכסות האלה. פעולות הצפנה ופענוח באמצעות מפתחות CMEK משפיעות על מכסות Cloud KMS רק אם משתמשים במפתחות חיצוניים (Cloud EKM). מידע נוסף זמין במאמר בנושא מכסות ב-Cloud KMS.
פרטים על מגבלות השימוש ב-Logging מופיעים במאמר מכסות ומגבלות.
פתרון בעיות בהגדרות
מידע על פתרון בעיות בהגדרת CMEK זמין במאמר פתרון בעיות בהגדרות של CMEK ושל הארגון.