בדיקת תובנות לגבי מדיניות בפרויקטים, בתיקיות ובארגונים

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

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

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

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

  • מפעילים את Recommender API, אם הוא עדיין לא מופעל.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, נדרשת ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

  • כדאי להכיר את ההמלצות לגבי תפקידים ב-IAM.
  • כדי להשתמש בתובנות לגבי מדיניות, צריך להפעיל את Premium או Enterprise ברמת הארגון או הפרויקט. מידע נוסף זמין במאמר שאלות בנושא חיוב.
  • אופציונלי: אפשר לקרוא על תובנות בשירות ההמלצות.

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות לניהול תובנות לגבי מדיניות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים ברמת הפרויקט, התיקייה או הארגון שרוצים לנהל את התובנות לגביהם:

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

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

ההרשאות הנדרשות

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

  • כדי לראות תובנות לגבי מדיניות:
    • recommender.iamPolicyInsights.get
    • recommender.iamPolicyInsights.list
  • כדי לשנות את התובנות לגבי המדיניות: recommender.iamPolicyInsights.update

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

תובנות לגבי המדיניות

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

המסוף

  1. נכנסים לדף IAM במסוף Google Cloud .

    כניסה לדף IAM

  2. בוחרים פרויקט, תיקייה או ארגון.

בעמודה Security insights מופיעות כל התובנות שקשורות לאבטחה בפרויקט, כולל תובנות לגבי מדיניות. תובנות לגבי מדיניות הן מהצורה EXCESS/TOTAL excess permissions, כאשר EXCESS הוא מספר ההרשאות בתפקיד שחשבון המשתמש לא צריך, ו-TOTAL הוא המספר הכולל של ההרשאות בתפקיד.

gcloud

כדי לראות את כל התובנות לגבי המדיניות בפרויקט, בתיקייה או בארגון, משתמשים בפקודה gcloud recommender insights list.

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

  • ‫RESOURCE_TYPE: סוג המשאב שלגביו רוצים להציג את התובנות. אפשר להשתמש בערך project,‏ folder או organization.
  • ‫RESOURCE_ID: המזהה של הפרויקט, התיקייה או הארגון שרוצים לראות את התובנות לגביהם.
gcloud recommender insights list --insight-type=google.iam.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

בפלט מפורטים כל התובנות לגבי המדיניות בפרויקט, בתיקייה או בארגון. לדוגמה:

INSIGHT_ID                            CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME     SEVERITY  INSIGHT_SUBTYPE    DESCRIPTION
00133c0b-5431-4b30-9172-7c903aa4af24  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE  9 of the permissions in this role binding were used in the past 90 days.
0161f2eb-acb7-4a5e-ad52-50284beaa312  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE  0 of the permissions in this role binding were used in the past 90 days.
01ea0d0d-e9a1-4073-9367-5a934a857fb4  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE  1 of the permissions in this role binding were used in the past 90 days.
039407bc-a25b-4aeb-b573-5c851f2e9833  SECURITY  ACTIVE         2022-05-24T07:00:00Z  HIGH      PERMISSIONS_USAGE  52 of the permissions in this role binding were used in the past 90 days.
0541df88-8bc3-44b3-ad5d-9cb372630aeb  SECURITY  ACTIVE         2022-05-24T07:00:00Z  HIGH      PERMISSIONS_USAGE  31 of the permissions in this role binding were used in the past 90 days.
07841f74-02ce-4de8-bbe6-fc4eabb68568  SECURITY  ACTIVE         2022-05-24T07:00:00Z  HIGH      PERMISSIONS_USAGE  0 of the permissions in this role binding were used in the past 90 days.
07713094-fdee-4475-9c43-cd53d52c9de1  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE  2 of the permissions in this role binding were used in the past 90 days.
0a438d19-9d63-4749-aadd-578aa4e77908  SECURITY  ACTIVE         2022-05-24T07:00:00Z  LOW       PERMISSIONS_USAGE  0 of the permissions in this role binding were used in the past 90 days.
f4292f55-105b-4744-9dc3-fcacf59685bb  SECURITY  ACTIVE         2022-05-24T07:00:00Z  HIGH      PERMISSIONS_USAGE  4 of the permissions in this role binding were used in the past 90 days.

