הפעלת יומני ביקורת של גישה לנתונים

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

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

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

  • יומני הביקורת Data Access מושבתים כברירת מחדל לכל השירותים, למעט חלק משירותי BigQuery. אם רוצים שיומני הביקורת Data Access ייכתבו עבור שירותים שבהם היומנים האלה מושבתים כברירת מחדל, צריך להפעיל אותם באופן מפורש במסוף Google Cloud או באמצעות ה-API.

  • יומני הביקורת Data Access מאוחסנים בקטגוריה _Default, אלא אם העברתם אותם למקום אחר. מידע נוסף זמין במאמר בנושא אחסון וניתוב של יומני ביקורת.

  • יומני בקרת הרשאות הגישה לנתונים עוזרים לתמיכה של Google לפתור בעיות בחשבון שלכם. לכן, מומלץ להפעיל את יומני הביקורת Data Access כשזה אפשרי.

  • כדי לקבל את ההרשאות שנדרשות לגישה לכל היומנים בקטגוריות _Required ו-_Default, כולל יומני Data Access, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Private Logs Viewer (roles/logging.privateLogViewer) בפרויקט.

    התפקיד 'מציג יומנים פרטיים' (roles/logging.privateLogViewer) כולל את ההרשאות שכלולות בתפקיד 'מציג יומנים' (roles/logging.viewer), וגם את ההרשאות שנדרשות לקריאת יומני ביקורת גישה לנתונים בקטגוריה _Default.

    התפקיד 'עריכה' (roles/editor) לא כולל את ההרשאות שנדרשות לצפייה ביומני הגישה לנתונים.

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

סקירה כללית של ההגדרה

אתם יכולים להגדיר איך יופעלו יומני ביקורת של גישה לנתונים עבורGoogle Cloud המשאבים והשירותים שלכם:

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

  • תיקיות: אתם יכולים להפעיל ולהגדיר יומני ביקורת של גישה לנתונים בתיקייה, וההגדרה תחול על כל הפרויקטים הקיימים והחדשים בתיקייה. Google Cloud אי אפשר להשבית יומן ביקורת Data Access שהופעל ביחידה הארגונית ברמה העליונה של הפרויקט.

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

  • חשבונות לחיוב: כדי להגדיר יומני ביקורת של גישה לנתונים בחשבונות לחיוב, צריך להשתמש ב-Google Cloud CLI. למידע נוסף על השימוש ב-CLI של gcloud עם יומני ביקורת של גישה לנתונים וחשבונות לחיוב, אפשר לעיין במאמר gcloud beta billing accounts set-iam-policy.

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

  • סוגי הרשאות: אתם יכולים לציין ש-API Google Cloud שבודקים רק סוג מסוים של הרשאה יפיקו יומן ביקורת. מידע נוסף זמין בקטע סוגי הרשאות בדף הזה.

  • גורמים שהוחרגו: אתם יכולים להחריג גורמים ספציפיים מתיעוד הגישה שלהם לנתונים. לדוגמה, אתם יכולים להחריג את חשבונות הבדיקות הפנימיות שלכם כך שפעולות Cloud Monitoring לא יתועדו בהם. רשימה של חשבונות משתמשים תקינים, כולל משתמשים וקבוצות, מופיעה במאמר הפניה לסוג Binding.

אתם יכולים להגדיר את יומני הביקורת של Data Access דרך הדף Audit Logs של IAM במסוף Google Cloud , או באמצעות ה-API. השיטות האלה מוסברות בקטעים הבאים.

סוגי הרשאות

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

  • סוגי הרשאות גישה לנתונים:

    • ADMIN_READ: הרשאות IAM מהסוג הזה נבדקות בקודי method שלGoogle Cloud API שקוראים מטא-נתונים או פרטי הגדרה. בדרך כלל, יומני ביקורת ADMIN_READ מושבתים כברירת מחדל וצריך להפעיל אותם.

    • DATA_READ: הרשאות IAM מהסוג הזה נבדקות עבורGoogle Cloud API methods שקוראות פרטים שהמשתמשים סיפקו (UPD). בדרך כלל, יומני הביקורת DATA_READ מושבתים כברירת מחדל וצריך להפעיל אותם.

    • DATA_WRITE: הרשאות IAM מהסוג הזה נבדקות עבור קודי method ב-Google Cloud API שכותבים פרטים שהמשתמשים סיפקו (UPD). בדרך כלל, יומני הביקורת DATA_WRITE מושבתים כברירת מחדל וצריך להפעיל אותם.

  • סוג ההרשאה לפעילות האדמין:

    • ADMIN_WRITE: הרשאות IAM מהסוג הזה נבדקות עבור קודי method ב-API שכותבים מטא-נתונים או פרטי הגדרה.Google Cloud יומני הביקורת שמשויכים לסוג הזה, Admin Activity audit logs, מופעלים כברירת מחדל ואי אפשר להשבית אותם.

