ב-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. בקטעים אחרים בדף הזה מופיע מידע על תפקידים או הרשאות לתרחישים ספציפיים לדוגמה.
בהמשך הקטע הזה מוסבר איך נותנים לחשבון משתמש גישה לקטגוריות של יומנים, או גישה רק לחלק מהרשומות בקטגוריה של יומנים.
מתן גישה לקטגוריות של יומנים
התפקיד "צפייה ביומנים" (roles/logging.viewer) מאפשר לחשבון הראשי לגשת לכל נתוני היומנים שמאוחסנים בקטגוריות היומנים _Required ו-_Default, חוץ מיומני הגישה לנתונים. אם חשבון משתמש צריך גישה ליומני הגישה לנתונים, צריך להקצות לו את התפקיד "צפייה ביומנים פרטיים" (roles/logging.privateLogViewer).
בדליים של יומנים בהתאמה אישית, אתם יכולים לתת גישה לתצוגה _AllLogs או לתצוגה בהתאמה אישית של היומנים. כלי הרישום יוצר באופן אוטומטי את התצוגה _AllLogs, שכוללת את כל רשומות היומן במאגר היומנים. כדי לתת גישה לתצוגת יומנים, צריך להוסיף קישור IAM למדיניות ה-IAM שמצורפת לתצוגת היומנים או לפרויקט. למידע נוסף, קראו את המאמר שליטה בגישה לתצוגת יומן.
ב-Logging יש גם תמיכה בתגים בדליים של יומנים, שיכולים לעזור לכם להבין את העלויות. אפשר גם להשתמש בתגים כדי למנוע ממשתמש למחוק קטגוריית יומנים. מידע נוסף זמין במאמר שימוש בתגים לניהול הגישה לקטגוריות של יומנים.
מתן גישה לחלק מהרשומות ביומן בקטגוריית יומנים
כדי לתת לחשבון משתמש גישה רק לחלק מהרשומות ביומן שמאוחסנות בקטגוריית יומנים, יוצרים תצוגת יומנים ואז נותנים לחשבון המשתמש גישה לתצוגת היומנים. לדוגמה, אתם יכולים ליצור תצוגת יומנים בקטגוריית היומנים _Default שכוללת רק רשומות ביומן שסוג המשאב שלהן הוא מכונה של Compute Engine.
במאמר הגדרת תצוגות של יומנים בקטגוריית יומנים מוסבר איך ליצור תצוגות של יומנים ואיך לתת גישה לתצוגה.
תפקידים מוגדרים מראש
ב-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, צריך להקצות לו אחד מהתפקידים הבאים:- כדי לקבל גישה לכל היומנים בקטגוריה
_Required, וגישה לתצוגה_Defaultבקטגוריה_Default, צריך להקצות את התפקיד "צפייה ביומנים" (roles/logging.viewer). - כדי לקבל גישה לכל היומנים בקטגוריות
_Requiredו-_Default, כולל יומני הגישה לנתונים, צריך להקצות את התפקיד "צפייה ביומנים פרטיים" (roles/logging.privateLogViewer).
- כדי לקבל גישה לכל היומנים בקטגוריה
כדי לאפשר למשתמש לקרוא יומנים בכל תצוגות היומנים שבפרויקט, צריך להקצות לו את תפקיד ה-IAM
roles/logging.viewAccessorבפרויקט.כדי לאפשר למשתמש לקרוא רק יומנים בתצוגת יומן ספציפית, יש שתי אפשרויות:
יוצרים מדיניות IAM לתצוגת היומן, ואז מוסיפים למדיניות הזו קישור IAM שנותן לחשבון המשתמש גישה לתצוגת היומן.
מקצים לחשבון המשתמש את תפקיד ה-IAM
roles/logging.viewAccessorבפרויקט שמכיל את תצוגת היומן, אבל מצרפים תנאי IAM כדי להגביל את ההקצאה לתצוגת היומן הספציפית.
במאמר הגדרת תצוגות של יומנים בקטגוריית יומנים מוסבר איך יוצרים תצוגות של יומנים ונותנים גישה.
כדי לאפשר למשתמש לכתוב יומנים באמצעות Logging API, צריך להקצות לו את התפקיד "כתיבת יומנים" (
roles/logging.logWriter). התפקיד הזה לא מעניק הרשאות צפייה.כדי לאפשר לחשבון השירות של כיור לנתב יומנים לקטגוריה בפרויקט אחר ב- Google Cloud , צריך להקצות לחשבון השירות את התפקיד "כתיבה בקטגוריית יומנים" (
roles/logging.bucketWriter). הוראות להענקת הרשאות לחשבון שירות מפורטות במאמר הגדרת הרשאות יעד.
תפקידים ברמת הפרויקט
כדי לתת גישת צפייה לרוב שירותי Google Cloud , צריך להקצות את התפקיד "צפייה" (
roles/viewer).התפקיד הזה כולל את כל ההרשאות שניתנות על ידי התפקיד "צפייה ביומנים" (
roles/logging.viewer).כדי לתת גישת עריכה לרוב שירותי Google Cloud , צריך להקצות את התפקיד "עריכה" (
roles/editor).התפקיד הזה כולל את כל ההרשאות שניתנות על ידי התפקיד "צפייה ביומנים" (
roles/logging.viewer), ואת ההרשאות לכתיבת רשומות ביומן ולמחיקת יומנים. עם זאת, התפקיד הזה לא מאפשר למשתמשים ליצור sinks, לקרוא יומני ביקורת של בקרת הרשאות גישה לנתונים שנמצאים בקטגוריה_Defaultאו לקרוא יומנים שנמצאים בקטגוריות של יומנים שהוגדרו על ידי משתמשים.כדי לתת גישה מלאה לרוב שירותי Google Cloud , צריך להקצות את התפקיד "בעלים" (
roles/owner).
הקצאת תפקידים
במאמר הענקה, שינוי וביטול הגישה מוסבר איך נותנים תפקידים לחשבונות משתמשים.
אתם יכולים להקצות לאותו משתמש כמה תפקידים. במאמר הצגת המטא-נתונים של התפקיד תוכלו לראות את רשימת ההרשאות שכל תפקיד מכיל.
אם אתם מנסים לגשת למשאב Google Cloud ואין לכם את ההרשאות הנדרשות, פנו לחשבון המשתמש שרשום כבעלים של המשאב.
תפקידים בהתאמה אישית
כדי ליצור תפקיד בהתאמה אישית עם הרשאות רישום ביומן:
כדי להקצות הרשאות לתפקיד ב-Logging API, בוחרים הרשאות מתוך הרשאות API ופועלים לפי ההוראות ליצירת תפקיד בהתאמה אישית.
כדי להעניק הרשאות לשימוש ב-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} |
| הצגת אוסף תצוגות היומן שמוגדר כברירת מחדל | observability.scopes.get |
| החרגת יומנים | logging.exclusions.{list, create, get, update, delete}
כשיוצרים תפקיד בהתאמה אישית שכולל הרשאות לניהול מסנני החרגה, צריך להוסיף לתפקיד את ההרשאות |
| יצירה ושימוש בכיורים | logging.sinks.{list, create, get, update, delete}
כשיוצרים כיור, צריך גם להקצות לחשבון השירות תפקיד ב-IAM שמאפשר לו לכתוב רשומות ביומן ביעד. מידע נוסף זמין במאמר הגדרת הרשאות יעד. אחרי שהרשומות ביומנים מנותבות ליעד נתמך, הגישה אליהן נשלטת באופן מלא על ידי ההרשאות והתפקידים ב-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} |
הרשאות לשורת הפקודה
הפקודות של gcloud logging נשלטות על ידי הרשאות IAM.
כדי להשתמש בפקודות של gcloud logging, לחשבונות המשתמשים צריכה להיות ההרשאה serviceusage.services.use.
לחשבון המשתמש צריך להיות גם תפקיד IAM שתואם למשאב של היומן ולתרחיש לדוגמה. למידע נוסף, קראו את המאמר בנושא הרשאות לממשק שורת הפקודה.