במאמר הזה מוסבר איך מגדירים הרשאות לניהול זהויות והרשאות גישה (IAM) בכמה תרחישי ביקורת לדוגמה. מפורטות בו הנחיות לגבי התפקידים ב-IAM שאפשר לתת לעובדים שהעבודה שלהם בחברה קשורה לביקורת, בכל אחד מהתרחישים האלה. הדוגמאות בנושא הזה מכוונות בעיקר לאדמינים של אבטחה, לאנשי הביקורת ולעובדים שמנהלים את משימות הביקורת בארגון.
למידע על יומני הביקורת של Google Cloud, קראו את המאמר יומני ביקורת של Cloud. למידע על יומני הביקורת ש-IAM יוצר, קראו את המאמר יומני הביקורת של IAM לחשבונות שירות.
התרחיש: מעקב תפעולי
בתרחיש הזה, לארגון יש צוות אבטחה מרכזי שיכול לבדוק יומנים שעשויים להכיל מידע רגיש, גם ב-Cloud Logging וגם כשהם מאוחסנים באחסון לטווח ארוך.
נתוני ביקורת היסטוריים נשמרים ב-Cloud Storage. הארגון משתמש באפליקציה כדי לתת גישה לנתוני הביקורת ההיסטוריים. האפליקציה משתמשת בחשבון שירות כדי לגשת לנתוני היומנים. בגלל הרגישות של חלק מהנתונים ביומן הביקורת, הם מצונזרים באמצעות Sensitive Data Protection לפני שהם זמינים לצפייה.
בטבלה הבאה מוצגים התפקידים ב-IAM שצריך לתת למנהל הטכנולוגיות הראשי (CTO), לצוות האבטחה ולחשבון השירות, וגם רמת המשאב שבה מקצים אותם.
| התפקיד | המשאב | חשבון משתמש | תיאור |
|---|---|---|---|
| resourcemanager.organizationAdmin | ארגון | מנהל טכנולוגיות ראשי (CTO) | התפקיד resourcemanager.organizationAdmin מאפשר ל-CTO להקצות הרשאות לצוות האבטחה ולחשבון השירות. |
| logging.viewer | ארגון | צוות האבטחה | התפקיד logging.viewer מאפשר לצוות האדמין לענייני אבטחה להציג את יומני הפעילות של האדמין. |
| logging.privateLogViewer | ארגון | צוות האבטחה | התפקיד logging.privateLogViewer מאפשר להציג את יומני הגישה לנתונים. |
אחרי שמייצאים את הרשומות ביומנים, הגישה לעותק של קובץ הייצוא נשלטת באופן מלא על ידי ההרשאות והתפקידים ב-IAM בכל אחד מהיעדים: Cloud Storage, BigQuery או Pub/Sub. בתרחיש הזה, Cloud Storage הוא היעד לאחסון לטווח ארוך של יומני הביקורת.
| התפקיד | המשאב | חשבון משתמש | תיאור |
|---|---|---|---|
| logging.viewer | ארגון | חשבון שירות | התפקיד logging.viewer מאפשר לחשבון השירות לקרוא את יומני הפעילות של האדמין ב-Cloud Logging. |
הנתונים שכלולים ביומני הגישה לנתונים נחשבים לפרטים אישיים מזהים (PII) לארגון הזה. אינטגרציה של האפליקציה עם Sensitive Data Protection מאפשרת לצנזר פרטים אישיים מזהים (PII) רגישים כשמציגים את יומני הגישה לנתונים, בין שהם ביומני הגישה לנתונים ובין שבארכיון ההיסטורי ב-Cloud Storage.
| תפקיד | המשאב | חשבון משתמש | תיאור |
|---|---|---|---|
| storage.objectViewer | קטגוריה | חשבון שירות | התפקיד storage.objectViewer מאפשר לחשבון השירות לקרוא את יומני הפעילות של האדמין אחרי הייצוא. |
מדיניות ההרשאות שמשויכת למשאב הארגון בתרחיש הזה אמורה להיראות כך:
{
"bindings": [{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:cto@example.com"
]
},
{
"role": "roles/logging.viewer",
"members": [
"group:security-team@example.com",
"serviceAccount:prod-logviewer@admin-resources.iam.gserviceaccount.com"
]
},
{
"role": "roles/logging.privateLogViewer",
"members": [
"group:security-team@example.com"
]
}
]
}
מדיניות ההרשאות שמשוייכת לקטגוריה שהוגדרה כ-sink היעד לתרחיש הזה אמורה להיראות כך:
{
"bindings": [{
"role": "roles/storage.objectViewer",
"members": [
"serviceAccount:prod-logviewer@admin-resources.iam.gserviceaccount.com"
]
}]
}
התרחיש: צוותי פיתוח שעוקבים אחרי יומני הביקורת שלהם
בתרחיש הזה, אנשי הפיתוח בארגון צריכים לראות את יומני הביקורת שנוצרו במהלך הפיתוח של האפליקציות שלהם. אסור להם לראות יומנים שנוצרו בסביבת הייצור, אלא אם הם צונזרו באמצעות Sensitive Data Protection. אנשי הפיתוח יכולים להשתמש באפליקציית מרכז בקרה שמספקת גישה לתצוגה בלבד לנתונים שיוצאו בסביבת הייצור. לצוות האבטחה של הארגון יש גישה לכל היומנים, גם בסביבת הייצור וגם בסביבת הפיתוח.
בטבלה הבאה מוצגים התפקידים ב-IAM שאפשר לתת לצוות האבטחה, למפתחים ולחשבון השירות, וגם רמת המשאב שבה מקצים אותם.
| התפקיד | המשאב | חשבון משתמש | תיאור |
|---|---|---|---|
| logging.viewer | ארגון | צוות האבטחה | התפקיד logging.viewer מאפשר לצוות האדמין לענייני אבטחה להציג את יומני הפעילות של האדמין. |
| logging.privateLogViewer | ארגון | צוות האבטחה | התפקיד logging.privateLogViewer מאפשר להציג את יומני הגישה לנתונים. |
| logging.viewer | תיקייה | צוות הפיתוח | התפקיד logging.viewer מאפשר לצוות הפיתוח להציג את יומני הפעילות של האדמין שנוצרו על ידי הפרויקטים של המפתחים בתיקייה שבה נמצאים כל הפרויקטים שלהם. |
| logging.privateLogViewer | תיקייה | צוות הפיתוח | התפקיד logging.privateLogViewer מאפשר להציג את יומני הגישה לנתונים. |
הגישה לעותקים שיוצאו נשלטת באופן מלא על ידי ההרשאות והתפקידים ב-IAM ביעדים: Cloud Storage, BigQuery או Pub/Sub. בתרחיש הזה, היעד לאחסון של יומני הביקורת הוא BigQuery.
| התפקיד | המשאב | חשבון משתמש | תיאור |
|---|---|---|---|
| bigquery.dataViewer | מערך נתונים של BigQuery | חשבון השירות של מרכז הבקרה | התפקיד bigquery.dataViewer מאפשר לחשבון השירות שבו משתמשת אפליקציית מרכז השליטה לקרוא את יומני הפעילות של האדמין אחרי הייצוא. |
מדיניות ההרשאות שמשויכת לתיקיית המשאבים של צוות הפיתוח בתרחיש הזה אמורה להיראות כך:
{
"bindings": [{
"role": "roles/logging.viewer",
"members": [
"group:developer-team@example.com"
]
},
{
"role": "roles/logging.privateLogViewer",
"members": [
"group:developer-team@example.com"
]
}]
}
מדיניות ההרשאות שמשויכת למשאב הארגון בתרחיש הזה אמורה להיראות כך:
{
"bindings": [{
"role": "roles/logging.viewer",
"members": [
"group:security-team@example.com"
]
},
{
"role": "roles/logging.privateLogViewer",
"members": [
"group:security-team@example.com"
]
}]
}
מדיניות ההרשאות שמשויכת למערך הנתונים של BigQuery ושמוגדרת כיעד ה-sink לתרחיש הזה, אמורה להיראות כך:
{
"bindings": [{
"role": "roles/bigquery.dataViewer",
"members": [
"serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
]
}]
}
התרחיש: מבקרים חיצוניים
בתרחיש הזה, יומני הביקורת של הארגון נצברים ומיוצאים למיקום מרכזי של sink. מבקר של צד שלישי מקבל גישה מספר פעמים בשנה כדי לבדוק את יומני הביקורת של הארגון. למבקר אין הרשאה להציג פרטים אישיים מזהים (PII) ביומני הפעילות של האדמין. כדי לעמוד בדרישה הזו, יש מרכז בקרה שמספק גישה ליומנים ההיסטוריים שמאוחסנים ב-BigQuery, ולפי בקשה ליומני הפעילות של האדמין ב-Cloud Logging.
הארגון יוצר קבוצה למבקרים החיצוניים ומצרף אליה את המבקר הנוכחי. הקבוצה הזו מנוטרת, ובדרך כלל מקבלת גישה לאפליקציה של מרכז השליטה.
במסגרת גישה רגילה, לקבוצת המבקרים ניתנת גישה רק כדי להציג את היומנים ההיסטוריים שמאוחסנים ב-BigQuery. אם מזוהות חריגות, תינתן לקבוצה הרשאה להציג את יומני הפעילות של האדמין בפועל ב-Cloud Logging, במצב גישה גבוהה יותר במרכז הבקרה. הגישה של הקבוצה מבוטלת כשמסתיימת כל תקופת ביקורת.
לפני שאפשר לגשת לנתונים דרך האפליקציה של מרכז הבקרה, הם מצונזרים באמצעות Sensitive Data Protection.
בטבלה הבאה מתוארים התפקידים ב-IAM לרישום ביומן שהאדמין הארגוני יכול לתת לחשבון השירות שמשמש את מרכז הבקרה, וגם את רמת המשאב שבה מקצים את התפקידים.
| התפקיד | המשאב | חשבון משתמש | תיאור |
|---|---|---|---|
| logging.viewer | ארגון | חשבון השירות של מרכז הבקרה | התפקיד logging.viewer מאפשר לחשבון השירות לקרוא את יומני הפעילות של האדמין ב-Cloud Logging. |
| bigquery.dataViewer | מערך נתונים של BigQuery | חשבון השירות של מרכז הבקרה | התפקיד bigquery.dataViewer מאפשר לחשבון השירות שבו משתמשת אפליקציית מרכז השליטה לקרוא את יומני הפעילות של האדמין אחרי הייצוא. |
מדיניות ההרשאות שמשויכת למשאב הארגון בתרחיש הזה אמורה להיראות כך:
{
"bindings": [{
"role": "roles/logging.viewer",
"members": [
"serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
]
}]
}
מדיניות ההרשאות שמשויכת למערך הנתונים של BigQuery ושמוגדרת כיעד ה-sink לתרחיש הזה, אמורה להיראות כך:
{
"bindings": [{
"role": "roles/bigquery.dataViewer",
"members": [
"serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
]
}]
}