אפשר להפעיל או להשבית סוגי הרשאות לשירותים באמצעות מסוףGoogle Cloud או על ידי הפעלת ה-API.

רוב ממשקי ה-API‏ Google Cloud בודקים רק אם למשתמש יש הרשאת IAM אחת. אם סוג ההרשאה שמשויך להרשאה הזו מופעל בשירות שאליו מתבצעת קריאה ל-API, אז ה-API יוצר יומן ביקורת.

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

בדיקת הרשאות IAM לסוגי הרשאות גישה לנתונים

חלק מה-methods של ה-API‏ Google Cloud בודקות אם למשתמש שקורא ל-API יש כמה הרשאות IAM עם סוגים שונים של הרשאות Data Access. יומן ביקורת נכתב כשמפעילים בפרויקט אחד מסוגי ההרשאות האלה של גישה לנתונים.

לדוגמה, יכול להיות ש-method של API תבדוק שלגורם הראשי ששולח בקשה ל-API יש את ההרשאות example.resource.get (DATA_READ) ו-example.resource.write (DATA_WRITE). כדי שהשירות ישלח את יומן הביקורת כשמתבצעת הקריאה, צריך להפעיל בפרויקט את ההרשאה DATA_WRITE או את ההרשאה DATA_READ.

סוגי ההרשאות ב-IAM שנבדקו: פעילות אדמין וגישה לנתונים

חלק מה-methods של API‏ Google Cloud בודקות גם הרשאה ב-IAM עם סוג ההרשאה ADMIN_WRITE, וגם הרשאה אחת או יותר עם סוג ההרשאה Data Access.

סוגי קריאות ה-API האלה יוצרים יומני ביקורת Admin Activity, שמופעלים כברירת מחדל ואי אפשר להשבית אותם.

שיטת ה-API בודקת הרשאות IAM שלא בבעלות השירות

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

לדוגמה, בחיוב ב-Cloud יש method ב-API שבודקת את סוג ההרשאה ADMIN_READ שבבעלות מנהל המשאבים. ADMIN_READ צריך להיות מופעל בשירות cloudresourcemanager.googleapis.com כדי להפעיל את יומן הביקורת שמשויך ל-Cloud Billing API.

בדיקות של אותה method ב-API עבור הרשאות שונות ב-IAM

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

לדוגמה, ב-Spanner יש method ב-API שלפעמים בודקת הרשאה ב-IAM עם הסוג DATA_WRITE, ולפעמים בודקת הרשאה ב-IAM עם הסוג DATA_READ, בהתאם לאופן שבו מופעלת הקריאה ל-method. במקרה הזה, הפעלת DATA_WRITE עבור Spanner בפרויקט שבו מתבצעת קריאה ל-API תפעיל רק את יומן הביקורת שמשויך ל-API, כשההרשאה ב-IAM עם הסוג DATA_WRITE תיבדק.

הגדרות ספציפיות לשירות

אם יש הגדרה Google Cloud בכל השירות (allServices) והגדרה Google Cloud בשירות ספציפי, ההגדרה שמתקבלת בשירות היא איחוד של שתי ההגדרות. במילים אחרות:

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

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

  • אפשר להוסיף ישויות לרשימות של חריגים, אבל אי אפשר להסיר אותן מרשימות של חריגים בהגדרה הרחבה יותר.

  • ההגדרה של יומן הביקורת Data Access בשירות העברת הנתונים ל-BigQuery נלקחת מההגדרה של יומן הביקורת שמוגדר כברירת מחדל.

