הדף הזה מיועד למשתמשים בגרסה הקודמת של "אימות רציף" (CV) (הוצאה משימוש).
התכונה "תיקוף רציף מדור קודם" ב-Binary Authorization בודקת מדי פעם אם קובצי האימג' של הקונטיינרים שמשויכים ל-Pods שפועלים ממשיכים לעמוד בדרישות של מדיניות ה-singleton של הפרויקט ב-Binary Authorization. הגרסה הקודמת של CV מתעדת ממצאים ב-Cloud Logging.
הגרסה הקודמת של CV לא מפסיקה את הפעולה של Pods שפועלים.
מגבלות
אלה המגבלות של הגרסה הקודמת של CV:
- הגרסה הקודמת של CV תומכת רק ב-Pods שנפרסו ב-Google Kubernetes Engine (GKE).
- הגרסה הקודמת של CV לא תומכת במדיניות של Binary Authorization שמציינת כללים ספציפיים לזהויות של שירותי Cloud Service Mesh, לחשבונות שירות של Kubernetes או למרחבי שמות של Kubernetes.
לפני שמתחילים
מוודאים שהגדרתם בפרויקט את Binary Authorization ל-Google Kubernetes Engine. הגרסה הקודמת של CV מתעדת אירועים של תאימות למדיניות מ-Pods בכל האשכולות בפרויקט.
מוודאים שהגרסה העדכנית של ה-CLI של gcloud עדכנית.
ההרשאות הנדרשות
תפקידי ניהול זהויות והרשאות גישה (IAM) כוללים הרשאות, ואפשר להקצות אותם למשתמשים, לקבוצות ולחשבונות שירות. התפקידים הבאים כוללים את ההרשאות שרשומות ל-CV:
| שם התפקיד | הרשאות CV מדור קודם | תיאור |
|---|---|---|
roles/binaryauthorization.policyEditor |
binaryauthorization.continuousValidationConfig.update |
הפעלה והשבתה של CV. |
כדי להגדיר את הרשאות ה-IAM הנדרשות, מריצים את הפקודות הבאות:
PROJECT_NUMBER=$(gcloud projects list \
--filter="projectId:ATTESTATION_PROJECT_ID" \
--format="value(PROJECT_NUMBER)")
SERVICE_ACCOUNT="service-$PROJECT_NUMBER@gcp-sa-binaryauthorization.iam.gserviceaccount.com"
gcloud projects add-iam-policy-binding ATTESTATION_PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT" \
--role='roles/containeranalysis.occurrences.viewer'
הפעלת CV מדור קודם
המסוף
כדי להפעיל את הגרסה הקודמת של CV באמצעות מסוף Google Cloud :
במסוףGoogle Cloud , נכנסים לדף Policy ב-Binary Authorization.
לוחצים על הכרטיסייה מדיניות.
לוחצים על עריכת המדיניות.
מרחיבים את הקטע Additional settings for GKE and Anthos deployments.
מסמנים את התיבה Enable Continuous Validation.
לוחצים על Save Policy.
API בארכיטקטורת REST
כדי להפעיל את הגרסה המדור קודם של CV באמצעות ה-API בארכיטקטורת REST:
שומרים את מזהה הפרויקט:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_IDמחליפים את
DEPLOYER_PROJECT_IDבמזהה הפרויקט שבו מריצים את GKE.מקבלים את טוקן ה-OAuth של Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)האסימון תקף לזמן קצר בלבד.
הפעלת CV מדור קודם:
curl "https://binaryauthorization.googleapis.com/v1alpha2/projects/${DEPLOYER_PROJECT_ID}/continuousValidationConfig" -X PUT -H "authorization: Bearer $BEARER_TOKEN" -H "Content-Type: application/json" --data '{"enforcementPolicyConfig": {"enabled": "true"}}'
הגרסה הקודמת של CV מוגדרת עכשיו לתעד אירועים ביומן.
הרשומה ביומן של Logging דומה לדוגמה הבאה:
{
"insertId": "6054e143-0000-2562-aa64-883d24f57e70",
"jsonPayload": {
"@type": "type.googleapis.com/google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent",
"podEvent": {
"images": [
{
"description": "Image <var>IMAGE_NAME@IMAGE_DIGEST</var> denied by
attestor projects/<var>ATTESTOR_PROJECT_ID</var>/attestors/<var>ATTESTOR_NAME</var>:
No attestations found that were valid and signed by a key trusted by
the attestor",
"image": "<var>IMAGE_NAME@IMAGE_DIGEST</var>",
"result": "DENY"
}
],
"verdict": "VIOLATES_POLICY",
"deployTime": "2021-03-19T17:00:08Z",
"pod": "<var>POD_NAME</var>"
}
},
"resource": {
"type": "k8s_cluster",
"labels": {
"cluster_name": "<var>CLUSTER_NAME</var>",
"location": "<var>CLUSTER_LOCATION</var>",
"project_id": "<var>DEPLOYER_PROJECT_ID</var>"
}
},
"timestamp": "2021-03-19T17:15:43.872702342Z",
"severity": "WARNING",
"logName": "projects/<var>DEPLOYER_PROJECY_ID</var>/logs/binaryauthorization.googleapis.com%2Fcontinuous_validation",
"receiveTimestamp": "2021-03-19T17:57:00.432116179Z"
}
במאמר הצגת אירועי CV מדור קודם ב-Cloud Logging מוסבר איך שולחים שאילתות לגבי אירועי CV מדור קודם.
פתרון בעיות
בגרסה הקודמת של CV נעשה שימוש בשירותים אחרים של Google Cloud , כמו מאגר משאבי ענן ו-Pub/Sub. אם האימות הרציף בגרסה הקודמת נכשל, אתם יכולים לבדוק אם יש שגיאות במאגר משאבי הענן ב-Cloud Logging.
בנוסף, הגרסה הקודמת של CV יוצרת משאב פיד שנקרא binauthz-cv-cai-feed. אם תמחקו או תשנו את הפיד, יכול להיות שאימות ה-CV הקודם ייכשל. הגרסה הקודמת של CV משחזרת באופן אוטומטי פידים חסרים או כאלה ששונו, אבל יכול להיות שהיא לא תתעד ממצאים עד שהיא תעשה את זה.
השבתת CV
המסוף
כדי להשבית את הגרסה הקודמת של CV באמצעות מסוף Google Cloud :
נכנסים לדף Binary Authorization במסוף Google Cloud :
לוחצים על הכרטיסייה מדיניות.
לוחצים על עריכת המדיניות.
מבטלים את הסימון של התיבה Enable Continuous Validation.
לוחצים על שמירת המדיניות.
API בארכיטקטורת REST
כדי להשבית את CV מדור קודם באמצעות ה-API בארכיטקטורת REST:
שומרים את מזהה הפרויקט:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_IDמחליפים את
DEPLOYER_PROJECT_IDבמזהה הפרויקט שבו מריצים את GKE.מקבלים את טוקן ה-OAuth של Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)האסימון תקף לזמן קצר בלבד.
משביתים את ה-CV הקודם באמצעות הפקודה הבאה:
curl "https://binaryauthorization.googleapis.com/v1alpha2/projects/${DEPLOYER_PROJECT_ID}/continuousValidationConfig" -X PUT -H "authorization: Bearer $BEARER_TOKEN" -H "Content-Type: application/json" --data '{"enforcementPolicyConfig": {"enabled": "false"}}'
הצגת אירועי CV מהסוג הישן ב-Cloud Logging
אחרי שמפעילים את CV, המערכת מתעדת באופן קבוע ב-Cloud Logging את כל ה-Pods שמפירים את המדיניות של Binary Authorization.
רשומות יומן אלה מכילות את שם היומן הבא:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Logs Explorer
כדי לצפות באירועי CV מדור קודם ב-Cloud Logging באמצעות Logs Explorer:
בוחרים את מזהה הפרויקט שבו הפעלתם את Google Cloud Observability.
מזינים את השאילתה הבאה בתיבה search-query:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"בוחרים את טווח התאריכים בבורר טווח הזמן.
מציג היומנים הקודם
כדי לצפות באירועי CV מדור קודם ב-Cloud Logging באמצעות Logs Explorer:
בתפריט הנפתח Options, בוחרים באפשרות Go back to the Legacy Logs Viewer.
בוחרים את הפרויקט ב- Google Cloud שבו הגדרתם את Google Cloud Observability.
מזינים את השאילתה הבאה בתיבת החיפוש:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"בוחרים את טווח התאריכים בבורר טווח הזמן.
gcloud
כדי להציג אירועי CV מדור קודם מהשבוע האחרון ב-Cloud Logging באמצעות gcloud, מריצים את הפקודה הבאה:
gcloud logging read --order="desc" --freshness=7d \
'logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"'
המאמרים הבאים
- משתמשים ב-breakglass כדי לפרוס Pod ולצפות באירועי breakglass.
- מפעילים הרצת בדיקה, פורסים קובץ אימג' של קונטיינר וצופים באירועים של הרצת בדיקה.