בתפקידכם כאדמינים ארגוניים, עליכם להגדיר כללי מדיניות שלפיהם יפעלו מפתחים בזמן שהם מיישמים תשתית כקוד. קבוצת כללי המדיניות של הארגון מוצגת כספריית מדיניות. בדף הזה תלמדו איך ליצור מאגר מרכזי של כללי מדיניות ולהוסיף אילוצים.
לפני שמתחילים
- כדי לאחסן את ספריית המדיניות של הארגון יש צורך במאגר Git ריק.
- עליכם להגדיר את Git להתחברות באופן מאובטח. לדוגמה, אם מאגר ה-Git נמצא ב-GitHub, תוכלו לפעול לפי התהליך שמפורט במאמר Connecting to GitHub with SSH.
שכפול של ספריית הדוגמאות
Google מספקת מאגר לדוגמה עם קבוצה של תבניות אילוצים מוגדרות מראש, שתוכלו לשנות בהתאם לצרכים שלכם.
משכפלים את המאגר עם הדוגמאות לספריות מדיניות ומעתיקים אותו אל 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
בודקים את תבניות האילוצים הזמינות ב-
policies/templates:ls policies/templatesבוחרים את תבניות האילוצים שבהן רוצים להשתמש. בדוגמה הזו, בוחרים את
gcp_storage_location_v1.yamlשבאמצעותו מתבצעת אכיפת מיקום בקטגוריות של Cloud Storage.יוצרים קובצי YAML של אילוצים שמתאימים לתבניות האלה בקטע
policies/constraints.בתוך העותק המקומי של המאגר
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 מפורט איך לכתוב ולהשתמש באילוצים ובתבניות אילוצים.