שרתי MCP של Google Cloud כותבים יומני ביקורת של גישה לנתונים שהם ספציפיים לשירות ומשתמשים בפורמט SERVICE_NAME.googleapis.com/mcp. כדי להפעיל את יומני הגישה לנתונים האלה, צריך להפעיל את יומני הביקורת עבור mcp.googleapis.com באובייקט IAM AuditConfig. למידע נוסף על רישום ביומני ביקורת של שרתי Google Cloud MCP, אפשר לעיין במאמר רישום ביומני ביקורת של שרתי Google Cloud MCP.

Google Cloud הגדרות משאבים

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

  • אפשר להפעיל יומנים עבור שירות Google Cloud , אבל אי אפשר להשבית יומנים עבור שירות Google Cloud שמופעל בארגון או בתיקייה ברמת ההורה. Google Cloud

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

  • אפשר להוסיף חשבונות משתמש לרשימות של פטורים, אבל אי אפשר להסיר אותם מרשימות של פטורים בארגון או בתיקייה ברמת ההורה.

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

בקרת גישה

התפקידים וההרשאות בניהול הזהויות והרשאות הגישה (IAM) קובעים את הגישה לנתונים ב-Logging, כולל הצגה וניהול של מדיניות IAM שמשמשת כבסיס להגדרות של יומני ביקורת של גישה לנתונים.

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

  • כדי להגדיר מדיניות IAM, צריך תפקיד עם ההרשאה resourcemanager.RESOURCE_TYPE.setIamPolicy.

  • כדי להציג מדיניות IAM, צריך תפקיד עם ההרשאה resourcemanager.RESOURCE_TYPE.getIamPolicy.

    .

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

הגדרת יומני ביקורת של גישה לנתונים באמצעות מסוף Google Cloud

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

אפשר גם להשתמש ב-API או ב-Google Cloud CLI כדי לבצע את המשימות האלה באופן פרוגרמטי. פרטים נוספים זמינים במאמר בנושא הגדרת יומני ביקורת של Data Access באמצעות ה-API.

כדי לגשת לאפשרויות ההגדרה של יומן הביקורת במסוף Google Cloud :

  1. נכנסים לדף Audit Logs במסוף Google Cloud :

    כניסה אל יומני ביקורת

    אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא IAM & Admin.

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

הפעלה של יומני ביקורת

כדי להפעיל את יומני הביקורת Data Access:

  1. בטבלה Data Access audit logs configuration, בוחרים שירות אחד או יותר מהעמודה Service.Google Cloud

  2. בכרטיסייה Permission types (סוגי הרשאות), בוחרים את הסוגים של יומני הביקורת לגבי גישה לנתונים שרוצים להפעיל בשירותים שנבחרו.

  3. לוחצים על Save.

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

בדוגמה הבאה אפשר לראות שסוג יומן הביקורת Data Read מופעל בשירות Access Approval:

הגדרות של יומני ביקורת

אפשר גם להפעיל יומני ביקורת לכל השירותים Google Cloud שמפיקים יומני ביקורת של גישה לנתונים. בטבלה Data Access audit logs configuration (הגדרת יומני ביקורת Data Access), בוחרים את כל השירותים Google Cloud .

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

השבתה של יומני ביקורת של גישה לנתונים

כדי להשבית את יומני הביקורת Data Access:

  1. בטבלה Data Access audit logs configuration (הגדרת יומני ביקורת של גישה לנתונים), בוחרים שירות אחד או יותרGoogle Cloud .

  2. בכרטיסייה Log Types בחלונית המידע, בוחרים את סוגי יומני הביקורת של גישה לנתונים שרוצים להשבית בשירותים שנבחרו.

  3. לוחצים על Save.

אם השבתתם בהצלחה את יומני הביקורת Data Access, בטבלה יופיע מקף. יומני הביקורת Data Access שמופעלים מסומנים בסמל האישור.

הגדרת פטורים

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

כדי להגדיר פטורים:

  1. בטבלה Data Access audit logs configuration, בוחריםGoogle Cloud שירות מהעמודה Service.

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

  3. בשדה Add exempted principal, מזינים את החשבון שרוצים להחריג מיצירת יומני ביקורת של גישה לנתונים בשירות שבחרתם.

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

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

  4. בקטע Disabled Log Types, בוחרים את הסוגים של יומני הביקורת Data Access שרוצים להשבית.

  5. לוחצים על Save.

