שינוי ההמלצות לגבי סיכונים

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

מבוא

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

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

שינוי היקף ההמלצות לסיכון

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

משאב פעולה פלטפורמות קריטריונים שמשמשים לקביעת החשיבות של משאב
Project מחיקה
  • מסוףGoogle Cloud
  • ‫CLI של gcloud
  • Recommender API
  • השימוש בפרויקט (קריאות ל-API, תעבורת נתונים ברשת ושימוש בשירותים) Google Cloud
  • חיוב
  • השימוש ב-30 הימים האחרונים
חשבון שירות מחיקה
  • מסוףGoogle Cloud
  • ‫CLI של gcloud
  • Recommender API
  • מספר האימותים
  • שימוש ב-90 הימים האחרונים
מדיניות IAM שינוי
  • מסוףGoogle Cloud
  • ‫CLI של gcloud
  • Recommender API
  • מספר ההרשאות שהופעלו
  • שימוש ב-90 הימים האחרונים
  • שייכים לפרויקט חשוב

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

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

  1. מפעילים את Recommender API בפרויקט יחיד לחיוב. לאחר מכן תוכלו להשתמש באותו פרויקט לחיוב כדי לאחזר המלצות ותובנות לגבי פרויקטים אחרים, הארגון כולו או החשבון לחיוב, באמצעות הפונקציונליות של פרויקט לחיוב ב-gcloud/API.
  2. מעניקים הרשאות למשתמש או לחשבון השירות שבהם תשתמשו כדי לגשת לתכונה הזו.

הרשאות

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

  • פרויקט

    • recommender.resourcemanagerProjectChangeRiskRecommendations.get
    • recommender.resourcemanagerProjectChangeRiskRecommendations.list
    • recommender.resourcemanagerProjectChangeRiskInsights.get
    • recommender.resourcemanagerProjectChangeRiskInsights.list
  • חשבון השירות

    • recommender.iamServiceAccountChangeRiskRecommendations.get
    • recommender.iamServiceAccountChangeRiskRecommendations.list
    • recommender.iamServiceAccountChangeRiskInsights.get
    • recommender.iamServiceAccountChangeRiskInsights.list
  • מדיניות IAM

    • recommender.iamPolicyChangeRiskRecommendations.get
    • recommender.iamPolicyChangeRiskRecommendations.list
    • recommender.iamPolicyChangeRiskInsights.get
    • recommender.iamPolicyChangeRiskInsights.list

אפשר גם להעניק את התפקיד roles/recommender.viewer כדי לכסות את ההרשאות האלה.

הסבר על התשובה של כלי המלצות/תובנות לגבי סיכון לשינוי

בטבלה הבאה מפורטים השדות שמוצגים באובייקט ההמלצה ובאובייקט התובנה:

המלצה

שם השדה סוג תיאור
associatedInsights string תובנה שמשויכת להמלצה הזו. projects/[project_number]/locations/global/ insightTypes/google.resourcemanager.project. ChangeRiskInsight/insights/[fingerprint]
asset object מכיל את שם הנכס ואת סוג הנכס של המשאב המשויך.
etag string טביעת האצבע של RecommenderConfig. מספק נעילה אופטימית בעת עדכון.
updateTime string חותמת הזמן של הפעם האחרונה שבה ההמלצה עודכנה. חותמת זמן בפורמט Zulu של RFC 3339 UTC, ברמת דיוק של ננו-שניות. דוגמה: 2022-01-10T22:47:38.421626Z.

תובנה

שם השדה סוג תיאור
associatedRecommendations string המלצה שמשויכת להמלצה הזו. projects/[project_number]/locations/global/ recommenders/google.resourcemanager.project. ChangeRiskRecommender/recommendations/ [recommendation_id]
constraint object מכיל את ההמלצה לגבי מגבלת הסיכון לשינוי, שלפיה לא מומלץ למשתמש לבצע את השינוי. This project should not be deleted.
importance object מכיל את רשימת הסיבות שבגללן קבענו שהמשאב הזה חשוב. לדוגמה, שימוש גבוה.
risk object מכיל פרטים על הערכת הסיכונים. לדוגמה,ערכי פעילות של שימוש במשאבים משמשים לקביעת החשיבות.
updateTime string חותמת הזמן של הפעם האחרונה שבה ההמלצה עודכנה. חותמת זמן בפורמט Zulu של RFC 3339 UTC, ברמת דיוק של ננו-שניות. דוגמה: 2022-01-10T22:47:38.421626Z.

איך צופים בהמלצות לסיכון השינוי

בנוסף למודל השימוש שצוין למעלה, אפשר להשתמש בגישה הרגילה לשירות Recommender כדי לראות את ההמלצות והתובנות לגבי סיכון השינוי בפרויקט, בחשבון שירות או במדיניות IAM:

  • מסוףGoogle Cloud
  • API
  • gcloud

