הצפנה מחדש של אובייקטים שמפירים את כללי המדיניות של CMEK שמוגדרים כברירת מחדל בקטגוריה

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

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

היועץ ב-Storage Intelligence מציג את הממצא Objects violate default CMEK bucket policies כשקטגוריה עם מפתח ברירת מחדל של Cloud Key Management Service ‏(Cloud KMS) מכילה אובייקטים שלא מוצפנים באמצעות CMEK. ממצא הוא חריגה או פער בהגדרות האבטחה שזוהו במדדים ובמטא-נתונים של האובייקטים, ודורשים התייחסות. מידע על יועץ ב-Storage Intelligence בקטלוג הממצאים מופיעה רשימה מלאה של הממצאים.

ערכי סף שמפעילים ממצא

כשמפעילים את Storage Intelligence, המערכת של Cloud Storage בודקת באופן אוטומטי את המטא-נתונים של ההצפנה ברמת הקטגוריה וברמת האובייקט בפרויקט, בתיקייה או בארגון. היועץ ב-Storage Intelligence יוצר ממצא כשקטגוריה עומדת בשני הקריטריונים הבאים:

הממצאים הראשוניים של נקודת ההשוואה מופיעים תוך 48 שעות אחרי שמפעילים את Storage Intelligence, ומתרעננים כל 24 שעות. כדי לצמצם את מספר ההתראות, היועץ ב-Storage Intelligence מקבץ את ההפרות ברמת האובייקט לפי קטגוריה בלוח הבקרה. אפשר לשלוח שאילתות לגבי מטא-נתונים של הצפנה ברמת האובייקט במערכי נתונים של Storage Insights.

איך מגיבים לממצאים

כדי להגיב לממצא, מזהים את האובייקטים המושפעים בכל קטגוריה ומצפינים אותם מחדש באמצעות מפתח ברירת המחדל של Cloud KMS בקטגוריה:

  1. מציגים את פרטי הממצא כדי לזהות את הקטגוריות המושפעות, ומעתיקים את שם המשאב של מפתח ברירת המחדל של KMS בכל קטגוריה.

  2. אופציונלי: כדי לראות את רשימת האובייקטים בקטגוריה שלא מוצפנים באמצעות CMEK, שולחים שאילתה למערך הנתונים של Storage Insights ב-BigQuery. אם לא הגדרתם מערך נתונים מקושר, קראו את המאמר הגדרת מערכי נתונים של Storage Insights.

    SELECT
      bucket,
      name,
      encryptionType
    FROM
      `DATASET_NAME.object_attributes_latest_snapshot_view`
    WHERE
      bucket = 'BUCKET_NAME'
      AND encryptionType != 'CMEK'
      AND timeDeleted IS NULL
      AND softDeleteTime IS NULL;

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

    • ‫DATASET_NAME: השם של מערך הנתונים המקושר של Storage Insights ב-BigQuery.
    • ‫BUCKET_NAME: שם הקטגוריה הרלוונטית.
  3. אתם יכולים להיעזר בטבלה הבאה כדי לבחור את שיטת ההצפנה מחדש של האובייקטים הפעילים:

    תרחיש הפעולה המומלצת פרטים
    האובייקטים הפעילים שמושפעים משתמשים בהצפנה רגילה (GMEK) הצפנה מחדש של אובייקטים שמוצפנים באמצעות GMEK בקנה מידה נרחב באמצעות פעולות רבות על פריטי אחסון מייצאים קובצי מניפסט בפורמט CSV של אובייקטים פעילים של GMEK שמושפעים מהבעיה מ-BigQuery, ומריצים משימה של פעולות רבות על פריטי אחסון כדי לשכתב את האובייקטים באמצעות מפתח ברירת המחדל של הקטגוריה ב-Cloud KMS.
    האובייקטים הפעילים שהושפעו משתמשים במפתחות הצפנה באספקת הלקוח (CSEK) הצפנה מחדש של אובייקטים שמוצפנים באמצעות CSEK באמצעות Google Cloud CLI ב- Google Cloud לא נשמרים מפתחות הצפנה באספקת הלקוח (CSEK), ולכן אי אפשר להשתמש בפעולות רבות על פריטי אחסון כדי לפענח אובייקטים שמוצפנים באמצעות CSEK. משתמשים בפקודה gcloud storage objects update כדי לשכתב אובייקטים שמוצפנים באמצעות CSEK עם מפתח ברירת המחדל של Cloud KMS בקטגוריה.

    אחרי שתצפינו מחדש את כל האובייקטים בקטגוריה שלא עומדים בדרישות, הממצא יימחק מהקטגוריה הזו במהלך מחזור הרענון הבא של 24 שעות. עם זאת, הממצא נשאר פעיל במקרים הבאים עד שאתם או Cloud Storage מוחקים באופן סופי את גרסאות האובייקטים שנשמרו:

