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

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

לדוגמה, אם אתם משתמשים ב-BigQuery כדי לנתח את נתוני החיוב ב-Cloud, אתם יכולים לצרף את התג project:production למאגרי יומנים שמאחסנים נתוני יומנים ממשאבי ייצור, ואת התג project:development למאגרי יומנים שמאחסנים נתוני יומנים ממשאבי פיתוח. לאחר מכן, תוכלו להריץ שאילתות על נתוני החיוב ב-Cloud באמצעות תגים ולראות פירוט של העלויות בין סביבת הפיתוח לסביבת הייצור.

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

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

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

  1. מוודאים שיצרתם תג והגדרתם את הערכים שלו. משתמשים ב-Resource Manager כדי לנהל את הגדרות התגים. מידע על יצירה וניהול של תגים זמין במאמר יצירה וניהול של תגים.
  2. כדי לקבל את ההרשאות שדרושות לניהול של מאגרי יומנים באמצעות תגים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט או בארגון:

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

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

    ההרשאות הנדרשות

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

    • מוסיפים או מסירים תגים לדליים של יומנים:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • resourcemanager.projects.get
      • logging.buckets.createTagbinding
      • logging.buckets.deleteTagBinding
    • כדי לראות את התגים שמצורפים למאגרי יומנים:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • logging.buckets.listTagBindings
      • logging.buckets.listEffectiveTags

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

  3. כדי לקבל את ההרשאה שנדרשת לניהול קטגוריות של יומנים, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Logs Configuration Writer ‏ (roles/logging.configWriter) בפרויקט. להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

    התפקיד המוגדר מראש הזה מכיל את ההרשאה logging.buckets.list, שנדרשת לניהול של קטגוריות של יומנים.

    יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.

צירוף תגים לקטגוריית יומנים

כדי לצרף תג לקטגוריית יומנים:

מסוף Google Cloud

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

    כניסה אל Logs Storage

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

  2. מאתרים את קטגוריית היומנים שאליה רוצים לצרף תג.

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

  4. בתיבת הדו-שיח, בקטע Direct tags, מאתרים את התג על ידי בחירת המשאב שבו התג נוצר. לדוגמה, כדי להשתמש בתג שנוצר ברמת הפרויקט, בוחרים באפשרות בחירת הפרויקט הנוכחי כהיקף.

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

  5. בוחרים את צמד המפתח/ערך המתאים ולוחצים על שמירה.

  6. תופיע תיבת דו-שיח לאישור השינויים. לוחצים על אישור כדי לשמור את השינויים.

gcloud

כדי לצרף תג לקטגוריית יומנים, יוצרים קישור תגים על ידי הפעלת הפקודה gcloud resource-manager tags bindings create:

gcloud resource-manager tags bindings create \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

בפקודה הקודמת, מחליפים את הפרטים הבאים:

  • TAG_VALUE_ID: המזהה הקבוע או השם ממרחב השמות של ערך התג. לדוגמה, tagValues/4567890123. מידע נוסף על מזהי תגים זמין במאמר הגדרות ומזהים של תגים.

  • BUCKET_NAME: השם של קטגוריה ביומן. לדוגמה, //logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: המיקום של מאגר היומנים.

API

כדי לצרף תג לקטגוריית יומנים, משתמשים בשיטה tagBindings.create.

Terraform

כדי לצרף תג לקטגוריית יומנים באמצעות Terraform, מבצעים אחת מהפעולות הבאות:

  • כדי ליצור משאב של קישור בין תגים עבור מאגרי יומנים במיקום global, משתמשים ב-google_tags_tag_binding
  • לקטגוריות אזוריות של יומנים, יוצרים משאב של קישור בין תגים באמצעות google_tags_location_tag_binding.

לאחר מכן מריצים את הפקודה terraform apply כדי להחיל את השינויים.

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

כדי לראות את התגים שמצורפים לקטגוריה ביומן:

מסוף Google Cloud

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

    כניסה אל Logs Storage

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

  2. מאתרים את קטגוריית היומן שרוצים להציג את התגים שלה.

    בעמודה Tags (תגים), מופיע תג שמשויך לקטגוריה ביומן. כדי לראות את כל התגים שמשויכים לקטגוריית היומנים, לוחצים על הכפתור עוד כדי להרחיב את רשימת התגים.

gcloud

מריצים את הפקודה gcloud resource-manager tags bindings list:

gcloud resource-manager tags bindings list \
--parent=BUCKET_NAME \
--location=LOCATION

בפקודה הקודמת, מחליפים את הפרטים הבאים:

  • BUCKET_NAME: השם של קטגוריה ביומן. לדוגמה, //logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: המיקום של מאגר היומנים.

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

namespacedTagKey: 961309089256/environment
namespacedTagValue: 961309089256/environment/production
tagKey: tagKeys/417628178507
tagValue: tagValues/247197504380
inherited: true

אם כל התגים מצורפים באופן מפורש לקטגוריה ביומן ולא מתבצעת ירושה של תגים, הערך בשדה inherited הוא false והשדה מושמט.

API

כדי לקבל רשימה של קישורי תגים לקטגוריה, משתמשים בשיטה tagBindings.list.

Terraform

אפשר להשתמש ב-Terraform כדי לצרף תג לקטגוריית יומנים. עם זאת, אי אפשר להשתמש ב-Terraform כדי להציג את התגים.

הסרת תגים מקטגוריית יומנים

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

מסוף Google Cloud

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

    כניסה אל Logs Storage

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

  2. מאתרים את קטגוריה ביומן שרוצים להסיר ממנו את התג.

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

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

  5. תופיע תיבת דו-שיח לאישור השינויים. לוחצים על אישור כדי לשמור את השינויים.

gcloud

מריצים את הפקודה gcloud resource-manager tags bindings delete:

gcloud resource-manager tags bindings delete \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

בפקודה הקודמת, מחליפים את הפרטים הבאים:

  • TAG_VALUE_ID: המזהה הקבוע או השם ממרחב השמות של ערך התג. לדוגמה, tagValues/4567890123. מידע נוסף על מזהי תגים זמין במאמר הגדרות ומזהים של תגים.

  • BUCKET_NAME: השם של קטגוריה ביומן. לדוגמה, //logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: המיקום של מאגר היומנים.

API

כדי להסיר תג מקטגוריית יומנים, משתמשים בשיטה tagBindings.delete.

Terraform

כדי להסיר תג מקטגוריית יומנים באמצעות Terraform, מוחקים את משאב הקישור של התג בהגדרה, ואז מריצים את הפקודה terraform apply כדי להחיל את השינויים.

מגבלות

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

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

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

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

ב-Cloud Logging, ההרשאות הבאות ב-IAM לא תקפות כשמתן התפקיד כולל תנאי IAM:

  • logging.buckets.list
  • logging.buckets.create

לכן, יכול להיות שתצטרכו ליצור תפקיד אחד עם ההרשאות list ו-create, ותפקיד אחר עם הרשאות אחרות שספציפיות למאגר. לדוגמה, אפשר ליצור תפקיד שמכיל את ההרשאות logging.buckets.delete ו-logging.buckets.update.

כשנותנים את התפקיד שמכיל את ההרשאות list ו-create, לא מצרפים תנאי IAM למתן התפקיד. כשמקצים את התפקיד שמכיל את ההרשאות delete ו-update, אפשר להוסיף תנאי IAM שמגביל את ההקצאה למשאבים עם תג ספציפי.

המאמרים הבאים