מסוףGoogle Cloud

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

הכלי Active Assist מזהיר אתכם מפני הסכנות של מחיקת משאב חשוב, ומציין מה צריך לעשות כשהאזהרה הזו מופיעה במצבים הבאים:

‫gcloud ו-API

בקטעים הבאים מוצגות הפקודות לבקשת המלצות ותובנות לגבי סיכוני שינוי דרך gcloud וה-API עבור פרויקט, חשבון שירות או מדיניות IAM.

פרויקט

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

gcloud

כדי לראות המלצות ותובנות באמצעות gcloud, פועלים לפי השלבים הבאים. מידע נוסף זמין במאמרים שימוש ב-API – תובנות ושימוש ב-API – המלצות.

המלצות:

כדי לראות את ההמלצות לפרויקט שבו הפעלתם את Recommender API, מריצים את הפקודה הבאה:

gcloud recommender recommendations list
--recommender=google.resourcemanager.project.ChangeRiskRecommender
--project=PROJECT_ID  --location=global --format=yaml

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID : מזהה הפרויקט.
תובנות:

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

gcloud recommender insights list
--insight-type=google.resourcemanager.project.ChangeRiskInsight
--project=PROJECT_ID  --location=global --format=yaml

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID : מזהה הפרויקט.

API

כדי לראות המלצות ותובנות, אפשר להשתמש ב-curl כדי לשלוח בקשה ל-Recommender APIs.

המלצות

כדי לראות את ההמלצות לפרויקט שבו הפעלתם את Recommender API, מריצים את הפקודה הבאה:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/
recommenders/google.resourcemanager.project.ChangeRiskRecommender/recommendations"

מחליפים את מה שכתוב בשדות הבאים:

  • BILLING_PROJECT_ID : מזהה פרויקט החיוב.
תובנות:

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

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/insightTypes/google.resourcemanager.project.ChangeRiskInsight/insights"

מחליפים את הערכים הבאים: * BILLING_PROJECT_ID : מזהה פרויקט החיוב.

חשבון שירות

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

gcloud

כדי לראות המלצות ותובנות באמצעות gcloud, פועלים לפי השלבים הבאים. מידע נוסף זמין במאמרים שימוש ב-API – תובנות ושימוש ב-API – המלצות.

המלצות:

כדי להציג רשימה של המלצות לחשבון שירות שבו הפעלתם את Recommender API, מריצים את הפקודה הבאה:

gcloud recommender recommendations list
--recommender=google.iam.serviceAccount.ChangeRiskRecommender
--project=PROJECT_ID  --location=global --format=yaml

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID : מזהה הפרויקט.
תובנות:

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

gcloud recommender insights list
--insight-type=google.iam.serviceAccount.ChangeRiskInsight
--project=PROJECT_ID  --location=global --format=yaml

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

API

כדי לראות המלצות ותובנות, אפשר להשתמש ב-curl כדי לשלוח בקשה ל-Recommender APIs.

המלצות:

כדי להציג רשימה של המלצות לחשבון שירות שבו הפעלתם את Recommender API, מריצים את הפקודה הבאה:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/
recommenders/google.iam.serviceAccount.ChangeRiskRecommender/recommendations"

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID : מזהה הפרויקט.
  • BILLING_PROJECT_ID : מזהה פרויקט החיוב.
תובנות:

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

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/insightTypes/google.iam.serviceAccount.ChangeRiskInsight/insights"

מחליפים את הערכים הבאים: * PROJECT_ID : מזהה הפרויקט. ‫* BILLING_PROJECT_ID : מזהה פרויקט החיוב.

מדיניות IAM

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

gcloud

כדי להציג המלצות ותובנות באמצעות gcloud, פועלים לפי השלבים הבאים. מידע נוסף זמין במאמרים שימוש ב-API – תובנות ושימוש ב-API – המלצות.

המלצות:

כדי להציג רשימה של המלצות למדיניות IAM שבה הפעלתם את Recommender API, מריצים את הפקודה הבאה:

gcloud recommender recommendations list --recommender=google.iam.policy.ChangeRiskRecommender --project=PROJECT_ID  --location=global --format=yaml

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID : מזהה הפרויקט.
תובנות:

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

gcloud recommender insights list --insight-type=google.iam.policy.ChangeRiskInsight --project=PROJECT_ID  --location=global --format=yaml

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

API

כדי לראות המלצות ותובנות, אפשר להשתמש ב-curl כדי לשלוח בקשה ל-Recommender APIs.

המלצות:

כדי להציג רשימה של המלצות למדיניות IAM שבה הפעלתם את Recommender API, מריצים את הפקודה הבאה:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/\recommenders/google.iam.policy.ChangeRiskRecommender/recommendations"

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID : מזהה הפרויקט.
תובנות:

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