הצפנה מחדש של אובייקטים שמוצפנים באמצעות GMEK בקנה מידה נרחב באמצעות פעולות רבות על פריטי אחסון

כדי להצפין מחדש אובייקטים פעילים ב-GMEK בקנה מידה נרחב, מייצאים קובצי מניפסט בפורמט CSV מ-BigQuery ומריצים משימה של פעולות רבות על פריטי אחסון:

  1. מריצים את השאילתה הבאה של EXPORT DATA ב-BigQuery כדי ליצור מניפסט CSV באמצעות מערכי הנתונים של Storage Insights:

    EXPORT DATA OPTIONS(
      uri='gs://DESTINATION_BUCKET/manifests/objects_violating_default_policies_*.csv',
      format='CSV',
      overwrite=true,
      header=true
    ) AS
    SELECT
      bucket,
      name
    FROM
      `DATASET_NAME.object_attributes_latest_snapshot_view`
    WHERE
      bucket = 'BUCKET_NAME'
      AND encryptionType = 'GMEK'
      AND timeDeleted IS NULL
      AND softDeleteTime IS NULL;

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

    • ‫DESTINATION_BUCKET: השם של הקטגוריה ב-Cloud Storage שבה רוצים לאחסן את קובצי המניפסט בפורמט CSV שמייצאים.
    • ‫DATASET_NAME: השם של מערך הנתונים המקושר של Storage Insights ב-BigQuery.
    • ‫BUCKET_NAME: שם הקטגוריה הרלוונטית.
  2. משלימים את הדרישות המוקדמות לביצוע פעולות רבות על פריטי אחסון, ומבקשים מהאדמין להקצות את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) במפתח ברירת המחדל של Cloud KMS בקטגוריה לשני סוכני השירות הבאים:

    • סוכן השירות של פעולות רבות על פריטי אחסון (service-PROJECT_NUMBER@gcp-sa-storagebatchoperations.iam.gserviceaccount.com)
    • סוכן השירות של Cloud Storage‏ (service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com)

    מחליפים את PROJECT_NUMBER במספר הפרויקט שמכיל את הקטגוריה.

  3. מריצים את הפקודה gcloud storage batch-operations jobs create כדי ליצור משימה של פעולות רבות על פריטי אחסון באמצעות קובץ המניפסט, ומצפינים מחדש את האובייקטים באמצעות מפתח ברירת המחדל של Cloud KMS בקטגוריה. כדי לאמת את הגדרת המשימה לפני שמשנים אובייקטים, צריך לכלול את הדגל --dry-run:

    gcloud storage batch-operations jobs create JOB_NAME \
      --bucket="BUCKET_NAME" \
      --manifest-location="gs://DESTINATION_BUCKET/manifests/objects_violating_default_policies_*.csv" \
      --rewrite-object="kms-key=DEFAULT_KMS_KEY"

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

    • ‫JOB_NAME: מזהה ייחודי של המשימה באצווה, למשל update-encryption-to-cmek-job.
    • ‫BUCKET_NAME: שם הקטגוריה הרלוונטית.
    • ‫DESTINATION_BUCKET: שם הקטגוריה שמכילה את קובצי המניפסט שיוצאו.
    • ‫DEFAULT_KMS_KEY: שם המשאב של מפתח Cloud KMS שמוגדר כברירת מחדל בקטגוריה, בפורמט projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/CRYPTO_KEY.

הצפנה מחדש של אובייקטים שמוצפנים באמצעות CSEK באמצעות Google Cloud CLI

מכיוון ש- Google Cloud לא מאחסן מפתחות הצפנה באספקת הלקוח (CSEK), אי אפשר להשתמש בפעולות רבות על פריטי אחסון כדי לפענח אובייקטים שמוצפנים באמצעות CSEK. כדי להצפין מחדש אובייקטים שמוצפנים באמצעות CSEK באמצעות מפתח ברירת המחדל של Cloud KMS בקטגוריה, מריצים את הפקודה gcloud storage objects update עם הדגלים --decryption-keys ו---encryption-key:

gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME \
  --decryption-keys=DECRYPTION_KEY \
  --encryption-key=DEFAULT_KMS_KEY

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

  • ‫BUCKET_NAME: שם הקטגוריה הרלוונטית.
  • ‫OBJECT_NAME: שם האובייקט המוצפן באמצעות CSEK שרוצים להצפין מחדש. כדי לעדכן כמה אובייקטים בפקודה אחת, משתמשים בתווים כלליים לחיפוש של URI או בדגל --read-paths-from-stdin (-I).
  • ‫DECRYPTION_KEY: מפתח AES-256 בקידוד Base64 בתקן RFC 4648 שמצפין את האובייקט.
  • ‫DEFAULT_KMS_KEY: שם המשאב של מפתח ברירת המחדל של Cloud KMS בקטגוריה, בפורמט projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/CRYPTO_KEY.

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