במסמך הזה מוסבר איך Cloud Logging משתמש בתפקידים ובהרשאות של ניהול זהויות והרשאות גישה (IAM) כדי לשלוט בגישה למשאבי Logging. תפקידי ה-IAM שלכם קובעים אם אתם יכולים לבצע פעולות כמו יצירת אובייקטים מסוג sink או קטגוריות של יומנים, קריאת נתוני יומנים שמאוחסנים בקטגוריה של יומנים או גישה לדפים כמו Logs Explorer. אם מריצים פקודה של Logging API או של Google Cloud CLI, תפקידי ה-IAM קובעים אם יש לכם הרשאה להריץ את הפקודה.
סקירה כללית
התפקידים שלכם ב-IAM קובעים אילו פעולות אתם יכולים לבצע ב-Logging. תפקיד הוא אוסף של הרשאות. כשנותנים לחשבון משתמש תפקיד, הוא מקבל את כל ההרשאות שהתפקיד כולל. אתם יכולים להקצות לאותו חשבון משתמש תפקידים מרובים.
תפקידי IAM מוקצים למשאב, כמו Cloud de Confiance פרויקט, תיקייה, קטגוריה או ארגון. לדוגמה, אפשר לתת לישות מורשית את התפקיד מציג היומנים (roles/logging.viewer) בפרויקט מסוים Cloud de Confiance .
בקטעים תפקידים מוגדרים מראש ותפקידים ב-Logging בדף הזה מופיע מידע מקיף על תפקידים והרשאות ב-Logging. בקטעים אחרים בדף הזה מופיע מידע על תפקידים או הרשאות לתרחישי שימוש ספציפיים.
בחלק הנותר של הקטע הזה מוסבר איך אפשר להעניק לישות מורשית גישה לקטגוריות ביומן, או להעניק לה גישה רק לחלק מהרשומות ביומן בקטגוריה ביומן.
הענקת גישה למאגרי יומנים
התפקיד 'צפייה ביומנים' (roles/logging.viewer) מאפשר לישות ראשית לגשת לכל נתוני היומנים שמאוחסנים בקטגוריות היומנים _Required ו-_Default, למעט יומני גישה לנתונים. אם לחשבון משתמש מסוים נדרשת גישה ליומני גישה לנתונים, צריך להעניק לו את התפקיד 'צפייה ביומנים פרטיים' (roles/logging.privateLogViewer).
במאגרי יומנים בהתאמה אישית, אפשר להעניק גישה לתצוגה _AllLogs או לתצוגת יומנים בהתאמה אישית. הרישום ביומן יוצר אוטומטית את התצוגה _AllLogs, שכוללת את כל הרשומות בקטגוריה ביומן. כדי להעניק גישה לתצוגת יומן, מוסיפים קישור IAM למדיניות IAM שמצורפת לתצוגת היומן או לפרויקט. מידע נוסף מופיע במאמר בנושא שליטה בגישה לתצוגת יומן.
הרישום ביומן תומך גם בתגים בדלי יומנים, שיכולים לעזור לכם להבין את העלויות. אפשר גם להשתמש בתגים כדי למנוע ממשתמש למחוק קטגוריה ביומן. מידע נוסף זמין במאמר בנושא שימוש בתגים לניהול הגישה לקטגוריות של יומנים.
הענקת גישה לחלק מהרשומות ביומן בקטגוריית יומנים
כדי להעניק לישות מורשית גישה רק לחלק מהרשומות ביומן שמאוחסנות בקטגוריה ביומן, צריך ליצור תצוגת יומן ואז להעניק לישות המורשית גישה לתצוגת היומן. לדוגמה, אפשר ליצור תצוגת יומן ב_Default קטגוריה ביומן שכוללת רק רשומות ביומן שסוג המשאב שלהן הוא מכונה של Compute Engine.
מידע נוסף על יצירת תצוגות של יומנים ועל האסטרטגיות השונות שאפשר להשתמש בהן כדי להעניק גישה לתצוגה זמין במאמר הגדרת תצוגות של יומנים בקטגוריית יומנים.
תפקידים מוגדרים מראש
מערכת IAM מספקת תפקידים מוגדרים מראש כדי לתת גישה פרטנית למשאבים ספציפיים ב- Cloud de Confiance ולמנוע גישה לא רצויה למשאבים אחרים. Cloud de Confiance by S3NS יוצרת את התפקידים האלה ומעדכנת אוטומטית את ההרשאות שלהם לפי הצורך, למשל כשנוספות תכונות חדשות ל-Logging.
בטבלה הבאה מפורטים התפקידים המוגדרים מראש ב-Logging. בטבלה מופיעים השם והתיאור של כל תפקיד, ההרשאות שכלולות בו וסוג המשאב ברמה הנמוכה ביותר שבו אפשר להעניק את התפקיד. אפשר להעניק את התפקידים המוגדרים מראש ברמת הפרויקט או, ברוב המקרים, בכל סוג גבוה יותר בהיררכיית המשאבים. Cloud de Confiance כדי להגביל את הגישה של התפקיד Logs View Accessor לתצוגת יומן בקטגוריה, משתמשים במאפייני משאבים לתנאים של IAM.
במאמר הצגת המטא-נתונים של התפקיד תוכלו לראות את רשימת ההרשאות שכל תפקיד מכיל.
| Role | Permissions |
|---|---|
Logging Admin( Provides all permissions necessary to use all features of Cloud Logging. Lowest-level resources where you can grant this role:
|
|
Logs Bucket Writer( Ability to write logs to a log bucket. Lowest-level resources where you can grant this role:
|
|
Logs Writer( Provides the permissions to write log entries. Lowest-level resources where you can grant this role:
|
|
Private Logs Viewer( Provides permissions of the Logs Viewer role and in addition, provides read-only access to log entries in private logs. Lowest-level resources where you can grant this role:
|
|
Logs Viewer( Provides access to view logs. Lowest-level resources where you can grant this role:
|
|
Logs Configuration Writer( Provides permissions to read and write the configurations of logs-based metrics and sinks for exporting logs. Lowest-level resources where you can grant this role:
|
|
Log Field Accessor( Ability to read restricted fields in a log bucket. Lowest-level resources where you can grant this role:
|
|
Log Link Accessor( Ability to see links for a bucket. |
|
SQL Alert Writer Beta( Ability to write SQL Alerts. |
|
Logs View Accessor( Ability to read logs in a view. Lowest-level resources where you can grant this role:
|
|
Service agent roles
Service agent roles should only be granted to service agents.
| Role | Permissions |
|---|---|
Cloud Logging Service Agent( Grants a Cloud Logging Service Account the ability to create and link datasets. |
|
בקטעים הבאים מופיע מידע נוסף שיעזור לכם להחליט אילו תפקידים מתאימים לתרחישי השימוש של הגורמים המורשים שלכם.
רישום תפקידים ביומן
כדי לאפשר למשתמש לבצע את כל הפעולות ב-Logging, צריך להעניק לו את התפקיד Logging Admin (אדמין של Logging) (
roles/logging.admin).כדי לאפשר למשתמש ליצור ולשנות הגדרות של רישום ביומן, צריך להעניק לו את התפקיד 'בעל הרשאת כתיבה בהגדרות רישום ביומן' (
roles/logging.configWriter). התפקיד הזה מאפשר ליצור או לשנות את כל אחד מהפריטים הבאים:כדי לאפשר למשתמש לקרוא יומנים בדלי
_Requiredובדלי_Defaultאו להשתמש בדף Logs Explorer, צריך להעניק לו אחד מהתפקידים הבאים:- כדי לקבל גישה לכל היומנים בקטגוריה
_Requiredוגישה לתצוגה_Defaultבקטגוריה_Default, צריך להקצות את התפקיד 'צפייה ביומנים' (roles/logging.viewer). - כדי לקבל גישה לכל היומנים בקטגוריות
_Requiredו-_Default, כולל יומני גישה לנתונים, צריך להעניק את התפקיד 'צפייה ביומנים פרטיים' (roles/logging.privateLogViewer).
- כדי לקבל גישה לכל היומנים בקטגוריה
כדי לאפשר למשתמש לקרוא יומנים בכל תצוגות היומנים שנמצאות בפרויקט, צריך להקצות לו את תפקיד ה-IAM
roles/logging.viewAccessorבפרויקט.כדי לאפשר למשתמש לקרוא יומנים רק בתצוגת יומן ספציפית, יש שתי אפשרויות:
יוצרים מדיניות IAM לתצוגת היומן, ואז מוסיפים קישור IAM למדיניות הזו שמעניק לחשבון הראשי גישה לתצוגת היומן.
נותנים לחשבון המשתמש את תפקיד ה-IAM
roles/logging.viewAccessorבפרויקט שמכיל את תצוגת היומן, אבל מצרפים תנאי IAM כדי להגביל את ההרשאה לתצוגת היומן הספציפית.
מידע על יצירת תצוגות מפורטות של יומנים והענקת גישה מופיע במאמר הגדרת תצוגות מפורטות של יומנים בקטגוריה ביומן.
כדי לאפשר למשתמש לכתוב יומנים באמצעות Logging API, צריך להעניק לו את התפקיד Logs Writer (
roles/logging.logWriter). התפקיד הזה לא מעניק הרשאות צפייה.כדי לאפשר לחשבון השירות של יעד להפניית יומנים ל-bucket בפרויקט אחר Cloud de Confiance , צריך להקצות לחשבון השירות את התפקיד 'כתיבה ב-bucket של יומנים' (
roles/logging.bucketWriter). הוראות להענקת הרשאות לחשבון שירות מפורטות במאמר הגדרת הרשאות ליעד.
תפקידים ברמת הפרויקט
כדי לתת גישת צפייה לרוב השירותים Cloud de Confiance by S3NS , צריך להקצות את התפקיד 'צפייה' (
roles/viewer).התפקיד הזה כולל את כל ההרשאות שמוענקות על ידי התפקיד 'צפייה ביומנים' (
roles/logging.viewer).כדי לתת גישת עריכה לרוב השירותים של Cloud de Confiance by S3NS , צריך להקצות את התפקיד 'עריכה' (
roles/editor).התפקיד הזה כולל את כל ההרשאות שמוענקות על ידי התפקיד 'צפייה ביומנים' (
roles/logging.viewer), וגם את ההרשאות לכתוב רשומות ביומן ולמחוק יומנים. עם זאת, התפקיד הזה לא מאפשר למשתמשים ליצור יעד ליומנים, לקרוא יומני ביקורת של Data Access שנמצאים בקטגוריה_Defaultאו לקרוא יומנים שנמצאים בקטגוריות יומנים שהוגדרו על ידי משתמשים.כדי לתת גישה מלאה לרוב השירותים של Cloud de Confiance by S3NS , צריך להקצות את התפקיד 'בעלים' (
roles/owner).
הקצאת תפקידים
במאמר הענקה, שינוי וביטול גישה מוסבר איך נותנים תפקידים לחשבונות משתמשים.
אפשר להקצות כמה תפקידים לאותו משתמש. במאמר הצגת המטא-נתונים של התפקיד תוכלו לראות את רשימת ההרשאות שכל תפקיד מכיל.
אם אתם מנסים לגשת למשאב Cloud de Confiance ואין לכם את ההרשאות הנדרשות, עליכם לפנות לחשבון המשתמש שמופיע כבעלים של המשאב.
תפקידים בהתאמה אישית
כדי ליצור תפקיד בהתאמה אישית עם הרשאות ל-Logging, מבצעים את הפעולות הבאות:
כדי להקצות תפקיד עם הרשאות ל-Logging API, בוחרים הרשאות מתוך API permissions ופועלים לפי ההוראות ליצירת תפקיד בהתאמה אישית.
כדי להעניק הרשאה להשתמש ב-Logs Explorer, בוחרים מתוך קבוצות ההרשאות בהרשאות במסוף ופועלים לפי ההוראות ליצירת תפקיד בהתאמה אישית.
כדי להקצות תפקיד עם הרשאות לשימוש ב-
gcloud logging, אפשר לעיין בקטע הרשאות של שורת הפקודה בדף הזה ולפעול לפי ההוראות ליצירת תפקיד בהתאמה אישית.
מידע נוסף על תפקידים בהתאמה אישית זמין במאמר הסבר על תפקידים בהתאמה אישית ב-IAM.
הרשאות ב-Cloud Logging
בטבלה הבאה מפורטות חלק מההרשאות שנדרשות לתכונות ספציפיות של Cloud Logging. הטבלה הזו יכולה לעזור לכם לזהות את ההרשאות שאתם צריכים כדי להשתמש בדפים כמו Logs Explorer.
בטבלה, a.b.{x,y} מייצג a.b.x ו-a.b.y.
| פעילות במסוף | ההרשאות הנדרשות |
|---|---|
| הרשאת קריאה בלבד מינימלית | logging.logEntries.list |
| צפייה ביומני ביקורת של גישה לנתונים | logging.privateLogEntries.list |
| הצגת מאגרי נתונים | logging.sinks.{list, get} |
| צפייה בשימוש ביומנים | logging.usage.get |
| הורדת היומנים | logging.logEntries.{list, download}
כדי להוריד יומנים, צריך רק אחת מההרשאות האלה. צריך להעניק תפקידים שמכילים את ההרשאות להורדת יומנים ברמת הפרויקט. לא ניתן להוריד יומנים אם תפקיד שמכיל את ההרשאות האלה מוענק בקובץ מדיניות IAM של תצוגת יומן. |
| הצגת רשימה של היקפי היומן | logging.logScopes.{get, list} |
| צפייה באוסף תצוגות יומן (log scope) ברירת המחדל | observability.scopes.get |
| החרגת יומנים | logging.exclusions.{list, create, get, update, delete}
כשיוצרים תפקיד בהתאמה אישית שכולל הרשאות לניהול מסנני החרגה, מוסיפים לתפקיד את ההרשאות |
| יצירה של sinks ושימוש בהם | logging.sinks.{list, create, get, update, delete}
כשיוצרים יעד, צריך גם להקצות לחשבון השירות תפקיד ב-IAM שמאפשר לו לכתוב רשומות ביומן ליעד. מידע נוסף מופיע במאמר בנושא הגדרת הרשאות ליעד. אחרי שהרשומות ביומן מנותבות ליעד נתמך, הגישה לרשומות ביומן נשלטת באופן מלא על ידי ההרשאות והתפקידים ב-IAM ביעד. |
| שמירה ושימוש בשאילתות פרטיות | logging.queries.usePrivatelogging.queries.{listShared,getShared} |
| שמירה ושימוש בשאילתות משותפות | logging.queries.{share, getShared, updateShared, deleteShared,
listShared} |
| שימוש בשאילתות מהזמן האחרון | logging.queries.{create, list} |
| יצירה וניהול של היקפי יומן | logging.logScopes.{create, delete, get, list, update} |
| הגדרה וניהול של אוסף תצוגות יומן (log scope) ברירת המחדל | observability.scopes.{get, update} |
הרשאות לשורת הפקודה
הפקודות של gcloud logging נשלטות על ידי הרשאות IAM.
כדי להשתמש בפקודות gcloud logging, למשתמשים צריכה להיות הרשאה serviceusage.services.use.
בנוסף, לחשבון המשתמש צריכה להיות הרשאת IAM שמתאימה למשאב של היומן ולתרחיש השימוש. פרטים נוספים מופיעים במאמר בנושא הרשאות לממשק שורת הפקודה.