יצירה של ספריית מדיניות

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

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

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

  • כדי לאחסן את ספריית המדיניות של הארגון יש צורך במאגר Git ריק.
  • עליכם להגדיר את Git להתחברות באופן מאובטח. לדוגמה, אם מאגר ה-Git נמצא ב-GitHub, תוכלו לפעול לפי התהליך שמפורט במאמר Connecting to GitHub with SSH.

שכפול של ספריית הדוגמאות

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

  1. משכפלים את המאגר עם הדוגמאות לספריות מדיניות ומעתיקים אותו אל POLICY_LIBRARY_REPO:

    git clone https://github.com/GoogleCloudPlatform/policy-library.git
    cd policy-library
    git remote set-url origin POLICY_LIBRARY_REPO
    git push origin main
    
  2. בודקים את תבניות האילוצים הזמינות ב-policies/templates: ls policies/templates

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

  4. יוצרים קובצי YAML של אילוצים שמתאימים לתבניות האלה בקטע policies/constraints.

  5. בתוך העותק המקומי של המאגר policy-library, משתמשים בפקודות הבאות כדי לשמור ולדחוף את השינויים שלכם:

    git add --all .
    git commit -m "Initial commit of policy library constraints"
    git push -u origin main
    

מבנה הספרייה

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

  • policies/ – בספרייה הזו יש שתי ספריות משנה:

    • constraints/ – הספרייה הזו בהתחלה ריקה, תוכלו להציב בה את קובצי האילוצים.
    • templates/ – בספרייה הזו יש תבניות אילוצים מוגדרות מראש.
  • validator/ – בספרייה הזו יש את קובצי .rego ואת בדיקות היחידות (unit testing) שמשויכות אליהם. לא צריך לגעת בספרייה הזו, אלא אם אתם מתכוונים לשנות תבניות אילוצים קיימות או ליצור תבניות חדשות. הרצה של make build מציבה את תוכן ה-Rego בתוך הקבצים התואמים של תבניות האילוצים.

עדכונים תקופתיים

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

git remote add public https://github.com/GoogleCloudPlatform/policy-library.git
git pull public main
git push origin main

השלבים הבאים

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