בדף הזה מוסבר איך ליצור אישור של Binary Authorization.
אתם משתמשים באישורים כדי לאשר פריסה של קובצי אימג' ספציפיים של קונטיינרים בפלטפורמות כמו Google Kubernetes Engine (GKE) ו-Cloud Run. כדי להשתמש באישורים, צריך לדרוש אישורים בכלל המתאים במדיניות.
אישור יחיד יכול לאשר תמונות זהות שמאוחסנות בכמה מיקומים שונים או בכמה רישומים שונים, כמו Artifact Registry, Container Registry או רישום חיצוני של קונטיינרים.
בזמן הפריסה, Binary Authorization משתמש במאמתים כדי לאמת הצהרות.
כדי להגדיר את Binary Authorization ב-Cloud Run, ב-GKE, ב-Google Distributed Cloud וב-Cloud Service Mesh, אפשר לעיין במאמר הגדרה לפי פלטפורמה ולבחור את הפלטפורמה הרצויה.
משתמשי GKE: במדריך המלא הזה מוסבר איך להשתמש ב-Binary Authorization וב-Google Kubernetes Engine (GKE) כדי לאכוף אימותים. אפשר לעיין במאמרים תחילת העבודה עם כלי שורת הפקודה או תחילת העבודה עם מסוף Google Cloud .
לפני שמתחילים
במאמר סקירה כללית של הצהרות מפורטים השלבים שצריך לבצע לפני שיוצרים הצהרה.
יוצרים מאמתים באמצעות Google Cloud המסוף, Google Cloud CLI או API בארכיטקטורת REST.
הגדרת הסביבה
מציינים את מזהי הפרויקטים:
ATTESTOR_PROJECT_ID=ATTESTOR_PROJECT_ID ATTESTATION_PROJECT_ID=ATTESTATION_PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- ATTESTOR_PROJECT_ID: שם הפרויקט שבו מאחסנים את המאמתים
- ATTESTATION_PROJECT_ID: שם הפרויקט שבו מאחסנים את האישורים
אם רוצים שהאישור ייווצר באותו פרויקט שבו נוצרו המאמתים, צריך להשתמש באותו מזהה פרויקט בשני המשתנים. במאמר הגדרה של כמה פרויקטים יש מדריך מקיף שמסביר איך להשתמש בפרויקטים שונים כדי להדגים הפרדה בין תפקידים.
מציינים את השם של המאשר ואת פרטי התמונה:
ATTESTOR_NAME=ATTESTOR_NAME IMAGE_PATH=IMAGE_PATH IMAGE_DIGEST=IMAGE_DIGEST IMAGE_TO_ATTEST="${IMAGE_PATH}@${IMAGE_DIGEST}"מחליפים את מה שכתוב בשדות הבאים:
- ATTESTOR_NAME: השם של הגורם המאמת, למשל
build-secureאוprod-qa. IMAGE_PATH: URI שמייצג נתיב של תמונה. למרות שכתובת ה-URI חייבת לכלול דומיין ושם תמונה, היא לא צריכה להתייחס לתמונה בפועל. אין גישה לתמונות במהלך יצירת האישור. דוגמאות לנתיבי תמונות:
us-docker.pkg.dev/google-samples/containers/gke/hello-appgcr.io/example-project/quickstart-imageexample.com/hello-app.
IMAGE_DIGEST: ה-digest של מניפסט התמונה. לדוגמה,
sha256:37e5287945774f27b418ce567cd77f4bbc9ef44a1bcd1a2312369f31f9cce567הוא הגיבוב של התמונה שמשויך לנתיב התמונהus-docker.pkg.dev/google-samples/containers/gke/hello-app. במאמר ניהול תמונות מוסבר איך מקבלים את ה-digest של תמונה ב-Artifact Registry. במאמר הצגת רשימת הגרסאות של תמונה מוסבר איך מקבלים את ה-digest של תמונה ב-Container Registry.
- ATTESTOR_NAME: השם של הגורם המאמת, למשל
הענקת תפקידים בניהול הזהויות והרשאות הגישה
כדי ליצור אישורים, צריך להקצות את התפקידים הבאים בניהול הזהויות והרשאות הגישה (IAM) לזהות שיוצרת את מאמת האישורים, באופן הבא:
-
roles/containeranalysis.notes.attacherבמשאב ההערה שמשויך לגורם המאמת (attestor). -
roles/containeranalysis.occurrences.editorבמשאב של פרויקט האימות.
יוצרים אימות (attestation) על סמך גורם מאמת (attestor). המאשר משויך להערה של ניתוח ארטיפקטים. יצירת אישור בתורה יוצרת מופע של Artifact Analysis ומצרפת אותו להערה.
במאמר