אם הוספתם בהצלחה חשבונות ראשיים שפטורים ממעקב לשירות, בטבלה Data Access audit logs configuration יופיע מספר בעמודה Exempted principals.

כדי להסיר חשבון ראשי מרשימת הפטורים:

  1. בטבלה Data Access audit logs configuration, בוחריםGoogle Cloud שירות מהעמודה Service.

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

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

  4. אחרי ששם המשתמש מוצג עם קו חוצה, לוחצים על שמירה.

כדי לערוך את הפרטים של חשבון ראשי שפטור ממס:

  1. בטבלה Data Access audit logs configuration, בוחריםGoogle Cloud שירות מהעמודה Service.

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

  3. מאתרים את המנהל הראשי ולוחצים על סמל ההרחבה הצגת פרטים נוספים.

  4. בוחרים או מבטלים את הבחירה בסוגים של יומני הביקורת Data Access בהתאם למנהל הראשי.

  5. לוחצים על Save.

הגדרת ברירת המחדל

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

כדי להגדיר או לערוך את הגדרות ברירת המחדל:

  1. לוחצים על הגדרת ברירת מחדל.

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

  3. לוחצים על Save.

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

  5. בשדה Add exempted principal, מזינים את החשבון שרוצים להחריג מיצירת יומני ביקורת של גישה לנתונים בשירות שבחרתם.

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

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

  6. בקטע Disabled Log Types, בוחרים את הסוגים של יומני הביקורת Data Access שרוצים להשבית.

  7. לוחצים על Save.

הגדרת יומני ביקורת של גישה לנתונים באמצעות ה-API

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

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

בשירותים מסוימים של BigQuery, כמו BigQuery Reservation API, צריך להפעיל באופן מפורש את יומני הביקורת Data Access. כדי להפעיל יומני ביקורת של גישה לנתונים עבור BigQuery Reservation API, צריך לערוך את ההגדרה כדי להפעיל יומני ביקורת של ADMIN_READ עבור ADMIN_READ.bigquery.googleapis.com

אובייקטים של מדיניות IAM

כדי להגדיר יומני ביקורת של Data Access באמצעות ה-API, צריך לערוך את מדיניות IAM שמשויכת ל Google Cloud פרויקט, לתיקייה או לארגון. ההגדרה של יומן הביקורת נמצאת בקטע auditConfigs במדיניות:

"auditConfigs": [
  {
    object(AuditConfig)
  }
]

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

בקטעים הבאים מוסבר בפירוט על האובייקט AuditConfig. בקטע getIamPolicy ו-setIamPolicy מפורטות הפקודות של ה-API ושל ה-CLI של gcloud שמשמשות לשינוי ההגדרה.

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". אם שירות מסוים לא מוזכר בהגדרה, המערכת משתמשת בהגדרה הכללית יותר בשביל השירות הזה. אם אין הגדרה, יומני הביקורת Data Access לא מופעלים בשירות הזה. רשימה של שמות השירותים זמינה במאמר שירותי יומן.

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

PRINCIPAL הוא משתמש שלא נאספים לגביו יומני ביקורת של גישה לנתונים. Binding type מתאר סוגים שונים של גורמים, כולל משתמשים וקבוצות, אבל לא את כולם אפשר להשתמש כדי להגדיר יומני ביקורת של גישה לנתונים.

בהמשך מופיעה דוגמה להגדרת ביקורת בפורמטים JSON ו-YAML. פורמט YAML הוא ברירת המחדל כשמשתמשים ב-Google Cloud CLI.

JSON

