בדף הזה מוסבר איך לנהל תובנות לגבי תנועה רוחבית, שמזהות תפקידים שמאפשרים לחשבון שירות בפרויקט אחד להתחזות לחשבון שירות בפרויקט אחר. מידע נוסף על תובנות לגבי תנועה רוחבית זמין במאמר איך נוצרות תובנות לגבי תנועה רוחבית.
לפעמים תובנות לגבי תנועה רוחבית מקושרות להמלצות לגבי תפקידים. ההמלצות לגבי תפקידים מציעות פעולות שאפשר לבצע כדי לפתור את הבעיות שזוהו בתובנות לגבי תנועה רוחבית.
לפני שמתחילים
-
מפעילים את Recommender API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים - כדאי להכיר את ההמלצות לגבי תפקידים ב-IAM.
- מוודאים שיש לכם הפעלה ברמת הארגון או ברמת הפרויקט של רמת Premium או Enterprise ב-Security Command Center. מידע נוסף זמין במאמר שאלות בנושא חיוב.
- אופציונלי: אפשר לקרוא על תובנות בשירות ההמלצות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול תובנות לגבי תנועה לרוחב, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט, בתיקייה או בארגון שרוצים לנהל את התובנות לגביהם:
-
כדי לצפות בתובנות לגבי תנועה לרוחב:
צפייה בשירות המלצות IAM (
roles/recommender.iamViewer) -
כדי לשנות את התובנות לגבי תנועה לרוחב:
אדמין של שירות ההמלצות של IAM (
roles/recommender.iamAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות לניהול תובנות לגבי תנועה לרוחב. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לנהל תובנות לגבי תנועה רוחבית, נדרשות ההרשאות הבאות:
-
כדי לראות תובנות לגבי תנועה רוחבית:
-
recommender.iamPolicyLateralMovementInsights.get -
recommender.iamPolicyLateralMovementInsights.list
-
-
כדי לשנות את התובנות לגבי תנועה רוחבית:
recommender.iamPolicyLateralMovementInsights.update
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
רשימת תובנות לגבי תנועה רוחבית
כדי להציג את כל התובנות לגבי תנועה לרוחב בפרויקט, בתיקייה או בארגון, משתמשים באחת מהשיטות הבאות:המסוף
-
נכנסים לדף IAM במסוף Google Cloud .
- בוחרים פרויקט, תיקייה או ארגון.
בעמודה Security insights מוצגות כל התובנות שקשורות לאבטחה בפרויקט, כולל תובנות לגבי תנועה לרוחב. תובנות לגבי תנועה רוחבית מופיעות בתבנית N service account impersonations, כאשר N הוא מספר חשבונות השירות שחשבון השירות בקישור התפקידים יכול להתחזות אליהם.
gcloud
כדי לראות את כל התובנות לגבי תנועה רוחבית בפרויקט, בתיקייה או בארגון, משתמשים בפקודה gcloud recommender
insights list.
לפני שמריצים את הפקודה, מחליפים את הערכים הבאים:
-
RESOURCE_TYPE: סוג המשאב שלגביו רוצים להציג את התובנות. אפשר להשתמש בערךproject,folderאוorganization. -
RESOURCE_ID: המזהה של הפרויקט, התיקייה או הארגון שרוצים לראות את התובנות לגביהם.
gcloud recommender insights list --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
בפלט מפורטים כל התובנות לגבי תנועה לרוחב בפרויקט, בתיקייה או בארגון. לדוגמה:
INSIGHT_ID CATEGORY INSIGHT_STATE LAST_REFRESH_TIME SEVERITY INSIGHT_SUBTYPE DESCRIPTION 046f8b89-bcee-46cd-9ac4-06818ed5273a SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. 1328df82-5af2-4493-9850-d8ede4e72b27 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-2@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project. 17f50957-333c-4f21-86c1-6a62216b309e SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-3@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project. 187200d2-b42c-48fb-86d7-c2746a87fed2 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-4@another-project.iam.gserviceaccount.com from another project can impersonate 32 service account(s) under this project. 1f1740a4-ff98-4f64-99a4-5ef5df5a2097 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW CROSS_PROJECT_IMPERSONATION Service account sa-5@another-project.iam.gserviceaccount.com from another project can impersonate 1 service account(s) under this project.
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.LateralMovementInsight/insights
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
בתשובה מפורטות כל התובנות לגבי תנועה לרוחב בפרויקט, בתיקייה או בארגון. לדוגמה:
{
"insights": [
{
"name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
"description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
"content": {
"impersonator": {
"serviceAccount": "sa-1@another-project.iam.gserviceaccount.com",
"serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
"isGoogleManaged": false
},
"targetServiceAccounts": [
"target-service-account-1@this-project.iam.gserviceaccount.com",
"target-service-account-2@this-project.iam.gserviceaccount.com"
],
"impersonationPolicy": {
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"role": "roles/editor",
"member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com",
"condition": {
"expression": "",
"title": "",
"description": "",
"location": ""
}
},
"impersonationPermissionUsage": [
{
"permission": "iam.serviceAccounts.actAs"
"used": false
}
],
"hasPermissionUsageData": true
},
"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/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
}
],
"targetResources": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
],
"insightSubtype": "CROSS_PROJECT_IMPERSONATION",
"etag": "\"f48fa6a1b15c7741\"",
"severity": "LOW"
}
]
}מידע נוסף על הרכיבים של תובנה זמין בקטע בדיקת תובנות לגבי תנועה רוחבית בדף הזה.
קבלת תובנה אחת לגבי תנועה רוחבית
כדי לקבל מידע נוסף על תובנה ספציפית, כולל תיאור התובנה, הסטטוס שלה והמלצות שמשויכות אליה, אפשר להשתמש באחת מהשיטות הבאות:
המסוף
-
נכנסים לדף IAM במסוף Google Cloud .
- בוחרים פרויקט, תיקייה או ארגון.
-
בעמודה תובנות לגבי אבטחה, לוחצים על תובנה לגבי תנועה רוחבית. תובנות לגבי תנועה רוחבית מופיעות בתבנית
N service account impersonations, כאשרNהוא מספר חשבונות השירות שחשבון השירות בקישור התפקידים יכול להתחזות אליהם.
במסוף 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.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
הפלט מציג את התובנה בפירוט. לדוגמה, התובנה הבאה מציינת שמדיניות IAM בפרויקט 123456789012 מאפשרת ל-sa-1@another-project.iam.gserviceaccount.com להתחזות ל-target-service-account-1@this-project.iam.gserviceaccount.com ול-target-service-account-2@this-project.iam.gserviceaccount.com.
associatedRecommendations: - recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f category: SECURITY content: hasPermissionUsageData: true impersonationPermissionUsage: - permission: iam.serviceAccounts.actAs used: false impersonationPolicy: condition: description: '' expression: '' location: '' title: '' member: serviceAccount:sa-1@another-project.iam.gserviceaccount.com resource: //cloudresourcemanager.googleapis.com/projects/123456789012 role: roles/editor impersonator: isGoogleManaged: false serviceAccount: sa-1@another-project.iam.gserviceaccount.com serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098 targetServiceAccounts: - target-service-account-1@this-project.iam.gserviceaccount.com - target-service-account-2@this-project.iam.gserviceaccount.com description: Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. etag: '"f48fa6a1b15c7741"' insightSubtype: CROSS_PROJECT_IMPERSONATION lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860 observationPeriod: 7776000s severity: LOW 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.LateralMovementInsight/insights/INSIGHT_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
התשובה מכילה את התובנה. לדוגמה, התובנה הבאה מציינת שמדיניות IAM בפרויקט 123456789012 מאפשרת ל-sa-1@another-project.iam.gserviceaccount.com להתחזות ל-target-service-account-1@this-project.iam.gserviceaccount.com ול-target-service-account-2@this-project.iam.gserviceaccount.com.
{
"name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
"description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
"content": {
"impersonator": {
"serviceAccount": "sa-1@another-project.iam.gserviceaccount.com",
"serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
"isGoogleManaged": false
},
"targetServiceAccounts": [
"target-service-account-1@this-project.iam.gserviceaccount.com",
"target-service-account-2@this-project.iam.gserviceaccount.com"
],
"impersonationPolicy": {
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"role": "roles/editor",
"member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com",
"condition": {
"expression": "",
"title": "",
"description": "",
"location": ""
}
},
"impersonationPermissionUsage": [
{
"permission": "iam.serviceAccounts.actAs"
"used": false
}
],
"hasPermissionUsageData": true
},
"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/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
}
],
"targetResources": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
],
"insightSubtype": "CROSS_PROJECT_IMPERSONATION",
"etag": "\"f48fa6a1b15c7741\"",
"severity": "LOW"
}מידע נוסף על הרכיבים של תובנה זמין בקטע בדיקת תובנות לגבי תנועה רוחבית בדף הזה.
עיון בתובנות לגבי תנועה רוחבית
אחרי שמקבלים תובנה אחת, אפשר לעיין בתוכן שלה כדי להבין את דפוס השימוש במשאבים שהיא מדגישה.
המסוף
כשלוחצים על תובנה לגבי תנועה לרוחב במסוף Google Cloud , נפתח חלון במסוף Google Cloud עם פרטי התובנה. הפרטים האלה מוצגים רק אם התובנה משויכת להמלצה.
אם התובנה משויכת להמלצה, בחלונית מוצגים פרטי ההמלצה.
אם התובנה לא משויכת להמלצה, בחלונית מוצגות האפשרויות הבאות:
-
פרויקט המקור של חשבון השירות: הפרויקט שבו נוצר חשבון השירות עם הרשאות ההתחזות.
-
חשבונות שירות שאפשר להתחזות אליהם בפרויקט הזה. רשימה של כל חשבונות השירות בפרויקט הנוכחי שחשבון השירות עם הרשאות ההתחזות יכול להתחזות אליהם.
-
הרשאות שמאפשרות התחזות בפרויקט: רשימה של הרשאות ההתחזות שיש לחשבון השירות.
-
ההרשאות הנוכחיות: רשימה של כל ההרשאות של חשבון השירות.
gcloud
התוכן של תובנה נקבע לפי סוגי המשנה שלה.
תובנות לגבי תנועה רוחבית (google.iam.policy.LateralMovementInsight) הן תובנות
מסוג משנה CROSS_PROJECT_IMPERSONATION.
תובנות CROSS_PROJECT_IMPERSONATION כוללות את הרכיבים הבאים, לא בהכרח בסדר הזה:
-
associatedRecommendations: המזהים של כל ההמלצות שמשויכות לתובנה. אם אין המלצות שמשויכות לתובנה, השדה הזה ריק. -
category: הקטגוריה של תובנות IAM היא תמידSECURITY. -
content: מדווח על הפרטים של היכולת של חשבון השירות להתחזות לחשבונות שירות בפרויקטים אחרים. השדה הזה מכיל את הרכיבים הבאים:-
hasPermissionUsageData: ערך בוליאני שמציין אם יש נתוני שימוש בהרשאות לקישור התפקידים הזה. נתוני השימוש בהרשאות מציינים אם נעשה שימוש בהרשאות בקישור התפקיד. הנתונים האלה לא זמינים לקישורי תפקידים מותנים. impersonationPermissionUsage: רשימה של הרשאות התחזות ופרטי השימוש בהן. אם נעשה שימוש בהרשאה ב-90 הימים האחרונים, היא נחשבת כהתקנה בשימוש. אם לא, הוא נחשב ללא בשימוש.אם הערך של
hasPermissionUsageDataהוא false, השדהimpersonationPermissionUsageריק.impersonationPolicy: מידע על קישור התפקידים שנותן לחשבון השירות הרשאות התחזות לחשבון שירות.-
impersonator: פרטים על חשבון השירות שיש לו הרשאה להתחזות לחשבונות שירות בפרויקט, כולל הפרטים הבאים:-
isGoogleManaged: מציין אם חשבון השירות בבעלות Google ומנוהל על ידה. serviceAccount: כתובת האימייל של חשבון השירות.serviceAccountOwner: הפרויקט שבבעלותו חשבון השירות. אם Google היא הבעלים של חשבון השירות, הערך של השדה הזה הואGoogle managed. אם חשבון השירות בבעלות פרויקט מחוץ לארגון, הערך של השדה הזה הואUnknown to your org.
-
-
targetServiceAccounts: רשימה של חשבונות השירות שלחשבון השירות בשדהimpersonatorיש הרשאה להתחזות אליהם. אם המתחזה יכול להתחזות ליותר מ-1,500 חשבונות שירות, הרשימה תהיה ריקה. כדי לדעת לכמה חשבונות שירות יש למתחזה הרשאה להתחזות, צריך לעיין בשדהdescription.
-
-
description: סיכום של התובנה שקריא לאנשים. -
etag: מזהה ייחודי של המצב הנוכחי של התובנה. בכל פעם שהתובנה משתנה, מוקצה לה ערךetagחדש.כדי לשנות את המצב של תובנה, צריך לציין את
etagשל התובנה הקיימת. השימוש ב-etagעוזר לוודא שכל הפעולות יתבצעו רק אם התובנה לא השתנתה מאז הפעם האחרונה שאחזרתם אותה. -
insightSubtype: תת-הסוג של התובנה. -
lastRefreshTime: התאריך שבו התובנה עודכנה לאחרונה, שמציין את עדכניות הנתונים ששימשו ליצירת התובנה. -
name: השם של התובנה, בפורמט הבא:RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID
מחליפים את ה-placeholders בערכים הבאים:
-
RESOURCE_TYPE: סוג המשאב שעבורו נוצר התובנה. -
RESOURCE_ID: המזהה של הפרויקט, התיקייה או הארגון שבהם נוצר התובנה. -
INSIGHT_ID: מזהה ייחודי של התובנה.
-
-
observationPeriod: תקופת הזמן שקדמה לתובנה. הנתונים מהמקור ששימשו ליצירת התובנה מסתיימים בתאריךlastRefreshTimeומתחילים בתאריךlastRefreshTimeפחותobservationPeriod. -
severity: רמת החומרה של התובנה. לכל התובנות לגבי תנועה רוחבית יש רמת חומרה שלLOW. -
stateInfo: אחרי שהתובנות מוצעות, הן עוברות כמה שינויי סטטוס:-
ACTIVE: התובנה נוצרה, אבל לא בוצעה פעולה או שבוצעה פעולה בלי לעדכן את מצב התובנה. תובנות פעילות מתעדכנות כשיש שינויים בנתוני הבסיס. -
ACCEPTED: בוצעה פעולה מסוימת על סמך התובנה. התובנות מתקבלות כשסימנתם המלצה משויכת כCLAIMED,SUCCEEDEDאוFAILED, או כשאישרתם את התובנה ישירות. כשמצב התובנה הואACCEPTED, אי אפשר לשנות את התוכן שלה. תובנות שאושרו נשמרות למשך 90 יום אחרי האישור.
-
-
targetResources: שם המשאב המלא של הארגון, התיקייה, הפרויקט או חשבון השירות שאליהם מתייחסת התובנה. לדוגמה,//cloudresourcemanager.googleapis.com/projects/123456789012.
REST
התוכן של תובנה נקבע לפי סוגי המשנה שלה.
תובנות לגבי תנועה רוחבית (google.iam.policy.LateralMovementInsight) הן תובנות
מסוג משנה CROSS_PROJECT_IMPERSONATION.
תובנות CROSS_PROJECT_IMPERSONATION כוללות את הרכיבים הבאים, לא בהכרח בסדר הזה:
-
associatedRecommendations: המזהים של כל ההמלצות שמשויכות לתובנה. אם אין המלצות שמשויכות לתובנה, השדה הזה ריק. -
category: הקטגוריה של תובנות IAM היא תמידSECURITY. -
content: מדווח על הפרטים של היכולת של חשבון השירות להתחזות לחשבונות שירות בפרויקטים אחרים. השדה הזה מכיל את הרכיבים הבאים:-
hasPermissionUsageData: ערך בוליאני שמציין אם יש נתוני שימוש בהרשאות לקישור התפקידים הזה. נתוני השימוש בהרשאות מציינים אם נעשה שימוש בהרשאות בקישור התפקיד. הנתונים האלה לא זמינים לקישורי תפקידים מותנים. impersonationPermissionUsage: רשימה של הרשאות התחזות ופרטי השימוש בהן. אם נעשה שימוש בהרשאה ב-90 הימים האחרונים, היא נחשבת כהתקנה בשימוש. אם לא, הוא נחשב ללא בשימוש.אם הערך של
hasPermissionUsageDataהוא false, השדהimpersonationPermissionUsageריק.impersonationPolicy: מידע על קישור התפקידים שנותן לחשבון השירות הרשאות התחזות לחשבון שירות.-
impersonator: פרטים על חשבון השירות שיש לו הרשאה להתחזות לחשבונות שירות בפרויקט, כולל הפרטים הבאים:-
isGoogleManaged: מציין אם חשבון השירות בבעלות Google ומנוהל על ידה. serviceAccount: כתובת האימייל של חשבון השירות.serviceAccountOwner: הפרויקט שבבעלותו חשבון השירות. אם Google היא הבעלים של חשבון השירות, הערך של השדה הזה הואGoogle managed. אם חשבון השירות בבעלות פרויקט מחוץ לארגון, הערך של השדה הזה הואUnknown to your org.
-
-
targetServiceAccounts: רשימה של חשבונות השירות שלחשבון השירות בשדהimpersonatorיש הרשאה להתחזות אליהם. אם המתחזה יכול להתחזות ליותר מ-1,500 חשבונות שירות, הרשימה תהיה ריקה. כדי לדעת לכמה חשבונות שירות יש למתחזה הרשאה להתחזות, צריך לעיין בשדהdescription.
-
-
description: סיכום של התובנה שקריא לאנשים. -
etag: מזהה ייחודי של המצב הנוכחי של התובנה. בכל פעם שהתובנה משתנה, מוקצה לה ערךetagחדש.כדי לשנות את המצב של תובנה, צריך לציין את
etagשל התובנה הקיימת. השימוש ב-etagעוזר לוודא שכל הפעולות יתבצעו רק אם התובנה לא השתנתה מאז הפעם האחרונה שאחזרתם אותה. -
insightSubtype: תת-הסוג של התובנה. -
lastRefreshTime: התאריך שבו התובנה עודכנה לאחרונה, שמציין את עדכניות הנתונים ששימשו ליצירת התובנה. -
name: השם של התובנה, בפורמט הבא:RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/INSIGHT_ID
מחליפים את ה-placeholders בערכים הבאים:
-
RESOURCE_TYPE: סוג המשאב שעבורו נוצר התובנה. -
RESOURCE_ID: המזהה של הפרויקט, התיקייה או הארגון שבהם נוצר התובנה. -
INSIGHT_ID: מזהה ייחודי של התובנה.
-
-
observationPeriod: תקופת הזמן שקדמה לתובנה. הנתונים מהמקור ששימשו ליצירת התובנה מסתיימים בתאריךlastRefreshTimeומתחילים בתאריךlastRefreshTimeפחותobservationPeriod. -
severity: רמת החומרה של התובנה. לכל התובנות לגבי תנועה רוחבית יש רמת חומרה שלLOW. -
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, מבצעים את הפעולות הבאות:-
מקבלים את התובנה באמצעות הפקודה
gcloud recommender insights describe. -
מוצאים ומעתיקים את הערך
etagמהפלט, כולל המירכאות שמקיפות אותו. לדוגמה,"d3cdec23cc712bd0".
-
מקבלים את התובנה באמצעות הפקודה
gcloud recommender insights mark-accepted INSIGHT_ID \ --insight-type=google.iam.policy.LateralMovementInsight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global \ --etag=ETAG
הפלט מציג את התובנה, ועכשיו הסטטוס הוא ACCEPTED:
associatedRecommendations: - recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f category: SECURITY content: hasPermissionUsageData: true impersonationPermissionUsage: - permission: iam.serviceAccounts.actAs used: false impersonationPolicy: condition: description: '' expression: '' location: '' title: '' member: serviceAccount:sa-1@another-project.iam.gserviceaccount.com resource: //cloudresourcemanager.googleapis.com/projects/123456789012 role: roles/editor impersonator: isGoogleManaged: false serviceAccount: sa-1@another-project.iam.gserviceaccount.com serviceAccountOwner: //cloudresourcemanager.googleapis.com/projects/987654321098 targetServiceAccounts: - target-service-account-1@this-project.iam.gserviceaccount.com - target-service-account-2@this-project.iam.gserviceaccount.com description: Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project. etag: '"f48fa6a1b15c7741"' insightSubtype: CROSS_PROJECT_IMPERSONATION lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860 observationPeriod: 7776000s severity: LOW 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, מבצעים את הפעולות הבאות:- קבלת התובנה באמצעות השיטה
insights.get. - מאתרים את הערך
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.LateralMovementInsight/insights/INSIGHT_ID:markAccepted
תוכן בקשת JSON:
{
"etag": "ETAG"
}כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
התשובה מכילה את התובנה, ועכשיו הסטטוס שלה הוא ACCEPTED:
{
"name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.LateralMovementInsight/insights/13088eec-9573-415f-81a7-46e1a260e860",
"description": "Service account sa-1@another-project.iam.gserviceaccount.com from another project can impersonate 2 service account(s) under this project.",
"content": {
"impersonator": {
"serviceAccount": "sa-1@another-project.iam.gserviceaccount.com",
"serviceAccountOwner": "//cloudresourcemanager.googleapis.com/projects/987654321098",
"isGoogleManaged": false
},
"targetServiceAccounts": [
"target-service-account-1@this-project.iam.gserviceaccount.com",
"target-service-account-2@this-project.iam.gserviceaccount.com"
],
"impersonationPolicy": {
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"role": "roles/editor",
"member": "serviceAccount:sa-1@another-project.iam.gserviceaccount.com",
"condition": {
"expression": "",
"title": "",
"description": "",
"location": ""
}
},
"impersonationPermissionUsage": [
{
"permission": "iam.serviceAccounts.actAs"
"used": false
}
],
"hasPermissionUsageData": true
},
"lastRefreshTime": "2022-05-24T07:00:00Z",
"observationPeriod": "7776000s",
"stateInfo": {
"state": "ACCEPTED"
},
"category": "SECURITY",
"associatedRecommendations": [
{
"recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/03f3dc20-f9e7-4502-95ab-bf7d3164846f"
}
],
"targetResources": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
],
"insightSubtype": "CROSS_PROJECT_IMPERSONATION",
"etag": "\"f48fa6a1b15c7741\"",
"severity": "LOW"
}מידע נוסף על פרטי הסטטוס של תובנה זמין בקטע בדיקת תובנות לגבי תנועה רוחבית שבדף הזה.
המאמרים הבאים
- איך בודקים ומיישמים המלצות למדיניות
- תוכלו להשתמש ב-Active Assist כדי לראות ולנהל את כל ההמלצות לפרויקט, כולל המלצות ל-IAM.