REST

השיטה insights.list ב-Recommender API מציגה את כל התובנות לגבי המדיניות של הפרויקט, התיקייה או הארגון.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫RESOURCE_TYPE: סוג המשאב שרוצים להציג את התובנות לגביו. אפשר להשתמש בערך projects,‏ folders או organizations.
  • ‫RESOURCE_ID: המזהה של הפרויקט, התיקייה או הארגון שרוצים לראות את התובנות לגביהם.
  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמו my-project.

שיטת ה-HTTP וכתובת ה-URL:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.Insight/insights

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

בתשובה מפורטים כל התובנות לגבי המדיניות של הפרויקט, התיקייה או הארגון. לדוגמה:

{
  "insights": [
    {
      "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/07841f74-02ce-4de8-bbe6-fc4eabb68568",
      "description": "0 of the permissions in this role binding were used in the past 90 days.",
      "content": {
        "role": "roles/viewer",
        "member": "serviceAccount:my-service-account@my-project.iam.gserviceaccount.com",
        "condition": {
          "expression": "",
          "title": "",
          "description": "",
          "location": ""
        },
        "exercisedPermissions": [],
        "inferredPermissions": []
      },
      "lastRefreshTime": "2022-05-24T07:00:00Z",
      "observationPeriod": "7776000s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "associatedRecommendations": [
        {
          "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/b1932220-867d-43d1-bd74-fb95876ab656"
        }
      ],
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ],
      "insightSubtype": "PERMISSIONS_USAGE",
      "etag": "\"b153ab487e4ae100\"",
      "severity": "HIGH"
    },
    {
      "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/f4292f55-105b-4744-9dc3-fcacf59685bb",
      "description": "4 of the permissions in this role binding were used in the past 90 days.",
      "content": {
        "role": "roles/owner",
        "member": "serviceAccount:my-service-account2@my-project.iam.gserviceaccount.com",
        "condition": {
          "expression": "",
          "title": "",
          "description": "",
          "location": ""
        },
        "exercisedPermissions": [
          {
            "permission": "iam.roles.create"
          },
          {
            "permission": "iam.roles.delete"
          },
          {
            "permission": "iam.roles.list"
          },
          {
            "permission": "iam.roles.update"
          }
        ],
        "inferredPermissions": []
      },
      "lastRefreshTime": "2022-05-24T07:00:00Z",
      "observationPeriod": "7776000s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "associatedRecommendations": [
        {
          "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/6ab16c1d-edce-45e5-8d82-570fdd49892a"
        }
      ],
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ],
      "insightSubtype": "PERMISSIONS_USAGE",
      "etag": "\"49bb705553338fc3\"",
      "severity": "HIGH"
    }
  ]
}

מידע נוסף על הרכיבים של תובנה זמין בקטע בדיקת תובנות לגבי מדיניות בדף הזה.

קבלת תובנה לגבי מדיניות אחת

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

המסוף

  1. נכנסים לדף IAM במסוף Google Cloud .

    כניסה לדף IAM

  2. בוחרים פרויקט, תיקייה או ארגון.
  3. בעמודה תובנות בנושא אבטחה, לוחצים על תובנה לגבי מדיניות. תובנות לגבי מדיניות הן מהצורה EXCESS/TOTAL excess permissions, כאשר EXCESS הוא מספר ההרשאות בתפקיד שחשבון המשתמש לא צריך, ו-TOTAL הוא המספר הכולל של ההרשאות בתפקיד.

ייפתח חלונית במסוף Google Cloud עם פרטי התובנה.

gcloud

משתמשים בפקודה gcloud recommender insights describe עם מזהה התובנה כדי להציג מידע על תובנה אחת.

  • ‫INSIGHT_ID: המזהה של התובנה שרוצים להציג. כדי למצוא את המזהה, מציגים את התובנות של הפרויקט, התיקייה או הארגון.
  • RESOURCE_TYPE: סוג המשאב שרוצים לנהל את התובנות לגביו. אפשר להשתמש בערך project,‏ folder או organization.
  • ‫RESOURCE_ID: המזהה של הפרויקט, התיקייה או הארגון שרוצים לנהל את התובנות לגביהם.
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.iam.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global