"auditConfigs": [
  {
    "auditLogConfigs": [
      {
        "logType": "ADMIN_READ"
      },
      {
        "logType": "DATA_WRITE"
      },
      {
        "logType": "DATA_READ"
      }
    ],
    "service": "allServices"
  },
  {
    "auditLogConfigs": [
      {
        "exemptedMembers": [
          "499862534253-compute@developer.gserviceaccount.com"
        ],
        "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@developer.gserviceaccount.com
    logType: ADMIN_READ
  service: cloudsql.googleapis.com

הגדרות נפוצות

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

הפעלה של כל יומני הביקורת Data Access

בקטע 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

השבתה של כל יומני הביקורת Data Access

כדי להשבית את כל יומני הביקורת לגבי גישה לנתונים (חוץ מיומנים מסוימים של BigQuery) ב Google Cloud פרויקט, צריך לכלול קטע auditConfigs: ריק במדיניות ה-IAM החדשה:

JSON

"auditConfigs": [],

YAML

auditConfigs:

אם תסירו את הקטע auditConfigs לחלוטין מהמדיניות החדשה, setIamPolicy לא ישנה את ההגדרה הקיימת של יומני הביקורת Data Access. מידע נוסף זמין בקטע setIamPolicyThe update mask.

אי אפשר להשבית את יומני הביקורת Data Access של BigQuery.

getIamPolicy וגם setIamPolicy

משתמשים ב-methods של Cloud Resource Manager API‏ getIamPolicy ו-setIamPolicy כדי לקרוא ולכתוב את מדיניות ה-IAM. יש כמה אפשרויות לשיטות ספציפיות לשימוש:

  • ל-Cloud Resource Manager API יש את ה-methods הבאות:

    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
    

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

  1. קוראים את המדיניות הנוכחית באמצעות אחת משיטות getIamPolicy. שומרים את המדיניות בקובץ זמני.
  2. עורכים את המדיניות בקובץ הזמני. משנים (או מוסיפים) רק את החלק auditConfigs.
  3. כותבים את המדיניות הערוכה בקובץ הזמני, באמצעות אחת מהשיטות setIamPolicy.

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

דוגמאות

בדוגמאות הבאות מוצגות דרכים להגדיר את יומני הביקורת של גישה לנתונים בפרויקט באמצעות הפקודה gcloud וממשק Cloud Resource Manager API.

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

gcloud

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

  1. קוראים את מדיניות ה-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
    
  2. עורכים את המדיניות ב-/tmp/policy.yaml, ומוסיפים או משנים רק את ההגדרה של יומני הביקורת Data Access.

    דוגמה למדיניות הערוכה, שמאפשרת יומני ביקורת של גישה לנתונים (Data Access) של כתיבת נתונים ב-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
    

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

  3. כותבים את מדיניות ה-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, פועלים לפי השלבים הבאים:

  1. קוראים את מדיניות ה-IAM של הפרויקט, ומציינים את הפרמטרים הבאים לשיטת ה-API‏ getIamPolicy:

    • resource: projects/PROJECT_ID
    • גוף הבקשה: empty

    השיטה מחזירה את אובייקט המדיניות הנוכחי:

    {
      "version": 1,
      "etag": "BwXqwxkr40M=",
      "bindings": [
        {
          "role": "roles/owner",
          "members": [
            "user:myself@example.com"
          ]
        }
      ]
    }
    

    בדוגמה הקודמת אפשר לראות שבמדיניות של הפרויקט אין קטע auditConfigs.

  2. עריכה של המדיניות הנוכחית:

    • משנים או מוסיפים את החלק auditConfigs.

      כדי להשבית את יומני הביקורת Data Access, צריך לכלול ערך ריק בקטע: auditConfigs:[].

    • שומרים על הערך של etag.

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

    {
      "policy": {
        "auditConfigs": [
          {
            "auditLogConfigs": [
              {
                "logType": "DATA_WRITE"
              }
            ],
            "service": "cloudsql.googleapis.com"
          }
        ],
        "etag": "BwXqwxkr40M="
      },
      "updateMask": "auditConfigs,etag"
    }
    
  3. כותבים את המדיניות החדשה באמצעות שיטת ה-API‏ setIamPolicy, ומציינים את הפרמטרים הבאים:

    • resource: projects/PROJECT_ID
    • גוף הבקשה: כולל את המדיניות הערוכה.
.

מסכת העדכון של setIamPolicy

בקטע הזה מוסבר למה הפרמטר updateMask חשוב בשיטה setIamPolicy, ולמה צריך להיזהר עם הפקודה set-iam-policy ב-CLI של gcloud כדי לא לגרום נזק בטעות לפרויקט Google Cloud או לארגון.

שיטת ה-API‏ setIamPolicy משתמשת בפרמטר 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 באובייקט המדיניות החדש, הבדיקה של שינויים מקבילים במדיניות תושבת, ויכול להיות שהשינויים שלכם ידחפו בטעות את השינויים של מישהו אחר.