curl -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-user-project: BILLING_PROJECT_ID " "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/global/insightTypes/google.iam.policy.ChangeRiskInsight/insights"

מחליפים את הערכים הבאים: * PROJECT_ID : מזהה הפרויקט. ‫* BILLING_PROJECT_ID : מזהה פרויקט החיוב.

מחיקות מסוכנות באמצעות ה-CLI של gcloud

כשמוחקים משאבים באמצעות ה-CLI של gcloud, אפשר להשתמש בדגל האופציונלי המוסתר --recommend=yes בגרסת אלפא כדי להפסיק שינויים מסוכנים. בהמשך מוצגות דוגמאות לשינויים מסוכנים נתמכים עם המלצות. אם לא מוצגת הערכת סיכונים, השינוי לא נחשב לשינוי מסוכן.

מחיקת פרויקט

הפקודה הבאה מוחקת פרויקט:

  gcloud alpha projects delete PROJECT_ID  --recommend=yes

יוצגו לכם השינויים המסוכנים הבאים שנתמכים עם המלצות:

  Shutting down this project will immediately:
    - Stop all traffic and billing.
    - Start deleting resources.
    - Schedule the final deletion of the project after 30 days.
    - Block your access to the project.
    - Notify the owner of the project.

  Learn more about the shutdown process at
  https://cloud.google.com/resource-manager/docs/creating-managing-projects#shutting_down_projects

  WARNING: If you shut down this project you risk losing data or interrupting your services. In the last 30 days we observed this project had:
    - It had significant usage, including 9942 API calls.
    - It contains at least 1 highly utilized service account.
    - It included at least 211 resources.

  We recommend verifying this is the correct project to shut down.

  View the full risk assessment at: https://console.cloud.google.com/home/recommendations/view-link/projects/123456/locations/global/recommenders/google.resourcemanager.project.ChangeRiskRecommender/recommendations/reco-id-0000-0000-000000000

  Do you want to continue (Y/n)?  n

מחיקה של חשבון שירות

הפקודה הבאה מוחקת חשבון שירות:

  gcloud alpha iam service-accounts delete example@PROJECT_ID .iam.gserviceaccount.com --recommend=yes

יוצגו לכם השינויים המסוכנים הבאים שנתמכים עם המלצות:

  You are about to delete service account [example@PROJECT_ID .iam.gserviceaccount.com]

  Deleting this service account (SA) will delete all associated key IDs, and will prevent the account from authenticating to any Google Cloud service API.

  You cannot restore or roll back this change easily. We highly recommend disabling the account first, testing for any unexpected impact, and only then deleting.

  WARNING: If you delete this SA you risk interrupting your service, as we observed it was substantially used in the last 90 days.

  We recommend verifying this is the correct account to delete.

  View the full risk assessment at: https://console.cloud.google.com/home/recommendations/view-link/projects/123456/locations/global/recommenders/google.iam.serviceAccount.ChangeRiskRecommender/recommendations/reco-id-0000-0000-000000000

  Do you want to continue (Y/n)?  n

אם הודעת השגיאה הבאה מופיעה:

  ERROR: (gcloud.alpha.iam.service-accounts.delete) NOT_FOUND: Method not found.
  - '@type': type.googleapis.com/google.rpc.DebugInfo
    detail: 'Method ListInsights not found for service recommender.googleapis.com. Method not visible to labels: {PUBLIC}'

מוודאים שהגדרת הפרויקט מוגדרת לפרויקט שנכלל ברשימת ההיתרים לשימוש ב-Alpha Recommender API באמצעות הפקודה הבאה:

  gcloud config set project PROJECT_ID 

מחיקה של קישור מדיניות IAM בפרויקט

הפקודה הבאה מוחקת מדיניות IAM שמקושרת לפרויקט:

  gcloud alpha projects remove-iam-policy-binding PROJECT_ID  --member=YOUR_EMAIL@DOMAIN.COM  --role=roles/owner --recommend=yes

יוצגו לכם השינויים המסוכנים הבאים שנתמכים עם המלצות:

  You are about to delete the role [roles/owner].

  WARNING: If you remove the role [roles/owner], there is a high risk that you might cause interruptions because it was used in the last 90 days.

  We recommend you verify the details and replace them with less privileged roles, if necessary.

  View the full risk assessment at: https://console.cloud.google.com/home/recommendations/view-link/projects/123456/locations/global/recommenders/google.iam.policy.ChangeRiskRecommender/recommendations/reco-id-0000-0000-000000000

  Do you want to continue (Y/n)?  n

משוב ותמיכה

במקרה של בעיות טכניות, שאלות או משוב, אפשר לשלוח אימייל לכתובת active-assist-feedback@google.com.