הפלט מציג את התובנה בפירוט. לדוגמה, התובנה הבאה מציינת שהמשתמש my-service-account@my-project.iam.gserviceaccount.com לא השתמש באף הרשאה מהתפקיד Viewer ‏ (roles/viewer) ב-90 הימים האחרונים:

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0573b702-96a5-4622-a916-c762e7b0731f
category: SECURITY
content:
  condition:
    description: ''
    expression: ''
    location: ''
    title: ''
  exercisedPermissions: []
  inferredPermissions: []
  member: serviceAccount:my-service-account@my-project.iam.gserviceaccount.com
  role: roles/viewer
description: 0 of the permissions in this role binding were used in the past 90 days.
etag: '"d3cdec23cc712bd0"'
insightSubtype: PERMISSIONS_USAGE
lastRefreshTime: '2020-07-11T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/0d3ce433-f067-4e78-b6ae-03d7d1f6f040
observationPeriod: 7776000s
severity: HIGH
stateInfo:
  state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

מידע נוסף על הרכיבים של תובנה זמין בקטע בדיקת תובנות לגבי מדיניות בדף הזה.

REST

ה-method insights.get של Recommender API מחזירה תובנה אחת.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • RESOURCE_TYPE: סוג המשאב שרוצים לנהל את התובנות לגביו. אפשר להשתמש בערך projects,‏ folders או organizations.
  • ‫RESOURCE_ID: המזהה של הפרויקט, התיקייה או הארגון שרוצים לנהל את התובנות לגביהם.
  • ‫INSIGHT_ID: המזהה של התובנה שרוצים להציג. אם אתם לא יודעים מה מזהה התובנה, אתם יכולים לרשום את התובנות בפרויקט, בתיקייה או בארגון. המזהה של תובנה הוא כל מה שמופיע אחרי insights/ בשדה name של התובנה.
  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמו my-project.

שיטת ה-HTTP וכתובת ה-URL:

GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

התשובה מכילה את התובנה. לדוגמה, התובנה הבאה מציינת שהמשתמש my-service-account@my-project.iam.gserviceaccount.com לא השתמש באף הרשאה מהתפקיד Viewer ‏ (roles/viewer) ב-90 הימים האחרונים:

{
  "name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/07841f74-02ce-4de8-bbe6-fc4eabb68568",
  "description": "0 of the permissions in this role binding were used in the past 90 days.",
  "content": {
    "role": "roles/viewer",
    "member": "serviceAccount:my-service-account@my-project.iam.gserviceaccount.com",
    "condition": {
      "expression": "",
      "title": "",
      "description": "",
      "location": ""
    },
    "exercisedPermissions": [],
    "inferredPermissions": []
  },
  "lastRefreshTime": "2022-05-24T07:00:00Z",
  "observationPeriod": "7776000s",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/b1932220-867d-43d1-bd74-fb95876ab656"
    }
  ],
  "targetResources": [
    "//cloudresourcemanager.googleapis.com/projects/123456789012"
  ],
  "insightSubtype": "PERMISSIONS_USAGE",
  "etag": "\"d3cdec23cc712bd0\"",
  "severity": "HIGH"
}

מידע נוסף על הרכיבים של תובנה זמין בקטע בדיקת תובנות לגבי מדיניות בדף הזה.

עיון בתובנות לגבי מדיניות בנושא כתיבת ביקורות

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

המסוף

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

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

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

gcloud

התוכן של תובנה נקבע לפי סוגי המשנה שלה. תובנות לגבי מדיניות (google.iam.policy.Insight) תובנות כוללות את סוג המשנה PERMISSIONS_USAGE.

