הפעלת סריקת סודות

במאמר הזה מוסבר איך להגן על מידע רגיש באמצעות סריקת סודות משולבת ב-Secure Source Manager.

סריקת סודות ב-Secure Source Manager משפרת את האבטחה של בסיס הקוד. הכלי מנתח קומיטים שנשלחו למאגרים או שמוזגו באמצעות בקשות משיכה, וסורק באופן פעיל מידע רגיש שצריך להצפין או להסיר. אם מזוהים נתונים כאלה, סריקת סודות דוחה אוטומטית את הפעולה או חוסמת את מיזוג בקשת המשיכה, וכך מונעת מיזוג לא מכוון של פרטים רגישים.

ב-Secure Source Manager, הסריקה של סודות מתייחסת לקטגוריות המידע הבאות כאל מידע רגיש:

  • מפתחות הצפנה: כולל פריטים כמו מפתחות פרטיים של SSH.
  • פרטי כניסה ל-AWS: מפתחות גישה ומפתחות סודיים ל-Amazon Web Services.
  • Google Cloud credentials: מפתחות של חשבונות שירות ו Google Cloud סודות אחרים.
  • סודות של לקוחות OAuth: סודות שמשמשים לאימות אפליקציות באמצעות OAuth.
  • מפתחות סודיים: מפתחות רגישים שמשמשים לאימות או להרשאה.

הפעלת סריקת סודות

מוודאים שהתפקידים וההגדרות הבאים מופעלים במאגר.

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות להפעלת סריקת סודות, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין מאגר של Secure Source Manager (roles/securesourcemanager.repoAdmin) במופע של Secure Source Manager. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

במאמרים בקרת גישה באמצעות IAM והענקת גישה של משתמשים למופע מוסבר איך נותנים תפקידים ב-Secure Source Manager.

הרשאות של חשבון שירות

אם מגדירים סריקה של סודות לשימוש בתבנית בדיקה מותאמת אישית של Sensitive Data Protection, לחשבון השירות שבו משתמש Secure Source Manager צריכה להיות הרשאה לקרוא את התבנית (לדוגמה, התפקיד DLP Reader,‏ roles/dlp.reader).

  • אם מוגדר לחשבון השירות מאגר לכל מאגר, Secure Source Manager משתמש בחשבון השירות הזה באופן בלעדי. צריך להעניק לחשבון השירות של כל מאגר הרשאת קריאה לתבנית.
  • אם לא מוגדר חשבון שירות לכל מאגר, Secure Source Manager משתמש בחשבון השירות של המופע.

עדכון הגדרות המאגר

אפשר להפעיל סריקה של סודות במאגרי המידע דרך הממשק של Secure Source Manager:

  1. מנווטים למאגר שבו רוצים להפעיל סריקת סודות.
  2. לוחצים על סמל ההגדרות.
  3. מאתרים את המתג Secret scanning (סריקת סודות).
  4. לוחצים על המתג כדי להעביר אותו למצב פעיל.
  5. אופציונלי: בשדה Inspection template (תבנית בדיקה), מזינים את שם המשאב של תבנית הבדיקה של Sensitive Data Protection.

עבודה עם סריקת סודות

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

כשמבצעים push משורת הפקודה, מופיעה שגיאה שמציינת שיש נתונים רגישים. בשלב הזה יש שתי אפשרויות:

ביטול השינוי

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

git reset --soft COMMIT_ID

מחליפים את COMMIT_ID במזהה הקומיט בפועל.

מכיוון ש-Git שומר את ההיסטוריה של כל הקומיטים, עדיין אפשר לשחזר חומר רגיש מקומיטים קודמים. כדי להימנע מכך, משתמשים בפקודה git reset --soft. לאחר מכן, מתקנים את הקבצים ומבצעים שוב commit כדי להסיר את הנתונים מההיסטוריה האחרונה של הענף.

ביצוע push של הקומיט (עקיפת סריקת הסודות)

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

git push -o dlpskip=true origin \
    BRANCH_NAME

מחליפים את BRANCH_NAME בשם הענף שרוצים למזג.

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