אינדקס
-
IAMPolicy(ממשק) -
Binding(הודעה) -
GetIamPolicyRequest(הודעה) -
GetPolicyOptions(הודעה) -
Policy(הודעה) -
SetIamPolicyRequest(הודעה) -
TestIamPermissionsRequest(הודעה) -
TestIamPermissionsResponse(הודעה)
IAMPolicy
סקירה כללית על API
ניהול כללי המדיניות של ניהול זהויות והרשאות גישה (IAM).
כל הטמעה של API שמציע תכונות של בקרת גישה מטמיעה את הממשק google.iam.v1.IAMPolicy.
מודל נתונים
בקרת הגישה מופעלת כשגורם ראשי (משתמש או חשבון שירות) מבצע פעולה כלשהי במשאב שנחשף על ידי שירות. משאבים, שמזוהים באמצעות שמות דמויי URI, הם היחידה של הגדרת בקרת הגישה. ההטמעות של השירות יכולות לבחור את רמת הפירוט של בקרת הגישה ואת ההרשאות הנתמכות למשאבים שלהן. לדוגמה, שירות מסד נתונים אחד עשוי לאפשר הגדרת בקרת גישה רק ברמת הטבלה, בעוד ששירות אחר עשוי לאפשר הגדרת בקרת גישה גם ברמת העמודה.
מבנה המדיניות
See google.iam.v1.Policy
ממשק ה-API הזה לא מבוסס על סגנון CRUD בכוונה, כי מדיניות בקרת הגישה נוצרת ונמחקת באופן מרומז עם המשאבים שהיא מצורפת אליהם.
| GetIamPolicy |
|---|
|
מקבלת את מדיניות בקרת הגישה למשאב. אם המשאב קיים ולא מוגדרת לו מדיניות, הפונקציה מחזירה מדיניות ריקה.
|
| SetIamPolicy |
|---|
|
הגדרת מדיניות בקרת הגישה במשאב שצוין. היא מחליפה כל מדיניות קיימת. יכול להחזיר שגיאות
|
| TestIamPermissions |
|---|
|
הפונקציה מחזירה את ההרשאות שיש למבצע הקריאה במשאב שצוין. אם המשאב לא קיים, הפונקציה תחזיר קבוצה ריקה של הרשאות, ולא שגיאה מסוג הערה: הפעולה הזו מיועדת ליצירת ממשקי משתמש מבוססי הרשאות וכלים של שורת הפקודה, ולא לבדיקת הרשאות. יכול להיות שהפעולה הזו תיכשל בלי התראה.
|
קישור
משייכים members או מנהלים עם role.
| שדות | |
|---|---|
role |
התפקיד שמוקצה לרשימה של סקירה כללית של התפקידים וההרשאות ב-IAM זמינה במסמכי ה-IAM. רשימת התפקידים המוגדרים מראש זמינה כאן. |
members[] |
מציין את חשבונות המשתמשים שמבקשים גישה למשאב ב-Google Cloud.
|
condition |
התנאי שמשויך לקישור הזה. אם התנאי מקבל את הערך אם התנאי מקבל את הערך במאמרי העזרה של IAM מוסבר אילו משאבים תומכים בתנאים במדיניות ה-IAM שלהם. |
GetIamPolicyRequest
הודעת בקשה לשיטה GetIamPolicy.
| שדות | |
|---|---|
resource |
חובה: המשאב שעבורו מתבקשת המדיניות. במאמר שמות משאבים מוסבר מהו הערך המתאים לשדה הזה. |
options |
אופציונלי: אובייקט |
GetPolicyOptions
הגדרה שמספקת את ההגדרות ל-GetIamPolicy.
| שדות | |
|---|---|
requested_policy_version |
זה שינוי אופציונלי. גרסת המדיניות המקסימלית שתשמש לעיצוב המדיניות. הערכים התקינים הם 0, 1 ו-3. בקשות שבהן צוין ערך לא תקין יידחו. בבקשות למדיניות עם קישורי תפקידים מותנים צריך לציין את גרסה 3. במדיניות ללא קישורי תפקידים מותנים אפשר לציין כל ערך תקין או להשאיר את השדה לא מוגדר. יכול להיות שהמדיניות בתשובה תשתמש בגרסת המדיניות שציינתם, או בגרסת מדיניות נמוכה יותר. לדוגמה, אם מציינים גרסה 3, אבל למדיניות אין קישורי תפקידים מותנים, התשובה משתמשת בגרסה 1. במאמרי העזרה של IAM מוסבר אילו משאבים תומכים בתנאים במדיניות ה-IAM שלהם. |
מדיניות
מדיניות ניהול הזהויות והרשאות הגישה (IAM), שמציינת את אמצעי בקרת הגישה למשאבים ב-Google Cloud.
Policy הוא אוסף של bindings. binding מקשרת members אחד או יותר, או חשבונות משתמשים, לrole יחיד. חשבונות ראשיים יכולים להיות חשבונות משתמשים, חשבונות שירות, קבוצות Google ודומיינים (כמו G Suite). role היא רשימה של הרשאות עם שם. כל role יכול להיות תפקיד מוגדר מראש ב-IAM או תפקיד בהתאמה אישית שנוצר על ידי משתמש.
בסוגים מסוימים של משאבים ב-Google Cloud, אפשר גם לציין condition ב-binding. condition הוא ביטוי לוגי שמאפשר גישה למשאב רק אם הערך של הביטוי הוא true. תנאי יכול להוסיף מגבלות על סמך מאפיינים של הבקשה, של המשאב או של שניהם. במאמרי העזרה של IAM מוסבר אילו משאבים תומכים בתנאים במדיניות ה-IAM שלהם.
דוגמה ל-JSON:
{
"bindings": [
{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-project-id@appspot.gserviceaccount.com"
]
},
{
"role": "roles/resourcemanager.organizationViewer",
"members": [
"user:eve@example.com"
],
"condition": {
"title": "expirable access",
"description": "Does not grant access after Sep 2020",
"expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
}
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
דוגמה ל-YAML:
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-project-id@appspot.gserviceaccount.com
role: roles/resourcemanager.organizationAdmin
- members:
- user:eve@example.com
role: roles/resourcemanager.organizationViewer
condition:
title: expirable access
description: Does not grant access after Sep 2020
expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
etag: BwWWja0YfJA=
version: 3
למידע על IAM והמאפיינים שלו, תוכלו לעיין במסמכי העזרה של IAM.
| שדות | |
|---|---|
version |
מציין את הפורמט של המדיניות. הערכים התקפים הם בכל פעולה שמשפיעה על קישורי תפקידים מותנים צריך לציין את הגרסה
חשוב לדעת: אם משתמשים בתנאים של IAM, צריך לכלול את השדה אם מדיניות לא כוללת תנאים, בפעולות שמתבצעות במדיניות הזו אפשר לציין כל גרסה תקינה או להשאיר את השדה ללא הגדרה. במאמרי העזרה של IAM מוסבר אילו משאבים תומכים בתנאים במדיניות ה-IAM שלהם. |
bindings[] |
משייך רשימה של ה- |
etag |
חשוב לדעת: אם משתמשים בתנאים של IAM, צריך לכלול את השדה |
SetIamPolicyRequest
הודעת בקשה לשיטה SetIamPolicy.
| שדות | |
|---|---|
resource |
חובה: המשאב שעבורו מציינים את המדיניות. במאמר שמות משאבים מוסבר מהו הערך המתאים לשדה הזה. |
policy |
חובה: המדיניות המלאה שתחול על |
TestIamPermissionsRequest
הודעת בקשה לשיטה TestIamPermissions.
| שדות | |
|---|---|
resource |
חובה: המשאב שעבורו מתבקשים פרטי המדיניות. במאמר שמות משאבים מוסבר מהו הערך המתאים לשדה הזה. |
permissions[] |
קבוצת ההרשאות לבדיקה עבור |
TestIamPermissionsResponse
הודעת תגובה לשיטה TestIamPermissions.
| שדות | |
|---|---|
permissions[] |
קבוצת משנה של |