התובנות של PERMISSIONS_USAGE כוללות את הרכיבים הבאים, לא בהכרח בסדר הזה:

  • ‫associatedRecommendations: המזהים של כל ההמלצות שמשויכות לתובנה. אם אין המלצות שמשויכות לתובנה, השדה הזה ריק.
  • ‫category: הקטגוריה של תובנות IAM היא תמיד SECURITY.
  • ‫content: מדווח על השימוש בהרשאות של חשבון משתמש בתפקיד ספציפי. השדה הזה מכיל את הרכיבים הבאים:

    • ‫condition: תנאים כלשהם שמצורפים לקישור שמעניק לחשבון המשתמש את התפקיד. אם אין תנאים, השדה הזה מכיל תנאי ריק.
    • ‫exercisedPermissions: ההרשאות בתפקיד שחשבון המשתמש השתמש בהן במהלך תקופת התצפית.
    • ‫inferredPermissions: ההרשאות בתפקיד ששירות Recommender קבע באמצעות ML, שסביר להניח שחשבון המשתמש יזדקק להן על סמך ההרשאות שהוא מימש.
    • ‫member: חשבון המשתמש שהשימוש שלו בהרשאות נותח.
    • ‫role: התפקיד שעבורו נותח השימוש בהרשאה.
  • ‫description: סיכום של התובנה שקריא לאנשים.
  • ‫etag: מזהה ייחודי של המצב הנוכחי של התובנה. בכל פעם שהתובנה משתנה, מוקצה ערך חדש ל-etag.

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

  • ‫insightSubtype: תת-הסוג של התובנה.
  • ‫lastRefreshTime: התאריך שבו התובנה עודכנה לאחרונה, שמציין את עדכניות הנתונים ששימשו ליצירת התובנה.
  • ‫name: השם של התובנה, בפורמט הבא:

    RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID

    מחליפים את ה-placeholders בערכים הבאים:

    • ‫RESOURCE_TYPE: סוג המשאב שעבורו נוצר התובנה.
    • ‫RESOURCE_ID: המזהה של הפרויקט, התיקייה או הארגון שבהם נוצר התובנה.
    • ‫INSIGHT_ID: מזהה ייחודי של התובנה.
  • ‫observationPeriod: תקופת הזמן שקדמה לתובנה. הנתונים מהמקור ששימשו ליצירת התובנה הזו מסתיימים ב-lastRefreshTime ומתחילים ב-lastRefreshTime פחות observationPeriod.
  • ‫stateInfo: תובנות עוברות כמה שינויי סטטוס אחרי שהן מוצעות:

    • ACTIVE: התובנה נוצרה, אבל לא בוצעה פעולה או שבוצעה פעולה בלי לעדכן את מצב התובנה. התובנות הפעילות מתעדכנות כשיש שינויים בנתוני הבסיס.
    • ‫ACCEPTED: בוצעה פעולה מסוימת על סמך התובנה. התובנות מתקבלות כשסימנתם המלצה משויכת בסימון CLAIMED, ‏SUCCEEDED או FAILED, או כשאישרתם את התובנה ישירות. כשמצב התובנה הוא ACCEPTED, אי אפשר לשנות את התוכן שלה. תובנות שאושרו נשמרות למשך 90 יום אחרי האישור.
  • ‫targetResources: שם המשאב המלא של הפרויקט, התיקייה או הארגון שאליהם מתייחסת התובנה. לדוגמה, //cloudresourcemanager.googleapis.com/projects/123456789012.

REST

התוכן של תובנה נקבע לפי סוגי המשנה שלה. תובנות לגבי מדיניות (google.iam.policy.Insight) תובנות כוללות את סוג המשנה PERMISSIONS_USAGE.

