שימוש במפתחות הצפנה בניהול הלקוח (CMEK)

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

סקירה כללית

כברירת מחדל, Service Extensions מצפין את התוכן של הלקוחות במנוחה. התוסף Service Extensions מטפל בהצפנה בשבילכם בלי שתצטרכו לבצע פעולות נוספות. האפשרות הזו נקראת הצפנת ברירת המחדל של Google.

אם אתם רוצים לשלוט במפתחות ההצפנה, אתם יכולים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) ב-Cloud KMS עם שירותים שמשולבים עם CMEK, כולל Service Extensions. שימוש במפתחות Cloud KMS מאפשר לכם לשלוט ברמת ההגנה, במיקום, בלוח הזמנים של הרוטציה, בשימוש ובהרשאות הגישה, ובגבולות הקריפטוגרפיים. בנוסף, באמצעות Cloud KMS תוכלו לצפות ביומני ביקורת ולשלוט במחזורי החיים של המפתחות. במקום ש-Google תהיה הבעלים של מפתחות ההצפנה של המפתחות (KEK) הסימטריים שמגנים על הנתונים שלכם ותנהל אותם, אתם שולטים במפתחות האלה ומנהלים אותם ב-Cloud KMS.

אחרי שמגדירים את המשאבים עם CMEK, חוויית הגישה למשאבים של Service Extensions דומה לשימוש בהצפנה שמוגדרת כברירת מחדל ב-Google. מידע נוסף על אפשרויות ההצפנה זמין במאמר מפתחות הצפנה בניהול הלקוח (CMEK).

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

יצירת מפתח והענקת הרשאות

בהוראות הבאות מוסבר איך ליצור מפתח לתוסף ואיך להעניק הרשאות להצפנה ולפענוח של נתוני התוסף באמצעות המפתח.

  1. בפרויקט Google Cloud שבו רוצים לנהל את המפתחות, מבצעים את הפעולות הבאות:

    1. כדי ליצור מפתח, צריך להפעיל את Cloud Key Management Service API.

    2. כדי ליצור אוסף מפתחות ומפתח, משתמשים באחת מהאפשרויות הבאות:

      המיקום של המפתח ב-Cloud KMS צריך להיות זהה למיקום של הפלאגין שרוצים להצפין.

  2. חשבון השירות של Service Extensions חייב להיות קיים בפרויקט Service Extensions. שם חשבון השירות הוא service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com, כאשר PROJECT_NUMBER הוא מספר הפרויקט של פרויקט Google Cloud שבו פועלים Service Extensions.

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

    gcloud beta services identity create \
        --service=networkactions.googleapis.com \
        --project=PROJECT
    

    מחליפים את PROJECT במזהה הפרויקט שבו פועל Service Extensions.

  3. מקצים את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) לחשבון השירות של Service Extensions במפתח שיצרתם.

    המסוף

    1. נכנסים לדף Key management במסוף Google Cloud .

      מעבר אל 'ניהול מפתחות'

    2. בוחרים את המפתח שיצרתם.

    3. מעניקים גישה לחשבון השירות של Service Extensions:

      1. בוחרים באפשרות הצגת חלונית המידע.
      2. לוחצים על Add member.
      3. מוסיפים את חשבון השירות של Service Extensions. חשבון השירות הוא service-PROJECT_NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com.
      4. ברשימת התפקידים Select a role בוחרים באפשרות Cloud KMS > Cloud KMS CryptoKey Encrypter/Decrypter.
      5. לוחצים על Save.
    4. חוזרים על השלב הקודם כדי להעניק גישה לחשבון של יוצר הפלאגין.

    5. חוזרים לדף ניהול מפתחות ובוחרים שוב את המפתח.

    6. בוחרים באפשרות הצגת חלונית המידע. התפקידים מופיעים בעמודה תפקיד/חבר.

    gcloud

    1. נותנים גישה לחשבון השירות של Service Extensions על ידי הרצת הפקודה gcloud kms keys add-iam-policy-binding:

      gcloud kms keys add-iam-policy-binding [--project=PROJECT] KEY_NAME \
          --location LOCATION
          --keyring=KEYRING_NAME \
          --member=serviceAccount:service-PROJECT-NUMBER@gcp-sa-networkactions.iam.gserviceaccount.com \
          --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
      

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

      • PROJECT: המזהה של הפרויקט שמכיל את המפתח
      • KEY_NAME: שם המפתח
      • LOCATION: המיקום של המפתח
      • KEYRING_NAME: השם של אוסף המפתחות
      • PROJECT-NUMBER: מספר הפרויקט של פרויקט Google Cloud
    2. חוזרים על השלב הקודם עם member שמוגדר לחשבון של יוצר הפלאגין.

