ב-Cloud Logging משתמשים בתפקידים ובהרשאות של ניהול זהויות והרשאות גישה (IAM) כדי לקבוע מי יכול לראות, לכתוב ולנהל את המשאבים של Logging. התפקידים ב-IAM קובעים אם אתם יכולים ליצור קטגוריות או אובייקטים מסוג sink של יומנים, לקרוא נתוני יומנים שמאוחסנים בקטגוריית יומנים או לגשת לדפים כמו מציג היומנים. כשמפעילים פקודה של Cloud Logging API או של Google Cloud CLI, תפקידי ה-IAM קובעים גם אם יש לכם הרשאה להריץ את הפקודה.
סקירה כללית
התפקידים שלכם ב-IAM קובעים אילו פעולות אתם יכולים לבצע ב-Logging. תפקיד הוא אוסף של הרשאות. כשנותנים לחשבון משתמש תפקיד, הוא מקבל את כל ההרשאות שבתפקיד. אתם יכולים להקצות לאותו חשבון משתמש תפקידים מרובים.
תפקידי IAM מוקצים למשאב, כמו פרויקט, תיקייה, קטגוריה או ארגון ב- Google Cloud . לדוגמה, אתם יכולים לתת לחשבון המשתמש את התפקיד "צפייה ביומנים" (roles/logging.viewer) בפרויקט Google Cloud מסוים.
בקטעים תפקידים מוגדרים מראש ותפקידים ב-Logging שבדף הזה מפורט מידע מקיף על התפקידים וההרשאות ב-Logging. בקטעים אחרים בדף הזה מופיע מידע על תפקידים או הרשאות לתרחישים ספציפיים לדוגמה.
בקטע הזה נסביר איך נותנים לחשבון משתמש גישה לקטגוריות של יומנים, או גישה רק לחלק מהרשומות ביומן שבקטגוריית היומנים. בנוסף, מוסבר איך להגביל את הגישה לשדות מסוימים ב-LogEntry.
מתן גישה לקטגוריות של יומנים
התפקיד "צפייה ביומנים" (roles/logging.viewer) מאפשר לחשבון הראשי לגשת לכל נתוני היומנים שמאוחסנים בקטגוריות היומנים _Required ו-_Default, חוץ מיומני הגישה לנתונים. אם חשבון משתמש צריך גישה ליומני הגישה לנתונים, צריך להקצות לו את התפקיד "צפייה ביומנים פרטיים" (roles/logging.privateLogViewer).
בדליים של יומנים בהתאמה אישית, אתם יכולים לתת גישה לתצוגה _AllLogs או לתצוגה של יומן בהתאמה אישית. כלי הרישום יוצר באופן אוטומטי את התצוגה _AllLogs, שכוללת את כל רשומות היומן שבמאגר היומנים. כדי לתת גישה לתצוגת יומנים, צריך להוסיף קישור IAM למדיניות ה-IAM שמצורפת לתצוגת היומנים או לפרויקט. למידע נוסף, קראו את המאמר שליטה בגישה לתצוגת יומן.
בכלי Logging אפשר גם להוסיף תגים לקטגוריות של יומנים, כדי להבין את העלויות. אפשר גם להשתמש בתגים כדי למנוע ממשתמש למחוק קטגוריית יומנים. מידע נוסף זמין במאמר שימוש בתגים לניהול הגישה לקטגוריות של יומנים.
מתן גישה לחלק מהרשומות ביומן בקטגוריית יומנים
כדי לתת לחשבון משתמש גישה רק לחלק מהרשומות ביומן שמאוחסנות בקטגוריית יומנים, יוצרים תצוגת יומנים ואז נותנים לחשבון המשתמש גישה לתצוגת היומנים. לדוגמה, אתם יכולים ליצור תצוגת יומנים בקטגוריית היומנים _Default שכוללת רק רשומות ביומן שסוג המשאב שלהן הוא מכונה של Compute Engine.
במאמר הגדרת תצוגות של יומנים בקטגוריית יומנים מוסבר איך ליצור תצוגות של יומנים ואיך להעניק גישה לתצוגה.
הגבלת הגישה לשדות ספציפיים של LogEntry
כדי להגביל את הגישה לשדות ספציפיים במבנה הנתונים של LogEntry, צריך להגדיר אמצעי בקרת גישה ברמת השדה בקטגוריית היומנים שבה מאוחסנים הנתונים. לדוגמה, ביעד היומנים _Default, אתם יכולים להגביל את הגישה לשדה jsonPayload במבנה הנתונים LogEntry, ואז לתת לאדמינים גישה לשדה הזה. מידע נוסף זמין במאמר הגדרת אמצעי בקרה על הגישה ברמת השדה.
אי אפשר להגביל שדות בתיקיית יומנים ששודרגה לשימוש ב-Observability Analytics. באופן דומה, אם קטגוריית יומנים מכילה שדה מוגבל, אי אפשר לשדרג אותה כדי להשתמש ב-Observability Analytics.
תפקידים מוגדרים מראש
ב-IAM יש תפקידים מוגדרים מראש שמאפשרים לתת גישה פרטנית למשאבים ספציפיים ב- Google Cloud ולמנוע גישה לא רצויה למשאבים אחרים. Google Cloud יוצרת את התפקידים האלה, מנהלת אותם ומעדכנת אוטומטית את ההרשאות שלהם לפי הצורך, למשל כשנוספות תכונות חדשות ל-Logging.
בטבלה הבאה מפורטים התפקידים המוגדרים מראש ל-Logging. בטבלה מוצגים שם התפקיד, התיאור, ההרשאות שהוא מכיל וסוג המשאב הנמוך ביותר בהיררכיה שאפשר לתת בו את התפקיד. אתם יכולים להקצות את התפקידים המוגדרים מראש ברמת הפרויקט, או ברוב המקרים בכל סוג של רמה גבוהה יותר בהיררכיית המשאבים. Google Cloud כדי להגביל את התפקיד "גישה לתצוגת יומנים" לתצוגת יומן בקטגוריה, משתמשים במאפייני משאבים לתנאי 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" (
roles/logging.admin).כדי לאפשר למשתמש ליצור ולשנות הגדרות של רישום ביומן, צריך להקצות לו את התפקיד "כתיבת הגדרות של יומנים" (
roles/logging.configWriter). התפקיד הזה מאפשר ליצור או לשנות את הפריטים הבאים:התפקיד הזה לא מספיק כדי ליצור מדדים מבוססי-יומנים או כללי מדיניות התראה מבוססי-יומנים. למידע על התפקידים שנדרשים למשימות האלה, קראו את המאמרים הרשאות למדדים מבוססי-יומנים והרשאות לכללי מדיניות התראה מבוססי-יומנים.
כדי לאפשר למשתמש לקרוא יומנים בקטגוריות
_Requiredו-_Defaultאו להשתמש בדפים Logs Explorer ו-Observability Analytics, צריך לתת לו אחד מהתפקידים הבאים:- כדי לקבל גישה לכל היומנים בקטגוריה
_Required, וגישה לתצוגה_Defaultבקטגוריה_Default, צריך להקצות את התפקיד "צפייה ביומנים" (roles/logging.viewer). - כדי לקבל גישה לכל היומנים בקטגוריות
_Requiredו-_Default, כולל יומני הגישה לנתונים, צריך להקצות את התפקיד "צפייה ביומנים פרטיים" (roles/logging.privateLogViewer).
- כדי לקבל גישה לכל היומנים בקטגוריה
כדי לאפשר למשתמש לקרוא יומנים בכל תצוגות היומנים שבפרויקט, צריך להקצות לו את תפקיד ה-IAM
roles/logging.viewAccessorבפרויקט.כדי לאפשר למשתמש רק לקרוא יומנים בתצוגת יומנים ספציפית, יש שתי אפשרויות:
יוצרים מדיניות IAM לתצוגת היומן, ואז מוסיפים למדיניות הזו קישור IAM שנותן לחשבון המשתמש גישה לתצוגת היומן.
נותנים לחשבון המשתמש את תפקיד ה-IAM
roles/logging.viewAccessorבפרויקט שמכיל את תצוגת היומן, אבל מצרפים תנאי IAM כדי להגביל את ההקצאה לתצוגת היומן הספציפית.
במאמר הגדרת תצוגות של יומנים בקטגוריית יומנים מוסבר איך יוצרים תצוגות של יומנים ונותנים גישה.
- כדי לתת למשתמש גישה לשדות מוגבלים של
LogEntry(אם יש כאלה) בקטגוריית יומנים מסוימת, צריך להקצות לו את התפקיד "גישה לשדות ביומנים" (roles/logging.fieldAccessor). מידע נוסף זמין במאמר הגדרת גישה ברמת השדה.
כדי לאפשר למשתמש לכתוב יומנים באמצעות Logging API, צריך להקצות לו את התפקיד "כתיבת יומנים" (
roles/logging.logWriter). התפקיד הזה לא מעניק הרשאות צפייה.כדי לאפשר לחשבון השירות של הכיור לנתב יומנים לקטגוריה בפרויקט אחר ב- Google Cloud , צריך להקצות לחשבון השירות את התפקיד "כתיבה בקטגוריית יומנים" (
roles/logging.bucketWriter). הוראות להענקת הרשאות לחשבון שירות מפורטות במאמר הגדרת הרשאות יעד.
תפקידים ברמת הפרויקט
כדי לתת גישת צפייה לרוב שירותי Google Cloud , צריך להקצות את התפקיד "צפייה" (
roles/viewer).התפקיד הזה כולל את כל ההרשאות שניתנות על ידי התפקיד "צפייה ביומנים" (
roles/logging.viewer).כדי לתת גישת עריכה לרוב שירותי Google Cloud , צריך להקצות את התפקיד "עריכה" (
roles/editor).התפקיד הזה כולל את כל ההרשאות שניתנות על ידי התפקיד "צפייה ביומנים" (
roles/logging.viewer), ואת ההרשאות לכתוב רשומות ביומן, למחוק יומנים וליצור מדדים מבוססי-יומנים. עם זאת, התפקיד הזה לא מאפשר למשתמשים ליצור כיורים, לקרוא יומני ביקורת של Data Access שנמצאים בקטגוריה_Defaultאו לקרוא יומנים שנמצאים בקטגוריות של יומנים שהוגדרו על ידי משתמשים.כדי לתת גישה מלאה לרוב שירותי Google Cloud , צריך להקצות את התפקיד "בעלים" (
roles/owner).
הקצאת תפקידים
במאמר הענקה, שינוי וביטול הגישה מוסבר איך נותנים תפקידים לחשבונות משתמשים.
אתם יכולים להקצות לאותו משתמש כמה תפקידים. במאמר הצגת המטא-נתונים של התפקיד תוכלו לראות את רשימת ההרשאות שכל תפקיד מכיל.
אם אתם מנסים לגשת למשאב ב- Google Cloud ואין לכם את ההרשאות הנדרשות, פנו לחשבון המשתמש שרשום כבעלים של המשאב.
תפקידים בהתאמה אישית
כדי ליצור תפקיד בהתאמה אישית עם הרשאות ל-Logging:
כדי להקצות הרשאות ל-Logging API, בוחרים הרשאות מתוך הרשאות API ופועלים לפי ההוראות ליצירת תפקיד בהתאמה אישית.
כדי להעניק הרשאות לשימוש ב-Logs Explorer, בוחרים קבוצות הרשאות בהרשאות במסוף, ואז פועלים לפי ההוראות ליצירת תפקיד בהתאמה אישית.
כדי להקצות תפקיד שנותן הרשאות לשימוש ב-
gcloud logging, עיינו בקטע הרשאות בשורת הפקודה בדף הזה, ואז פעלו לפי ההוראות ליצירת תפקיד בהתאמה אישית.
מידע נוסף על תפקידים בהתאמה אישית מופיע במאמר הסבר על תפקידים בהתאמה אישית ב-IAM.
הרשאות ב-Cloud Logging
בטבלה הבאה מופיעה רשימה חלקית של ההרשאות שנדרשות לתכונות ספציפיות של Cloud Logging. הטבלה הזו יכולה לעזור לכם לזהות את ההרשאות שאתם צריכים כדי להשתמש בדפים כמו מציג היומנים.
בטבלה, a.b.{x,y} פירושו a.b.x ו-a.b.y.
| פעילות במסוף | ההרשאות הנדרשות |
|---|---|
| הרשאת קריאה בלבד מינימלית | logging.logEntries.list |
| צפייה ביומני הביקורת של בקרת הרשאות גישה לנתונים | logging.privateLogEntries.list |
| הצגת מדדים מבוססי-יומנים | logging.logMetrics.{list, get} |
| הצגת הכיורים | logging.sinks.{list, get} |
| הצגת השימוש ביומנים | logging.usage.get |
| הורדת היומנים | logging.logEntries.{list, download}
כדי להוריד יומנים, צריך רק אחת מההרשאות האלה. צריך להקצות ברמת הפרויקט תפקידים שכוללים את ההרשאות להורדת יומנים. אי אפשר להוריד יומנים אם תפקיד שמכיל את ההרשאות האלה מוקצה בקובץ המדיניות של IAM בתצוגת היומנים. |
| הצגה של רשימת אוספי תצוגות יומן וצפייה בהם | logging.logScopes.{get, list} |
| הצגת אוסף תצוגות היומן שמוגדר כברירת מחדל | observability.scopes.get |
| החרגת יומנים | logging.exclusions.{list, create, get, update, delete}
כשיוצרים תפקיד בהתאמה אישית שכולל הרשאות לניהול מסנני החרגה, מוסיפים לתפקיד את ההרשאות |
| יצירה ושימוש בכיורים | logging.sinks.{list, create, get, update, delete}
כשיוצרים כיור, צריך גם להקצות לחשבון השירות תפקיד ב-IAM שמאפשר לו לכתוב רשומות ביומן ביעד. מידע נוסף זמין במאמר הגדרת הרשאות יעד. אחרי שהרשומות ביומנים מנותבות ליעד נתמך, הגישה אליהן נשלטת באופן מלא על ידי ההרשאות והתפקידים ב-IAM ביעד. |
| יצירת התראות מבוססות-יומן | למידע נוסף, קראו את המאמר התפקידים הנדרשים כדי ליצור מדיניות התראות מבוססת-יומנים ולהשתמש בה. |
| יצירת מדדים מבוססי-יומנים | logging.logMetrics.{list, create, get, update, delete}
במאמר התפקידים שנדרשים כדי ליצור מדדים מבוססי-יומנים ולהשתמש בהם מפורטים תפקידי IAM נוספים שצריך כדי ליצור מדדים מבוססי-יומנים ולהשתמש בהם. |
| שמירה ושימוש בשאילתות פרטיות | logging.queries.usePrivatelogging.queries.{listShared,getShared} |
| שמירה ושימוש בשאילתות משותפות | logging.queries.{share, getShared, updateShared, deleteShared,
listShared} |
| יצירה וניהול של אוספי תצוגות יומן | logging.logScopes.{create, delete, get, list, update} |
| הגדרה וניהול של אוסף תצוגות היומן שמוגדר כברירת מחדל | observability.scopes.{get, update} |
| יצירה וניהול של תצוגות ניתוח נתונים | observability.analyticsViews.{create, delete, get, list, update} |
| ליצור מערכי נתונים מקושרים של BigQuery | logging.links.{create, delete, get, list}
יכול להיות שתצטרכו תפקידי IAM נוספים כדי לשלוח שאילתות למערך הנתונים המקושר ב-BigQuery. לדוגמה, ההרשאות האלה לא נותנות לכם גישה לממשק של BigQuery. מידע נוסף זמין במאמר BigQuery: בקרת גישה באמצעות IAM. |
הרשאות לשורת הפקודה
הפקודות של gcloud logging נשלטות על ידי הרשאות IAM.
כדי להשתמש בפקודות של gcloud logging, לחשבונות המשתמשים צריכה להיות ההרשאה serviceusage.services.use.
לחשבון המשתמש צריך להיות גם תפקיד IAM שתואם למשאב של היומן ולתרחיש לדוגמה. למידע נוסף, קראו את המאמר בנושא הרשאות לממשק שורת הפקודה.
התפקידים שנדרשים כדי ליצור מדדים מבוססי-יומנים ולהשתמש בהם
בטבלה הבאה מפורטים התפקידים וההרשאות הנפוצים שחשבון משתמש צריך כדי לגשת למדדים מבוססי-יומנים:
התפקיד כותב הגדרות של יומנים (
roles/logging.configWriter) מאפשר לחשבונות הראשיים להציג ברשימה, ליצור, לקבל, לעדכן ולמחוק מדדים מבוססי-יומנים.התפקיד צפייה ביומנים (
roles/logging.viewer) כולל הרשאות לצפייה במדדים קיימים. באופן ספציפי, כדי להציג מדדים קיימים, חשבון משתמש צריך את ההרשאותlogging.logMetrics.getו-logging.logMetrics.list.התפקיד צפייה ב-Monitoring (
roles/monitoring.viewer) כולל את ההרשאות לקריאת נתוני TimeSeries. באופן ספציפי, לחשבון המשתמש צריכה להיות ההרשאהmonitoring.timeSeries.listכדי לקרוא נתונים של סדרות זמן.התפקידים אדמין של Logging (
roles/logging.admin), עריכת פרויקט (roles/editor) ובעלים של פרויקט (roles/owner) כוללים את ההרשאות ליצירת מדדים מבוססי-יומנים. באופן ספציפי, כדי ליצור מדדים מבוססי-יומנים, לחשבון המשתמש צריכה להיות ההרשאהlogging.logMetrics.create.
התפקידים שנדרשים כדי ליצור מדיניות התראות מבוססת-יומנים ולהשתמש בה
בקטע הזה מתוארים התפקידים שצריך כדי ליצור מדיניות התראות מבוססות-יומנים, ערוצי התראות וכללי התראות. ערוצי ההתראות קובעים איך Cloud Monitoring שולח לכם התראות. כלל התראה מתאר איך להתאים בין רשומות היומן הנכנסות לבין מדיניות ההתראות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת מדיניות התראות מבוססות-יומן, ליצירת ערוצי התראות וליצירת כללי ההתראות המשויכים ל-Logging, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- עריכת מדיניות התראות במעקב (
roles/monitoring.alertPolicyEditor) - עריכת ערוצי התראות למעקב (
roles/monitoring.notificationChannelEditor) - כתיבת הגדרות של יומנים (
roles/logging.configWriter)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות כדי ליצור מדיניות התראות מבוססת-יומן, ערוצי התראות וכללי התראות משויכים ב-Logging. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור מדיניות התראות שמבוססת על יומנים, ערוצי התראות וכללי התראות משויכים ב-Logging, צריך את ההרשאות הבאות:
-
monitoring.alertPolicies.create -
monitoring.notificationChannels.create -
logging.notificationRules.create
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
תפקידים נדרשים נוספים למשתמשי Google Cloud CLI
כדי לקבל את ההרשאה שנדרשת ליצירת מדיניות התראה באמצעות Google Cloud CLI, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה serviceusage.services.use, שנדרשת כדי ליצור מדיניות התראות באמצעות Google Cloud CLI.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים מוגדרים מראש.
הרשאות למדיניות התראות שמבוססת על SQL
במדיניות התראה שמבוססת על SQL, המערכת בודקת את התוצאות של שאילתת SQL שמופעלת על נתונים מקבוצות של רשומות ביומן. כדי לדעת אילו תפקידים נדרשים כדי ליצור ולנהל מדיניות התראות שמבוססת על SQL, קראו את הקטע לפני שמתחילים במאמר מעקב אחרי תוצאות של שאילתות SQL באמצעות מדיניות התראות.
היקפי הגישה לרישום ביומן
היקפי גישה הם השיטה הקודמת להגדרת הרשאות לחשבונות השירות במכונות הווירטואליות של Compute Engine.
היקפי הגישה הבאים חלים על Logging API:
| היקף גישה | ההרשאות ניתנו |
|---|---|
| https://www.googleapis.com/auth/logging.read | roles/logging.viewer |
| https://www.googleapis.com/auth/logging.write | roles/logging.logWriter |
| https://www.googleapis.com/auth/logging.admin | גישה מלאה ל-Logging API. |
| https://www.googleapis.com/auth/cloud-platform | גישה מלאה ל-Logging API ולכל ממשקי ה-API האחרים שמופעלים ב- Google Cloud . |
במאמר היקפי גישה מוסבר איך להשתמש בשיטה הקודמת כדי להגדיר את רמות הגישה של חשבונות השירות.