התובנות של PERMISSIONS_USAGE כוללות את הרכיבים הבאים, לא בהכרח בסדר הזה:

  • ‫associatedRecommendations: המזהים של כל ההמלצות שמשויכות לתובנה. אם אין המלצות שמשויכות לתובנה, השדה הזה ריק.
  • ‫category: הקטגוריה של תובנות IAM היא תמיד SECURITY.
  • ‫content: מדווח על השימוש בהרשאות של חשבון משתמש בתפקיד ספציפי. השדה הזה מכיל את הרכיבים הבאים:

    • ‫condition: תנאים כלשהם שמצורפים לקישור שמעניק לחשבון המשתמש את התפקיד. אם אין תנאים, השדה הזה מכיל תנאי ריק.
    • ‫exercisedPermissions: ההרשאות בתפקיד שחשבון המשתמש השתמש בהן במהלך תקופת התצפית.
    • ‫inferredPermissions: ההרשאות בתפקיד ששירות Recommender קבע באמצעות ML, שסביר להניח שחשבון המשתמש יזדקק להן על סמך ההרשאות שהוא מימש.
    • ‫member: חשבון המשתמש שהשימוש שלו בהרשאות נותח.
    • ‫role: התפקיד שעבורו נותח השימוש בהרשאה.
  • ‫description: סיכום של התובנה שקריא לאנשים.
  • ‫etag: מזהה ייחודי של המצב הנוכחי של התובנה. בכל פעם שהתובנה משתנה, מוקצה ערך חדש ל-etag.

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

  • ‫insightSubtype: תת-הסוג של התובנה.
  • ‫lastRefreshTime: התאריך שבו התובנה עודכנה לאחרונה, שמציין את עדכניות הנתונים ששימשו ליצירת התובנה.
  • ‫name: השם של התובנה, בפורמט הבא:

    RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID

    מחליפים את ה-placeholders בערכים הבאים:

    • ‫RESOURCE_TYPE: סוג המשאב שעבורו נוצר התובנה.
    • ‫RESOURCE_ID: המזהה של הפרויקט, התיקייה או הארגון שבהם נוצר התובנה.
    • ‫INSIGHT_ID: מזהה ייחודי של התובנה.
  • ‫observationPeriod: תקופת הזמן שקדמה לתובנה. הנתונים מהמקור ששימשו ליצירת התובנה הזו מסתיימים ב-lastRefreshTime ומתחילים ב-lastRefreshTime פחות observationPeriod.
  • ‫stateInfo: תובנות עוברות כמה שינויי סטטוס אחרי שהן מוצעות:

    • ACTIVE: התובנה נוצרה, אבל לא בוצעה פעולה או שבוצעה פעולה בלי לעדכן את מצב התובנה. התובנות הפעילות מתעדכנות כשיש שינויים בנתוני הבסיס.
    • ‫ACCEPTED: בוצעה פעולה מסוימת על סמך התובנה. התובנות מתקבלות כשסימנתם המלצה משויכת בסימון CLAIMED, ‏SUCCEEDED או FAILED, או כשאישרתם את התובנה ישירות. כשמצב התובנה הוא ACCEPTED, אי אפשר לשנות את התוכן שלה. תובנות שאושרו נשמרות למשך 90 יום אחרי האישור.
  • ‫targetResources: שם המשאב המלא של הפרויקט, התיקייה או הארגון שאליהם מתייחסת התובנה. לדוגמה, //cloudresourcemanager.googleapis.com/projects/123456789012.

סימון תובנה לגבי מדיניות כACCEPTED

אם אתם מבצעים פעולה על סמך תובנה פעילה, אתם יכולים לסמן את התובנה הזו כACCEPTED. הסטטוס ACCEPTED מציין ל-Recommender API שפעלתם על סמך התובנה הזו, וכך משפר את ההמלצות.

תובנות שאושרו נשמרות למשך 90 ימים אחרי שהן מסומנות כACCEPTED.

המסוף

אם תובנה משויכת להמלצה, יישום ההמלצה משנה את הסטטוס של התובנה ל-ACCEPTED.

כדי לסמן תובנה כACCEPTED בלי להחיל המלצה, משתמשים ב-CLI של gcloud או ב-API בארכיטקטורת REST.

gcloud

משתמשים בפקודה gcloud recommender insights mark-accepted עם מזהה התובנה כדי לסמן תובנה כACCEPTED.

  • ‫INSIGHT_ID: המזהה של התובנה שרוצים להציג. כדי למצוא את המזהה, מציגים את התובנות של הפרויקט, התיקייה או הארגון.
  • RESOURCE_TYPE: סוג המשאב שרוצים לנהל את התובנות לגביו. אפשר להשתמש בערך project,‏ folder או organization.
  • ‫RESOURCE_ID: המזהה של הפרויקט, התיקייה או הארגון שרוצים לנהל את התובנות לגביהם.
  • ‫ETAG: מזהה של גרסת התובנה. כדי לקבל את etag, מבצעים את הפעולות הבאות:

    1. מקבלים את התובנה באמצעות הפקודה gcloud recommender insights describe.
    2. מוצאים ומעתיקים את הערך etag מהפלט, כולל המירכאות המקיפות. לדוגמה, "d3cdec23cc712bd0".
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.iam.policy.Insight \
    --RESOURCE_TYPE=RESOURCE_ID \
    --location=global \
    --etag=ETAG