כשיוצרים פלאגין או מעדכנים אותו, צריך לציין את מפתח ה-CMEK. המפתח מספק הצפנה לתמונת הפלאגין ולנתוני ההגדרה. נתונים אחרים של התוסף מוגנים באמצעות הצפנה שמוגדרת כברירת מחדל ב-Google.

הצפנה מחדש אוטומטית

כשהגרסה הראשית של מפתח ה-KMS משתנה (בגלל שינוי ידני של משתמש או בגלל רוטציה אוטומטית), הנתונים של התוסף שמוגנים על ידי המפתח מוצפנים מחדש באופן אוטומטי באמצעות גרסת המפתח החדשה.

מעקב אחר מפתחות

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

מכסות של Cloud Key Management Service ותוספים לשירותים

כשמשתמשים במפתחות CMEK ב-Service Extensions, למשל בפעולות הבאות, הפרויקטים שלכם יכולים לנצל את מכסות הבקשות הקריפטוגרפיות של Cloud KMS:

  • יצירה או עדכון של פלאגין שמוגן באמצעות CMEK
  • הוספה של גרסאות חדשות או שינוי של הגרסה הראשית של פלאגינים שמוגנים באמצעות CMEK
  • רשימת גרסאות של תוספים שמוגנים באמצעות CMEK, שבהם השדה plugin_config_dataמוגדר
  • צירוף פלאגין לתוסף

בנוסף, עם הזמן, יישומי פלאגין שמצורפים ל-Gmail גורמים לפעולות פענוח.

אם משתמשים במפתחות חומרה (Cloud HSM) או במפתחות חיצוניים (Cloud EKM), פעולות ההצפנה והפענוח באמצעות מפתחות CMEK משפיעות על המכסות של Cloud KMS.

הסרת הגישה לפלאגין מוצפן באמצעות CMEK

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

מומלץ לבטל את ההרשאות מחשבון השירות של Service Extensions לפני השבתה או מחיקה של מפתח.

ההשלכות של הסרת הגישה

נתונים שמוגנים באמצעות CMEK כוללים תמונות שהורדו מ-Artifact Registry וגם נתוני תצורה של תוספים שסופקו ישירות (דרך השדה plugin_config_data).

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

המטא-נתונים של הפלאגין, כמו השם, התיאור, התוויות או הגדרות הרישום שלו, נשארים נגישים.

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

אם הפעלת הפלאגין נכשלת, אופן הפעולה של התוסף תלוי בשדה fail_open:

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

מגבלות

  • הגנת CMEK שמוגדרת בתוסף מוגבלת ל-Service Extensions.

    כדי להגן על משאבי פלאגין במוצרים אחרים של Google, צריך להפעיל CMEK דרכם. לתמונות של התוסף שהועלו ל-Artifact Registry, מגדירים CMEK ל-Artifact Registry. כדי להגן על היומנים שנוצרו על ידי התוסף, צריך להגדיר CMEK ל-Cloud Logging.

  • אי אפשר לשנות את מצב ההצפנה (בניהול Google או CMEK) של תוסף. עם זאת, אפשר לעדכן את הפלאגין כדי להשתמש במפתח KMS אחר.

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

מה השלב הבא?