יומני ביקורת של גישה לנתונים מאפשרים לתעד קריאות ל-API שקוראות הגדרות או מטא-נתונים של משאבים, וגם קריאות ל-API שמופעלות על ידי משתמשים ויוצרות, משנות או קוראות נתוני משאבים שסופקו על ידי משתמשים. כברירת מחדל, היומנים האלה מושבתים ברוב השירותים, אבל אתם יכולים להפעיל, להגדיר או להשבית אותם באופן מפורש בפרויקטים, בחשבונות לחיוב, בתיקיות ובארגונים ב- Google Cloud באמצעות מסוף Google Cloud או ה-API.
לפני שמתחילים
לפני שתמשיכו להגדיר את יומני הביקורת של גישה לנתונים, חשוב שתבינו את המידע הבא:
יומני הביקורת של Data Access מושבתים כברירת מחדל בכל השירותים, חוץ מכמה שירותים של BigQuery. אם אתם רוצים שיומני הביקורת של בקרת הרשאות גישה לנתונים ייכתבו בשירותים שבהם היומנים האלה מושבתים כברירת מחדל, אתם צריכים להפעיל אותם באופן מפורש במסוף Google Cloud או באמצעות ה-API.
יומני הביקורת של גישה לנתונים מאוחסנים בקטגוריה
_Default, אלא אם ניתבתם אותם למקום אחר. למידע נוסף, קראו את המאמר אחסון וניתוב של יומני ביקורת.יומני הביקורת של הרשאות הגישה לנתונים עוזרים לתמיכה של Google לפתור בעיות בחשבון. לכן, מומלץ להפעיל את יומני הביקורת של גישה לנתונים כשאפשר.
-
כדי לקבל את ההרשאות שנדרשות לגישה לכל היומנים בקטגוריות
_Requiredו-_Default, כולל יומני Data Access, צריך לבקש מהאדמין להקצות לכם את התפקיד צפייה ביומנים פרטיים (roles/logging.privateLogViewer) ב-IAM בפרויקט.התפקיד "צפייה ביומנים פרטיים" (
roles/logging.privateLogViewer) כולל את ההרשאות שכלולות בתפקיד "צפייה ביומנים" (roles/logging.viewer), ואת ההרשאות שנדרשות כדי לקרוא את יומני הביקורת של בקרת הרשאות גישה לנתונים בקטגוריה_Default.התפקיד "עריכה" (
roles/editor) לא כולל את ההרשאות שנדרשות כדי לצפות ביומני הגישה לנתונים.במאמר בקרת גישה באמצעות IAM תוכלו לקרוא מידע נוסף על ההרשאות והתפקידים ב-IAM שחלים על הנתונים של יומני הביקורת.
סקירה כללית של ההגדרה
אתם יכולים להגדיר איך יומני הביקורת של גישה לנתונים יופעלו בשביל המשאבים והשירותים שלGoogle Cloud :
ארגונים: אתם יכולים להפעיל ולהגדיר יומני בקרת הרשאות גישה לנתונים בארגון, שחלים על כל הפרויקטים והתיקיות הקיימים והחדשים ב-Google Cloud בארגון.
תיקיות: אפשר להפעיל ולהגדיר יומני ביקורת של גישה לנתונים בתיקייה, וההגדרות יחולו על כל הפרויקטים הקיימים והחדשים של Google Cloud בתיקייה. אי אפשר להשבית יומן ביקורת של בקרת הרשאות גישה לנתונים שהופעל בארגון ברמה שמעל לפרויקט.
פרויקטים: אפשר להגדיר יומני בקרת הרשאות גישה לנתונים בפרויקט ספציפי ב-Google Cloud . אי אפשר להשבית יומן ביקורת של בקרת הרשאות גישה לנתונים שהופעל בארגון או בתיקייה ברמה גבוהה יותר בהיררכיה.
חשבונות לחיוב: כדי להגדיר יומני ביקורת של גישה לנתונים בחשבונות לחיוב, צריך להשתמש ב-Google Cloud CLI. למידע נוסף על השימוש ב-CLI של gcloud עם יומני ביקורת של גישה לנתונים וחשבונות לחיוב, קראו את
gcloud beta billing accounts set-iam-policy.הגדרות ברירת מחדל: אתם יכולים לציין הגדרת ברירת מחדל ליומני ביקורת של גישה לנתונים בארגון, בתיקייה או בפרויקט ב- Google Cloud , שתחול על שירותים עתידיים ב- Google Cloud שיתחילו להפיק יומני ביקורת של גישה לנתונים. הוראות מופיעות במאמר הגדרת ברירת המחדל.
סוגי הרשאות: אתם יכולים לציין ש Google Cloud ממשקי API שבודקים רק סוג מסוים של הרשאה יפיקו יומן ביקורת. מידע נוסף זמין בקטע סוגי הרשאות בדף הזה.
חשבונות משתמשים פטורים: אתם יכולים לפטור חשבונות משתמשים ספציפיים מתיעוד הגישה שלהם לנתונים. לדוגמה, אתם יכולים להחריג את חשבונות הבדיקה הפנימיים שלכם, כדי שהפעולות שלהם ב-Cloud Monitoring לא יתועדו. רשימה של חשבונות משתמשים תקינים, כולל משתמשים וקבוצות, מופיעה בהפניה לסוג
Binding.
אתם יכולים להגדיר את יומני הביקורת של בקרת הרשאות גישה לנתונים דרך הדף Audit Logs של IAM במסוף Google Cloud , או באמצעות ה-API. השיטות האלה מוסברות בקטעים הבאים.
סוגי הרשאות
ה-methods של ה-API בודקות את הרשאות ה-IAM. לכל הרשאת IAM יש סוג הרשאה, שמוגדר על ידי המאפיין type.
סוגי ההרשאות מחולקים לשתי קטגוריות: סוגי הרשאות של גישה לנתונים וסוגי הרשאות של פעילות אדמין:
סוגי הרשאות גישה לנתונים:
ADMIN_READ: הרשאות IAM מהסוג הזה נבדקות ב-methods שלGoogle Cloud API שקוראות מטא-נתונים או פרטי הגדרות. בדרך כלל, יומני הביקורת שלADMIN_READמושבתים כברירת מחדל וצריך להפעיל אותם.
DATA_READ: הרשאות IAM מהסוג הזה נבדקות ב-Google Cloud API methods שקוראות פרטים שהמשתמשים מספקים (UPD). בדרך כלל, יומני הביקורת שלDATA_READמושבתים כברירת מחדל וצריך להפעיל אותם.DATA_WRITE: הרשאות IAM מהסוג הזה נבדקות ב-Google Cloud methods של API שכותבות פרטים שהמשתמשים מספקים (UPD). בדרך כלל, יומני הביקורת שלDATA_WRITEמושבתים כברירת מחדל וצריך להפעיל אותם.
סוג ההרשאה 'פעילות אדמין':
-
ADMIN_WRITE: הרשאות IAM מהסוג הזה נבדקות ב-methods שלGoogle Cloud API שכותבות מטא-נתונים או פרטי הגדרות. יומני הביקורת שמשויכים לסוג הזה, יומני ביקורת של פעילות אדמין, מופעלים כברירת מחדל ואי אפשר להשבית אותם.
-
אתם יכולים להפעיל או להשבית סוגי הרשאות לשירותים באמצעות מסוףGoogle Cloud או באמצעות הפעלת ה-API.
רוב ממשקי ה-API של Google Cloud בודקים רק אם למשתמש יש הרשאה אחת ב-IAM. אם סוג ההרשאה שמשויך להרשאה הזו מופעל בשירות שה-API שלו נקרא, ה-API יוצר יומן ביקורת.
בקטעים הבאים מתוארות באופן כללי דרכים אחרות שבהן השיטות של Google CloudAPI בודקות את הרשאות ה-IAM. במאמרי העזרה בנושא רישום ביומן הביקורת של השירות מוסבר אילו שיטות נבדקות לכל סוג הרשאה.
בדיקת הרשאות IAM לסוגי הרשאות של גישה לנתונים
בחלק מה-methods של ה-API של Google Cloud נבדק אם למבצע הקריאה החוזרת יש כמה הרשאות IAM עם סוגים שונים של הרשאות גישה לנתונים. יומן ביקורת נכתב כשמפעילים בפרויקט את אחד מסוגי ההרשאות האלה של Data Access.
לדוגמה, יכול להיות ש-method של API בודק אם לחשבון המשתמש ששולח בקשת API יש את ההרשאות example.resource.get (DATA_READ) ו-example.resource.write (DATA_WRITE). כדי שהשירות יפיק את יומן הביקורת כששולחים את הקריאה, צריך להפעיל בפרויקט רק את DATA_WRITE או את DATA_READ.
סוגי ההרשאות של IAM שנבדקו: פעילות אדמין וגישה לנתונים
בחלק מה-methods של Google Cloud API נבדקות גם הרשאת IAM מסוג ADMIN_WRITE וגם הרשאה אחת או יותר מסוג "גישה לנתונים".
סוגים כאלה של קריאות ל-API מפיקים יומני ביקורת של פעילות אדמין, שמופעלים כברירת מחדל ואי אפשר להשבית אותם.
ה-method של ה-API בודקת אם יש הרשאות IAM שלא בבעלות השירות
בחלק משירותי Google Cloud יש שיטות API שיוצרות יומן ביקורת רק כשסוג הרשאה ספציפי מופעל בשירות אחר.
לדוגמה, לחיוב ב-Cloud יש שיטת API שבודקת את סוג ההרשאה ADMIN_READ שבבעלות מנהל המשאבים. כדי להפעיל את יומן הביקורת שמשויך ל-Cloud Billing API, צריך להפעיל את ADMIN_READ בשירות cloudresourcemanager.googleapis.com.
בדיקות של אותה שיטת API להרשאות IAM שונות
בחלק מממשקי ה-API של Google Cloud , האופן שבו קוראים ל-method קובע אילו סוגי הרשאות IAM צריך להפעיל בפרויקט כדי שייווצר יומן ביקורת.
לדוגמה, ל-Spanner יש שיטת API שלפעמים בודקת הרשאת IAM עם הסוג DATA_WRITE, ולפעמים בודקת הרשאת IAM עם הסוג DATA_READ, בהתאם לאופן שבו השיטה נקראת. במקרה כזה, הפעלת DATA_WRITE ל-Spanner בפרויקט יוצרת יומן ביקורת רק כשהקריאה ל-API בודקת הרשאת IAM מהסוג DATA_WRITE.
הגדרות ספציפיות לשירות
אם יש גם הגדרה ברמת השירות ( Google Cloud ) וגם הגדרה לשירות ספציפי ( Google Cloud ), ההגדרה שתתקבל לשירות היא שילוב של שתי ההגדרות.allServices
במילים אחרות:
אתם יכולים להפעיל יומני ביקורת של גישה לנתונים בשירותים ספציפיים של Google Cloud, אבל אתם לא יכולים להשבית יומני ביקורת של גישה לנתונים בשירותיGoogle Cloud שמופעלים בהגדרה הרחבה יותר.
אפשר להוסיף עוד סוגי מידע ליומן הביקורת של בקרת הרשאות גישה לנתונים של שירות מסוים, אבל אי אפשר להסיר סוגי מידע שצוינו בהגדרה הרחבה יותר. Google Cloud
אתם יכולים להוסיף חשבונות משתמשים לרשימות ההחרגה, אבל אתם לא יכולים להסיר אותם מרשימות ההחרגה בהגדרה הרחבה יותר.
בשירות העברת הנתונים ל-BigQuery, ההגדרה של יומן הביקורת של הגישה לנתונים עוברת בירושה מההגדרה של יומן הביקורת שמוגדרת כברירת מחדל.
שרתי Google Cloud MCP כותבים יומני ביקורת של גישה לנתונים שהם ספציפיים לשירות, בפורמט SERVICE_NAME.googleapis.com/mcp. כדי להפעיל את יומני הגישה לנתונים, צריך להפעיל את רישום הביקורת ביומן של mcp.googleapis.com באובייקט AuditConfig של IAM.
למידע נוסף על רישום ביומני ביקורת של שרתי Google Cloud MCP, קראו את המאמר רישום ביומני ביקורת של שרתי Google Cloud MCP.
הגדרות של משאביGoogle Cloud
אפשר להגדיר יומני ביקורת של גישה לנתונים בפרויקטים, בחשבונות לחיוב, בתיקיות ובארגונים ב- Google Cloud . אם יש הגדרה של שירותGoogle Cloud בכל ההיררכיה, ההגדרה שתתקבל היא איחוד של ההגדרות. במילים אחרות, ברמת הפרויקט שלGoogle Cloud :
אתם יכולים להפעיל יומנים לשירות של Google Cloud , אבל אתם לא יכולים להשבית יומנים לשירות של Google Cloud אם היומנים האלה מופעלים בארגון או בתיקייה ברמה גבוהה יותר בהיררכיה.
אתם יכולים להפעיל סוגי מידע, אבל לא להשבית סוגי מידע שמופעלים בתיקייה או בארגון ברמה העליונה.
אתם יכולים להוסיף חשבונות משתמשים לרשימות ההחרגות, אבל לא להסיר אותם מרשימות ההחרגות בארגון או בתיקייה ברמה גבוהה יותר בהיררכיה.
ברמת הארגון או התיקייה ההורה, אתם יכולים להפעיל יומני ביקורת של בקרת הרשאות גישה לנתונים בפרויקט Google Cloud באותו ארגון או באותה תיקייה, גם אם יומני הביקורת של בקרת הרשאות גישה לנתונים לא הוגדרו בפרויקטGoogle Cloud .
בקרת גישה
התפקידים וההרשאות של ניהול הזהויות והרשאות הגישה (IAM) קובעים את הגישה לנתוני הרישום ביומן, כולל הצגה וניהול של כללי המדיניות של IAM שעומדים בבסיס ההגדרות של בקרת הרשאות גישה לנתונים.
כדי להציג או להגדיר את כללי המדיניות שמשויכים להגדרת הגישה לנתונים, צריך תפקיד עם הרשאות ברמת המשאב המתאימה. במאמר ניהול הגישה לפרויקטים, לתיקיות ולארגונים Google Cloud מוסבר איך מקצים את התפקידים האלה ברמת המשאב.
כדי להגדיר מדיניות IAM, צריך תפקיד עם ההרשאה
resourcemanager.RESOURCE_TYPE.setIamPolicy.כדי לצפות במדיניות IAM, צריך תפקיד עם ההרשאה
resourcemanager.RESOURCE_TYPE.getIamPolicy.
לרשימת ההרשאות והתפקידים שנדרשים כדי לצפות ביומני הביקורת של בקרת הרשאות גישה לנתונים, ראו בקרת גישה באמצעות IAM.
הגדרת יומני ביקורת של גישה לנתונים באמצעות מסוף Google Cloud
בקטע הזה מוסבר איך משתמשים במסוף Google Cloud כדי להגדיר יומני ביקורת של גישה לנתונים.
אפשר גם להשתמש ב-API או ב-Google Cloud CLI כדי לבצע את המשימות האלה באופן פרוגרמטי. פרטים נוספים זמינים במאמר הגדרת יומני בקרת הרשאות גישה לנתונים באמצעות ה-API.
כדי לגשת לאפשרויות ההגדרה של יומני הביקורת במסוף Google Cloud :
-
במסוף Google Cloud , נכנסים לדף יומני ביקורת:
אם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא IAM & Admin.
בוחרים פרויקט, תיקייה או ארגון שקיימים ב- Google Cloud .
הפעלה של יומני ביקורת
כדי להפעיל את יומני הביקורת של גישה לנתונים:
בטבלה Data Access audit logs configuration, בוחרים שירות אחד או יותר בעמודהGoogle Cloud Service.
בכרטיסייה Permission types, בוחרים את סוגי יומני הביקורת של הגישה לנתונים שרוצים להפעיל בשירותים שנבחרו.
לוחצים על Save.
כשמפעילים את יומני הביקורת, בטבלה מופיע הסמל check_circle Check.
בדוגמה הבאה, אפשר לראות שבשירות אישור גישה מראש, סוג יומן הביקורת Data Read מופעל:
אפשר גם להפעיל יומני ביקורת לכל שירותי Google Cloud שיוצרים יומני ביקורת של גישה לנתונים. בטבלה Data Access audit logs configuration, בוחרים את כל השירותים של Google Cloud .
חשוב לזכור שהשיטה הזו להגדרה בכמות גדולה רלוונטית רק לשירותי Google Cloudשזמינים למשאב שלכם. אם מוסיפים שירותGoogle Cloud חדש, הוא מקבל בירושה את הגדרת ברירת המחדל לביקורת.
השבתת יומני בקרת הרשאות הגישה לנתונים
כדי להשבית את יומני הביקורת של גישה לנתונים:
בטבלה Data Access audit logs configuration, בוחרים שירות אחד או יותר שלGoogle Cloud .
בכרטיסייה Log Types בחלונית המידע, בוחרים את סוגי יומני הביקורת של הגישה לנתונים שרוצים להשבית בשירותים שנבחרו.
לוחצים על Save.
כשמשביתים את יומני הביקורת של גישה לנתונים, בטבלה מוצג מקף. כל יומני בקרת הרשאות גישה לנתונים שמופעלים מסומנים בסמל check_circle Check.
הגדרת פטורים
אתם יכולים להגדיר החרגות כדי לקבוע אילו חשבונות משתמשים ייצרו יומני ביקורת של גישה לנתונים בשירותים מסוימים. כשמוסיפים חשבון מוחרג, לא נוצרים בשבילו יומני ביקורת לסוגי היומנים שנבחרו.
כדי להגדיר פטורים, מבצעים את הפעולות הבאות:
בטבלה Data Access audit logs configuration, בוחרים שירותGoogle Cloud מהעמודה Service.
בחלונית המידע, לוחצים על הכרטיסייה Exempted Principals.
בשדה Add exempted principal, מזינים את הישות המורשית שרוצים להחריג מיצירת יומני ביקורת של בקרת הרשאות גישה לנתונים בשירות שנבחר.
כדי להוסיף כמה חשבונות ראשיים, לוחצים על הכפתור Add exempted principal כמה פעמים שצריך.
רשימה של חשבונות משתמשים תקינים, כולל משתמשים וקבוצות, מופיעה בחומר העזר בנושא סוגי
Binding.בקטע Disabled Log Types, בוחרים את הסוגים של יומני הביקורת של הגישה לנתונים שרוצים להשבית.
לוחצים על Save.
כשמוסיפים חשבונות משתמשים פטורים לשירות, בטבלה Data Access audit logs configuration מופיע מספר בעמודה Exempted principals.
כדי להסיר חשבון ראשי מרשימת הפטורים:
בטבלה Data Access audit logs configuration, בוחרים שירותGoogle Cloud מהעמודה Service.
בחלונית המידע, לוחצים על הכרטיסייה Exempted Principals.
מעבירים את הסמן מעל שם של חשבון משתמש ולוחצים על Delete.
אחרי ששם המשתמש מוצג בטקסט עם קו חוצה, לוחצים על Save.
כדי לערוך את הפרטים של חשבון ראשי שהוחרג:
בטבלה Data Access audit logs configuration, בוחרים שירותGoogle Cloud מהעמודה Service.
בחלונית המידע, לוחצים על הכרטיסייה Exempted Principals.
מאתרים את חשבון המשתמש ולוחצים על סמל ההרחבה expand_more Show more.
בוחרים או מבטלים את הבחירה של סוגי יומני הביקורת של הגישה לנתונים, בהתאם לחשבון המשתמש.
לוחצים על Save.
הגדרת ברירת המחדל
אתם יכולים להגדיר הגדרה שכל השירותים החדשים והקיימים של Google Cloudבפרויקט, בתיקייה או בארגון של Google Cloud יורשים. הגדרת ברירת המחדל הזו חלה אם שירות Google Cloud חדש הופך לזמין וחשבונות משתמשים בארגון מתחילים להשתמש בו: השירות יורש את מדיניות רישום יומני הביקורת שכבר הגדרתם לשירותיGoogle Cloud אחרים, וכך מובטח שיומני הביקורת של הגישה לנתונים יתועדו.
כדי להגדיר או לערוך את הגדרות ברירת המחדל:
לוחצים על Set Default Configuration.
בכרטיסייה Log Types שבחלונית המידע, בוחרים את הסוגים של יומני הביקורת של הגישה לנתונים שרוצים להפעיל או להשבית.
לוחצים על Save.
בחלונית המידע, לוחצים על הכרטיסייה Exempted Principals.
בשדה Add exempted principal, מזינים את הישות המורשית שרוצים להחריג מיצירת יומני ביקורת של בקרת הרשאות גישה לנתונים בשירות שנבחר.
כדי להוסיף כמה חשבונות ראשיים, לוחצים על הכפתור Add exempted principal כמה פעמים שצריך.
רשימה של חשבונות משתמשים תקינים, כולל משתמשים וקבוצות, מופיעה בחומר העזר בנושא סוגי
Binding.בקטע Disabled Log Types, בוחרים את הסוגים של יומני הביקורת של הגישה לנתונים שרוצים להשבית.
לוחצים על Save.
הגדרת יומני ביקורת של גישה לנתונים באמצעות ה-API
בקטע הזה מוסבר איך להשתמש ב-API וב-CLI של gcloud כדי להגדיר באופן פרוגרמטי את יומני הביקורת של הגישה לנתונים.
אפשר לבצע הרבה מהמשימות האלה גם באמצעות מסוף Google Cloud . הוראות מפורטות מופיעות בקטע הגדרת יומני ביקורת של גישה לנתונים באמצעות מסוף Google Cloud שבדף הזה.
בחלק מהשירותים של BigQuery, כמו BigQuery Reservation API, צריך להפעיל באופן מפורש את יומני הביקורת של הגישה לנתונים. כדי להפעיל יומני ביקורת של גישה לנתונים ב-BigQuery Reservation API, צריך לערוך את ההגדרות ולהפעיל את יומני הביקורת של ADMIN_READ בשביל bigquery.googleapis.com.
אובייקטים של מדיניות IAM
כדי להגדיר יומני ביקורת של גישה לנתונים באמצעות ה-API, צריך לערוך את מדיניות ה-IAM שמשויכת לפרויקט, לתיקייה או לארגון ב- Google Cloud . הגדרת יומן הביקורת נמצאת בקטע auditConfigs של המדיניות:
"auditConfigs": [
{
object(AuditConfig)
}
]
לפרטים נוספים, קראו על הסוג Policy ב-IAM.
בקטעים הבאים מוסבר בהרחבה על האובייקט AuditConfig.
כדי לראות את הפקודות של ה-API ושל ה-CLI של gcloud שמשמשות לשינוי ההגדרות, קראו את הקטע getIamPolicy ו-setIamPolicy.
AuditConfig אובייקטים
ההגדרה של יומן הביקורת מורכבת מרשימה של אובייקטים מסוג AuditConfig. כל אובייקט מגדיר את היומנים של שירות אחד, או קובע הגדרה רחבה יותר לכל השירותים. כל אובייקט נראה כך:
{
"service": SERVICE_NAME,
"auditLogConfigs": [
{
"logType": "ADMIN_READ",
"exemptedMembers": [ PRINCIPAL,]
},
{
"logType": "DATA_READ",
"exemptedMembers": [ PRINCIPAL,]
},
{
"logType": "DATA_WRITE",
"exemptedMembers": [ PRINCIPAL,]
},
]
},
SERVICE_NAME מכיל ערך כמו "appengine.googleapis.com", או את הערך המיוחד "allServices". אם בהגדרה מסוימת לא מצוין שירות ספציפי, השירות הזה ישתמש בהגדרה הרחבה יותר. אם אין הגדרה, יומני הביקורת של הגישה לנתונים לא מופעלים בשירות הזה.
לרשימה של שמות השירותים
הקטע auditLogConfigs של האובייקט AuditConfig הוא רשימה של 0 עד 3 אובייקטים, שכל אחד מהם מגדיר סוג אחד של מידע ביומן הביקורת. אם משמיטים את אחד מהסוגים מהרשימה, סוג המידע הזה לא מופעל בשירות.
PRINCIPAL הוא משתמש שלא נאספים בשבילו יומני בקרת הרשאות גישה לנתונים.
הסוג Binding מתאר סוגים שונים של חשבונות משתמשים, כולל משתמשים וקבוצות, אבל לא את כולם אפשר להגדיר ביומני ביקורת של גישה לנתונים.
הדוגמה הבאה מציגה הגדרת ביקורת בפורמטים JSON ו-YAML. פורמט YAML הוא ברירת המחדל כשמשתמשים ב-Google Cloud CLI.
JSON
"auditConfigs": [
{
"auditLogConfigs": [
{
"logType": "ADMIN_READ"
},
{
"logType": "DATA_WRITE"
},
{
"logType": "DATA_READ"
}
],
"service": "allServices"
},
{
"auditLogConfigs": [
{
"exemptedMembers": [
"499862534253-compute@"
],
"logType": "ADMIN_READ"
}
],
"service": "cloudsql.googleapis.com"
}
],
YAML
auditConfigs:
- auditLogConfigs:
- logType: ADMIN_READ
- logType: DATA_WRITE
- logType: DATA_READ
service: allServices
- auditLogConfigs:
- exemptedMembers:
- 499862534253-compute@
logType: ADMIN_READ
service: cloudsql.googleapis.com
הגדרות נפוצות
בהמשך מפורטות כמה הגדרות נפוצות של יומני ביקורת לפרויקטים ב- Google Cloud .
הפעלה של כל יומני בקרת הרשאות גישה לנתונים
הקטע הבא של auditConfigs מפעיל את יומני הביקורת של בקרת הרשאות גישה לנתונים לכל השירותים וישויות מורשות:
JSON
"auditConfigs": [
{
"service": "allServices",
"auditLogConfigs": [
{ "logType": "ADMIN_READ" },
{ "logType": "DATA_READ" },
{ "logType": "DATA_WRITE" },
]
},
]
YAML
auditConfigs:
- auditLogConfigs:
- logType: ADMIN_READ
- logType: DATA_WRITE
- logType: DATA_READ
service: allServices
הפעלה של שירות אחד וסוג יומן אחד
ההגדרות הבאות מפעילות את יומני הביקורת של DATA_WRITE Data Access ב-Cloud SQL:
JSON
"auditConfigs": [
{
"service": "cloudsql.googleapis.com",
"auditLogConfigs": [
{ "logType": "DATA_WRITE" },
]
},
]
YAML
auditConfigs:
- auditLogConfigs:
- logType: DATA_WRITE
service: cloudsql.googleapis.com
השבתה של כל יומני הביקורת של גישה לנתונים
כדי להשבית את כל יומני הביקורת של הגישה לנתונים (חוץ מכמה יומנים של BigQuery) בפרויקט ב- Google Cloud , צריך לכלול קטע auditConfigs: ריק במדיניות ה-IAM החדשה:
JSON
"auditConfigs": [],
YAML
auditConfigs:
אם מסירים לגמרי את הקטע auditConfigs מהמדיניות החדשה, setIamPolicy לא משנה את ההגדרות הקיימות של יומני הביקורת של Data Access. מידע נוסף זמין בקטע מסכת העדכון של setIamPolicy.
אי אפשר להשבית את יומני הביקורת של BigQuery Data Access.
getIamPolicy וגם setIamPolicy
אתם משתמשים ב-methods getIamPolicy ו-setIamPolicy של Cloud Resource Manager API כדי לקרוא ולכתוב את מדיניות ה-IAM. יש כמה שיטות ספציפיות שאפשר להשתמש בהן:
ב-Cloud Resource Manager API יש את השיטות הבאות:
projects.getIamPolicy projects.setIamPolicy organizations.getIamPolicy organizations.setIamPolicyב-Google Cloud CLI יש את הפקודות הבאות של מנהל המשאבים:
gcloud projects get-iam-policy gcloud projects set-iam-policy gcloud resource-manager folders get-iam-policy gcloud resource-manager folders set-iam-policy gcloud organizations get-iam-policy gcloud organizations set-iam-policy gcloud beta billing accounts get-iam-policy gcloud beta billing accounts set-iam-policy
לא משנה מה תבחרו, בצעו את שלושת השלבים הבאים:
- קוראים את המדיניות הנוכחית באמצעות אחת מהשיטות של
getIamPolicy. שומרים את המדיניות בקובץ זמני. - עורכים את המדיניות בקובץ הזמני.
שנו (או הוסיפו) רק את הקטע
auditConfigs. - כותבים את המדיניות הערוכה מהקובץ הזמני באמצעות אחת מהשיטות של
setIamPolicy.
הפעולה setIamPolicy תיכשל אם מנהל המשאבים יזהה שמישהו אחר שינה את המדיניות אחרי שקראתם אותה בשלב הראשון. במקרה כזה,
צריך לחזור על שלושת השלבים.
דוגמאות
בדוגמאות הבאות מוסבר איך להגדיר את יומני הביקורת של הגישה לנתונים בפרויקט באמצעות הפקודה gcloud ו-Cloud Resource Manager API.
כדי להגדיר יומני ביקורת של גישה לנתונים ברמת הארגון, מחליפים את גרסת הפקודות והשיטות של ה-API של "projects" בגרסה של "organizations".
gcloud
כדי להגדיר את יומני הביקורת של בקרת הרשאות גישה לנתונים באמצעות הפקודה gcloud projects:
קוראים את מדיניות ה-IAM של הפרויקט ושומרים אותה בקובץ:
gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yamlהקוד הבא מציג את המדיניות שהוחזרה. במדיניות הזו אין קטע של
auditConfigs:bindings: - members: - user:colleague@example.com role: roles/editor - members: - user:myself@example.com role: roles/owner etag: BwVM-FDzeYM= version: 1עורכים את המדיניות ב-
/tmp/policy.yaml, ומוסיפים או משנים רק את ההגדרה של יומני בקרת הרשאות גישה לנתונים.דוגמה למדיניות הערוכה, שמאפשרת יומני ביקורת של גישה לנתונים מסוג כתיבת נתונים ב-Cloud SQL:
auditConfigs: - auditLogConfigs: - logType: DATA_WRITE service: cloudsql.googleapis.com bindings: - members: - user:colleague@example.com role: roles/editor - members: - user:myself@example.com role: roles/owner etag: BwVM-FDzeYM= version: 1כמו שרואים בדוגמה הקודמת, נוספו ארבע שורות בתחילת המדיניות.
כותבים את מדיניות ה-IAM החדשה:
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yamlאם הפקודה הקודמת מדווחת על התנגשות עם שינוי אחר, חוזרים על השלבים האלה, החל מהשלב הראשון.
JSON
כדי לעבוד עם מדיניות ה-IAM בפורמט JSON במקום ב-YAML, מחליפים את הפקודות הבאות של gcloud בדוגמה:
gcloud projects get-iam-policy PROJECT_ID --format=json >/tmp/policy.json
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.json
API
כדי להגדיר את יומני הביקורת של הגישה לנתונים באמצעות Cloud Resource Manager API:
קוראים את מדיניות ה-IAM של הפרויקט, ומציינים את הפרמטרים הבאים בשיטת ה-API getIamPolicy:
- resource:
projects/PROJECT_ID - גוף הבקשה: ריק
ה-method מחזירה את אובייקט המדיניות הנוכחי:
{ "version": 1, "etag": "BwXqwxkr40M=", "bindings": [ { "role": "roles/owner", "members": [ "user:myself@example.com" ] } ] }בדוגמה הקודמת, במדיניות של הפרויקט אין קטע
auditConfigs.- resource:
עורכים את המדיניות הנוכחית:
משנים או מוסיפים את הקטע
auditConfigs.כדי להשבית את יומני הביקורת של הגישה לנתונים, צריך לכלול ערך ריק בקטע:
auditConfigs:[].שמירה על הערך של
etag.
אפשר גם להסיר את כל המידע האחר מאובייקט המדיניות החדש, כל עוד מקפידים להגדיר את
updateMaskבשלב הבא. כך נראית המדיניות הערוכה, שמאפשרת את יומני הביקורת של Cloud SQLDATA_WRITE:{ "policy": { "auditConfigs": [ { "auditLogConfigs": [ { "logType": "DATA_WRITE" } ], "service": "cloudsql.googleapis.com" } ], "etag": "BwXqwxkr40M=" }, "updateMask": "auditConfigs,etag" }כותבים את המדיניות החדשה באמצעות ה-method
setIamPolicyב-API, ומציינים את הפרמטרים הבאים:- resource:
projects/PROJECT_ID - גוף הבקשה: כוללים את המדיניות הערוכה.
- resource:
מסכת העדכון של setIamPolicy
בקטע הזה מוסבר למה הפרמטר updateMask חשוב ב-method setIamPolicy, ולמה צריך להיזהר כשמשתמשים בפקודה set-iam-policy ב-CLI של gcloud כדי לא לגרום נזק בטעות לפרויקט או לארגון ב- Google Cloud .
ה-method setIamPolicy של ה-API משתמשת בפרמטר updateMask כדי לקבוע אילו שדות של המדיניות יעודכנו. לדוגמה, אם המסכה לא מכילה את bindings, אי אפשר לשנות בטעות את החלק הזה במדיניות. מצד שני, אם המסכה מכילה את bindings, החלק הזה תמיד מתעדכן. אם לא תכללו ערך מעודכן ל-bindings, הקטע הזה יוסר לחלוטין מהמדיניות.
הפקודה gcloud projects set-iam-policy, שמפעילה את setIamPolicy, לא מאפשרת לציין את הפרמטר updateMask. במקום זאת, הפקודה מחשבת ערך ל-updateMask באופן הבא:
- השדה
updateMaskתמיד מכיל את השדותbindingsו-etag. - אם אובייקט המדיניות שסופק ב-
set-iam-policyמכיל שדות אחרים ברמה העליונה, כמוauditConfigs, השדות האלה מתווספים ל-updateMask.
כתוצאה מהכללים האלה, הפקודה set-iam-policy פועלת באופן הבא:
אם משמיטים את הקטע
auditConfigsבמדיניות החדשה, הערך הקודם של הקטעauditConfigs(אם יש כזה) לא משתנה, כי הקטע הזה לא נמצא במסכת העדכון. זה לא מזיק, אבל יכול להיות מבלבל.אם משמיטים את
bindingsבאובייקט המדיניות החדש, הקטעbindingsיוסר מהמדיניות כי הוא מופיע במסכת העדכון. זהו מצב בעייתי מאוד, שגורם לכל חשבונות המשתמשים לאבד את הגישה לפרויקט Google Cloud .אם לא תכללו את
etagבאובייקט המדיניות החדש, לא תתבצע בדיקה של שינויים בו-זמניים במדיניות, וייתכן שהשינויים שלכם יחליפו בטעות שינויים של מישהו אחר.