הפלט מציג את התובנה, ועכשיו הסטטוס הוא ACCEPTED:

associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0573b702-96a5-4622-a916-c762e7b0731f
category: SECURITY
content:
  condition:
    description: ''
    expression: ''
    location: ''
    title: ''
  exercisedPermissions: []
  inferredPermissions: []
  member: serviceAccount:my-service-account@my-project.iam.gserviceaccount.com
  role: roles/viewer
description: 0 of the permissions in this role binding were used in the past 90 days.
etag: '"b153ab487e4ae100"'
insightSubtype: PERMISSIONS_USAGE
lastRefreshTime: '2020-07-11T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/0d3ce433-f067-4e78-b6ae-03d7d1f6f040
observationPeriod: 7776000s
severity: HIGH
stateInfo:
  state: ACCEPTED
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

מידע נוסף על פרטי הסטטוס של תובנה זמין בקטע בדיקת תובנות לגבי מדיניות בדף הזה.

REST

ה-method insights.markAccepted של Recommender API מסמנת תובנה כ-ACCEPTED.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • RESOURCE_TYPE: סוג המשאב שרוצים לנהל את התובנות לגביו. אפשר להשתמש בערך projects,‏ folders או organizations.
  • ‫RESOURCE_ID: המזהה של הפרויקט, התיקייה או הארגון שרוצים לנהל את התובנות לגביהם.
  • ‫INSIGHT_ID: המזהה של התובנה שרוצים להציג. אם אתם לא יודעים מה מזהה התובנה, אתם יכולים לרשום את התובנות בפרויקט, בתיקייה או בארגון. המזהה של תובנה הוא כל מה שמופיע אחרי insights/ בשדה name של התובנה.
  • ‫ETAG: מזהה של גרסת התובנה. כדי לקבל את etag, מבצעים את הפעולות הבאות:
    1. מקבלים את התובנה באמצעות ה-method‏ insights.get.
    2. מאתרים את הערך etag בתשובה ומעתיקים אותו.
  • ‫PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמו my-project.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID:markAccepted

תוכן בקשת JSON:

{
  "etag": "ETAG"
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

התשובה מכילה את התובנה, ועכשיו הסטטוס שלה הוא ACCEPTED:

{
  "name": "projects/1234567890/locations/global/insightTypes/google.iam.policy.Insight/insights/07841f74-02ce-4de8-bbe6-fc4eabb68568",
  "description": "0 of the permissions in this role binding were used in the past 90 days.",
  "content": {
    "role": "roles/viewer",
    "member": "serviceAccount:my-service-account@my-project.iam.gserviceaccount.com",
    "condition": {
      "expression": "",
      "title": "",
      "description": "",
      "location": ""
    },
    "exercisedPermissions": [],
    "inferredPermissions": []
  },
  "lastRefreshTime": "2022-05-24T07:00:00Z",
  "observationPeriod": "7776000s",
  "stateInfo": {
    "state": "ACCEPTED"
    },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/1234567890/locations/global/recommenders/google.iam.policy.Recommender/recommendations/b1932220-867d-43d1-bd74-fb95876ab656"
    }
  ],
  "targetResources": [
    "//cloudresourcemanager.googleapis.com/projects/123456789012"
  ],
  "insightSubtype": "PERMISSIONS_USAGE",
  "etag": "\"b153ab487e4ae100\"",
  "severity": "HIGH"
}

מידע נוסף על פרטי הסטטוס של תובנה זמין בקטע בדיקת תובנות לגבי מדיניות בדף הזה.

המאמרים הבאים