Binding

משייכת members, או ישויות, ל-role.

ייצוג ב-JSON
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object (Expr)
  }
}
שדות
role

string

התפקיד שמוקצה לרשימה של members או חשבונות משתמשים. לדוגמה, roles/viewer,‏ roles/editor או roles/owner.

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

members[]

string

מציין את חשבונות המשתמשים שמבקשים גישה למשאב ב-Google Cloud. ‫members יכול לקבל את הערכים הבאים:

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

  • allAuthenticatedUsers: מזהה מיוחד שמייצג את כל מי שאומת באמצעות חשבון Google או חשבון שירות. לא כולל זהויות שמגיעות מספקי זהויות חיצוניים (IdPs) דרך איחוד זהויות.

  • user:{emailid}: כתובת אימייל שמייצגת חשבון Google ספציפי. לדוגמה, alice@example.com .

  • serviceAccount:{emailid}: כתובת אימייל שמייצגת חשבון שירות של Google. לדוגמה, my-other-app@appspot.gserviceaccount.com.

  • serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: מזהה של חשבון שירות של Kubernetes. לדוגמה, my-project.svc.id.goog[my-namespace/my-kubernetes-sa].

  • group:{emailid}: כתובת אימייל שמייצגת קבוצה ב-Google. לדוגמה, admins@example.com.

  • domain:{domain}: הדומיין (הראשי) של G Suite שמייצג את כל המשתמשים בדומיין הזה. לדוגמה, google.com או example.com.
  • principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: זהות יחידה במאגר זהויות של כוח עבודה.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{groupId}: כל הזהויות של כוח העבודה בקבוצה.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attributeName}/{attribute_value}: כל הזהויות של כוח העבודה עם ערך מאפיין ספציפי.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: כל הזהויות במאגר זהויות של כוח עבודה.

  • principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: זהות יחידה במאגר זהויות של עומסי עבודה.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{groupId}: קבוצה במאגר הזהויות של עומסי העבודה.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attributeName}/{attribute_value}: כל הזהויות במאגר זהויות של כוח עבודה עם מאפיין מסוים.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: כל הזהויות במאגר הזהויות של עומסי העבודה.

  • deleted:user:{emailid}?uid={uniqueid}: כתובת אימייל (בתוספת מזהה ייחודי) שמייצגת משתמש שנמחק לאחרונה. לדוגמה, alice@example.com?uid=123456789012345678901. אם המשתמש שוחזר, הערך הזה חוזר ל-user:{emailid} והמשתמש ששוחזר שומר על התפקיד בהרשאה.

  • deleted:serviceAccount:{emailid}?uid={uniqueid}: כתובת אימייל (בתוספת מזהה ייחודי) שמייצגת חשבון שירות שנמחק לאחרונה. לדוגמה, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. אם מבטלים את המחיקה של חשבון השירות, הערך הזה חוזר להיות serviceAccount:{emailid} וחשבון השירות שבוטלה המחיקה שלו שומר על התפקיד בקישור.

  • deleted:group:{emailid}?uid={uniqueid}: כתובת אימייל (בתוספת מזהה ייחודי) שמייצגת קבוצת Google שנמחקה לאחרונה. לדוגמה, admins@example.com?uid=123456789012345678901. אם הקבוצה משוחזרת, הערך הזה חוזר ל-group:{emailid} והקבוצה המשוחזרת שומרת על התפקיד בהתאמה.

  • deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: זהות יחידה שנמחקה במאגר זהויות של כוח עבודה. לדוגמה, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value.

condition

object (Expr)

התנאי שמשויך לקשירה הזו.

אם התנאי מקבל את הערך true, הקישור הזה חל על הבקשה הנוכחית.

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

במאמרי העזרה של IAM מוסבר אילו משאבים תומכים בתנאים במדיניות ה-IAM שלהם.

Expr

מייצג ביטוי טקסטואלי בתחביר של Common Expression Language ‏ (CEL). ‫CEL היא שפת ביטויים שדומה ל-C. התחביר והסמנטיקה של CEL מתועדים בכתובת https://github.com/google/cel-spec.

דוגמה (השוואה):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

דוגמה (שוויון):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

דוגמה (לוגיקה):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

דוגמה (שינוי נתונים):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

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

ייצוג ב-JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
שדות
expression

string

ייצוג טקסטואלי של ביטוי בתחביר של Common Expression Language.

title

string

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

description

string

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

location

string

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