הגדרת מדיניות בנושא קובצי אימג' מהימנים

כברירת מחדל, משתמשים בפרויקט יכולים ליצור דיסקי אחסון מתמידים (persistent disk) או להעתיק תמונות באמצעות תמונות ציבוריות או תמונות שישויות מורשות יכולות לגשת אליהן באמצעות תפקידי IAM. עם זאת, במקרים מסוימים כדאי להגביל את בעלי ההרשאות כך שיוכלו ליצור דיסקים לאתחול רק מתמונות שמכילות תוכנה מאושרת שעומדת בדרישות המדיניות או בדרישות האבטחה שלכם.

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

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

לפני שמתחילים

  • במאמר שימוש באילוצים מוסבר איך לנהל מדיניות ברמת הארגון.
  • מידע נוסף על האופן שבו מדיניות הארגון מופצת מופיע במאמר הסבר על הערכת ההיררכיה.
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.

    gcloud

    1. התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  • הגדרת אזור ותחום כברירת מחדל
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud.

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .

מגבלות

  • המדיניות בנושא קובצי אימג' מהימנים לא מגבילה את הגישה לתמונות הבאות:

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

הגדרת מגבלות גישה לתמונות

כדי להפעיל מדיניות גישה לתמונות, מגדירים אילוץ compute.trustedImageProjects בפרויקט, בתיקייה או בארגון. כדי להגדיר את האילוצים האלה, צריך הרשאה לשנות את מדיניות הארגון. לדוגמה, ל-roles/orgpolicy.policyAdmin יש הרשאה להגדיר את המגבלות האלה. מידע נוסף על ניהול כללי מדיניות ברמת הפרויקט, התיקייה או הארגון זמין במאמר שימוש באילוצים.

אתם יכולים להגדיר אילוצים על כל קובצי האימג' הציבוריים שזמינים ב-Compute Engine. רשימה של שמות פרויקטים של תמונות זמינה במאמר פרטים על מערכות הפעלה. אפשר גם להגביל את תמונות ה-Machine Learning (ML) שזמינות ב-Compute Engine באמצעות הפרויקט ml-images. אם אתם משתמשים בגישה ל-VPC ללא שרתים, אתם צריכים לתת לפרויקט שלכם הרשאה להשתמש בתמונות של מכונות וירטואליות של Compute Engine מהפרויקט serverless-vpc-access-images.

משתמשים במסוף Google Cloud Google Cloud או ב-Google Cloud CLI כדי להגדיר אילוצים על הגישה לתמונות.

המסוף

לדוגמה, כדי להגדיר אילוץ ברמת הפרויקט:

  1. עוברים לדף מדיניות ארגונית.

    אל מדיניות הארגון

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

  3. בדף פרטי המדיניות, לוחצים על ניהול המדיניות. יופיע הדף Edit policy.

  4. בדף עריכת המדיניות, לוחצים על התאמה אישית.

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

  6. לוחצים על הוספת כלל.

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

    כדי להגדיר את כלל המדיניות, בוחרים באחת מהאפשרויות הבאות:

    • כדי לאפשר למשתמשים ליצור דיסקים לאתחול מכל התמונות הציבוריות, בוחרים באפשרות הכול.
    • כדי למנוע ממשתמשים ליצור דיסק אתחול מכל קובצי האימג' הציבוריים, בוחרים באפשרות Deny All.
    • כדי לציין קבוצה נבחרת של קובצי אימג' ציבוריים שמהם המשתמשים יכולים ליצור דיסקים לאתחול, בוחרים באפשרות Custom. מוצגים השדה סוג המדיניות והשדה ערכים מותאמים אישית.

      1. ברשימה סוג המדיניות, בוחרים באפשרות אישור או דחייה.
      2. בשדה ערכים מותאמים אישית, מזינים את שם פרויקט התמונות בפורמט projects/IMAGE_PROJECT.

        מחליפים את IMAGE_PROJECT בפרויקט התמונה שרוצים להגדיר בו את האילוץ.

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

  8. כדי לשמור את הכלל, לוחצים על סיום.

  9. כדי לשמור את מדיניות הארגון ולהחיל אותה, לוחצים על שמירה.

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

gcloud

לדוגמה, כדי להגדיר אילוץ ברמת הפרויקט:

  1. כדי לקבל את הגדרות המדיניות הקיימות של הפרויקט, משתמשים בפקודה resource-manager org-policies describe.

    gcloud resource-manager org-policies describe \
       compute.trustedImageProjects --project=PROJECT_ID \
       --effective > policy.yaml
    

    מחליפים את PROJECT_ID במזהה הפרויקט.

  2. פותחים את הקובץ policy.yaml בכלי לעריכת טקסט ומשנים את האילוץ compute.trustedImageProjects. מוסיפים את ההגבלות שצריך ומסירים את ההגבלות שכבר לא נדרשות. בסיום העריכה של הקובץ, שומרים את השינויים. לדוגמה, אפשר להגדיר את רשומת האילוץ הבאה בקובץ המדיניות:

    constraint: constraints/compute.trustedImageProjects
    listPolicy:
     allowedValues:
        - projects/debian-cloud
        - projects/cos-cloud
     deniedValues:
        - projects/IMAGE_PROJECT
    

    מחליפים את IMAGE_PROJECT בשם של פרויקט האימג' שרוצים להגביל בפרויקט.

    אם רוצים, אפשר לדחות את הגישה לכל קובצי האימג' מחוץ לקובצי האימג' בהתאמה אישית בפרויקט. במקרה כזה, אפשר להשתמש בדוגמה הבאה:

    constraint: constraints/compute.trustedImageProjects
    listPolicy:
     allValues: DENY
    

  3. מחילים את הקובץ policy.yaml על הפרויקט. אם בארגון או בתיקייה שלכם יש אילוצים קיימים, יכול להיות שהאילוצים האלה יתנגשו עם אילוצים ברמת הפרויקט שהגדרתם. כדי להחיל את האילוץ, משתמשים בפקודה resource-manager org-policies set-policy.

    gcloud resource-manager org-policies set-policy \
       policy.yaml --project=PROJECT_ID
    

    מחליפים את PROJECT_ID במזהה הפרויקט.

אחרי שמסיימים להגדיר את האילוצים, בודקים אותם כדי לוודא שהם יוצרים את ההגבלות שאתם צריכים.

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