בנושא הזה נסביר איך להוסיף, לשנות ולהסיר קישורי תפקידים מותנים במדיניות ההרשאות של ניהול הזהויות והרשאות הגישה (IAM).
לפני שמתחילים
Enable the IAM API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.בסקירה הכללית על התנאים של IAM תוכלו למצוא הסבר לגבי העקרונות הבסיסיים של קישורי תפקידים מותנים ב-IAM.
בחומר העזר בנושא מאפיינים תוכלו ללמוד על המאפיינים השונים של תנאים שאפשר להשתמש בהם בביטוי.
התפקידים הנדרשים
כדי לנהל קישורי תפקידים מותנים במדיניות הרשאה של משאב, אתם צריכים הרשאות כדי לקבל את המשאב וגם כדי לקבל ולהגדיר את מדיניות ההרשאה של המשאב. ההרשאות האלה מופיעות בפורמט הבא, כאשר SERVICE הוא שם השירות שהמשאב נמצא בבעלותו, ו-RESOURCE_TYPE הוא שם סוג המשאב שרוצים לנהל את הגישה אליו:
SERVICE.RESOURCE_TYPE.getSERVICE.RESOURCE_TYPE.getIamPolicySERVICE.RESOURCE_TYPE.setIamPolicy
לדוגמה, כדי לנהל קישורי תפקידים מותנים במדיניות הרשאה של פרויקט, אתם צריכים את ההרשאות הבאות:
resourcemanager.projects.getresourcemanager.projects.getIamPolicyresourcemanager.projects.setIamPolicy
כדי לקבל את ההרשאות הנדרשות, אתם צריכים לבקש מהאדמין להקצות לכם תפקיד מוגדר מראש או תפקיד מותאם אישית שכולל את ההרשאות. לדוגמה, האדמין יכול לתת לכם את התפקיד אדמין לענייני אבטחה (roles/iam.securityAdmin), שכולל הרשאות גישה כמעט לכל המשאבים שלGoogle Cloud ולניהול מדיניות ההרשאות שלהם.
הוספה של קישור תפקיד מותנה למדיניות
אפשר להוסיף קישורי תפקידים מותנים לכללי מדיניות הרשאות חדשים או קיימים, כדי שתהיה לכם יותר שליטה בגישה למשאבים. Google Cloud בקטע הזה נסביר איך להוסיף תנאי מבוסס-זמן פשוט למדיניות הרשאה קיימת באמצעות מסוף Google Cloud , Google Cloud CLI ו-API בארכיטקטורת REST.
כדי להוסיף קישור תפקיד מותנה למדיניות הרשאה קיימת:
המסוף
נכנסים לדף IAM במסוף Google Cloud .
מאתרים את החשבון הראשי הרצוי מרשימת החשבונות הראשיים ולוחצים על הלחצן .
בחלונית Edit permissions מאתרים את התפקיד שרוצים להגדיר תנאי לגביו. לאחר מכן, בקטע IAM condition (optional), לוחצים על Add IAM condition.
בחלונית Edit condition מזינים שם לתנאי, ואפשר גם להזין תיאור שלו.
אפשר להוסיף ביטוי תנאי באמצעות הכלי להגדרת תנאים או באמצעות עורך התנאים. הכלי להגדרת תנאים הוא ממשק אינטראקטיבי שבו בוחרים את סוג התנאי, האופרטור ופרטים רלוונטיים אחרים של הביטוי. עורך התנאים הוא ממשק מבוסס-טקסט שבו מזינים ידנית ביטוי בתחביר CEL.
הכלי להגדרת תנאים:
- בתפריט הנפתח Condition type בוחרים באפשרות Expiring Access.
- בתפריט הנפתח Operator, בוחרים by.
- בתפריט הנפתח Time, לוחצים על הלחצן כדי לבחור טווח תאריכים ושעות.
- לוחצים על Save כדי להחיל את התנאי.
- לאחר שהחלונית Edit condition נסגרת, לוחצים שוב על Save בחלונית Edit permissions כדי לעדכן את מדיניות ההרשאה.
עורך התנאים:
לוחצים על הכרטיסייה Condition editor ומזינים את הביטוי הבא (מחליפים את חותמת הזמן בביטוי משלכם):
request.time < timestamp("2019-12-31T12:00:00.000Z")
אחרי שמוסיפים את הביטוי, אתם יכולים לבחור לתקף את התחביר של CEL, בלחיצה על Run Linter מעל לתיבת הטקסט בפינה הימנית העליונה.
לוחצים על Save כדי להחיל את התנאי.
לאחר שהחלונית Edit condition נסגרת, לוחצים שוב על Save בחלונית Edit permissions כדי לעדכן את מדיניות ההרשאה.
gcloud
כללי מדיניות ההרשאות מוגדרים באמצעות התבנית קריאה-שינוי-כתיבה.
כדי לאחזר את מדיניות ההרשאה הנוכחית של הפרויקט, מפעילים את הפקודה gcloud projects get-iam-policy. בדוגמה הבאה, מתבצעת הורדה של גרסת ה-JSON של מדיניות ההרשאה לנתיב בדיסק.
פקודה:
gcloud projects get-iam-policy project-id --format json > file-path
מתבצעת הורדה של פורמט ה-JSON של מדיניות ההרשאה:
{ "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/owner" }, { "members": [ "group:my-group@example.com" ], "role": "roles/iam.securityReviewer" } ], "etag": "BwWKmjvelug=", "version": 1 }
חשוב לשים לב לשדה version הנוכחי של מדיניות ההרשאה, שהערך שלו הוא 1. כדי להגדיר את מדיניות ההרשאה עם הרשאת גישה זמנית, אתם צריכים להוסיף את ביטוי התנאי המודגש הבא (מחליפים את חותמת הזמן לחותמת זמן שלכם). ה-CLI של gcloud מעדכן את הגרסה באופן אוטומטי:
{ "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/owner" }, { "members": [ "group:my-group@example.com" ], "role": "roles/iam.securityReviewer", "condition": { "title": "Expires_2019", "description": "Expires at noon on 2019-12-31", "expression": "request.time < timestamp('2019-12-31T12:00:00Z')" } } ], "etag": "BwWKmjvelug=", "version": 3 }
בשלב הבא מגדירים את מדיניות ההרשאה החדשה על ידי הפעלת הפקודה gcloud projects set-iam-policy:
gcloud projects set-iam-policy project-id file-path
מדיניות ההרשאה החדשה מוחלת, וקישור התפקיד של travis@example.com יפוג בזמן שצוין.
REST
כדי לאפשר גישה עד לזמן ספציפי, אתם צריכים לפעול לפי התבנית של קריאה-שינוי-כתיבה.
קודם כל, קוראים את מדיניות ההרשאה של הפרויקט:
ה-method projects.getIamPolicy של ה-API של מנהל המשאבים מחזירה את מדיניות ההרשאות של הפרויקט.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project. -
POLICY_VERSION: גרסת המדיניות שתוחזר. בבקשות צריך לציין את הגרסה הכי עדכנית של המדיניות (3). פרטים נוספים מופיעים במאמר ציון גרסת מדיניות בזמן אחזור מדיניות.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
תוכן בקשת JSON:
{
"options": {
"requestedPolicyVersion": POLICY_VERSION
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"version": 1,
"etag": "BwWKmjvelug=",
"bindings": [
{
"role": "roles/owner",
"members": [
"user:my-user@example.com"
]
},
{
"role": "roles/iam.securityReviewer",
"members": [
"group:my-group@example.com"
]
}
]
}
חשוב לשים לב לשדה version הנוכחי של מדיניות ההרשאה, שהערך שלו הוא 1.
לאחר מכן, משנים את מדיניות ההרשאה כדי שהיא תאפשר גישה עד לזמן ספציפי. חשוב לוודא ששיניתם את השדה version לערך 3:
{ "etag": "BwWKmjvelug=", "version": 3, "bindings": [ { "role": "roles/owner", "members": [ "user:my-user@example.com" ] }, { "role": "roles/iam.securityReviewer", "condition": { "title": "Expires_2019", "description": "Expires at noon on 2019-12-31", "expression": "request.time < timestamp('2019-12-31T12:00:00Z')" }, "members": [ "group:my-group@example.com" ] } ] }
לבסוף, כותבים את מדיניות ההרשאה המעודכנת:
ה-method projects.setIamPolicy של ה-API של מנהל המשאבים מגדירה את מדיניות ההרשאה שנשלחה בבקשה בתור המדיניות החדשה של הפרויקט.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
תוכן בקשת JSON:
{
"policy": {
"version": 3,
"etag": "BwWKmjvelug=",
"bindings": [
{
"role": "roles/owner",
"members": [
"user:my-user@example.com"
]
},
{
"role": "roles/iam.securityReviewer",
"members": [
"group:my-group@example.com"
],
"condition": {
"title": "Expires_July_1_2020",
"description": "Expires on July 1, 2020",
"expression":
"request.time < timestamp('2020-07-01T00:00:00.000Z')"
}
}
]
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
התגובה מכילה את מדיניות ההרשאה המעודכנת.
שינוי של קישור תפקיד מותנה קיים
אחרי שיצרתם קישור תפקיד מותנה, תוכלו לשנות את ביטוי התנאי בכל שלב. בקטע הזה נסביר איך לעדכן תנאי מבוסס-זמן במדיניות הרשאה קיימת באמצעותGoogle Cloud מסוף Google Cloud, Google Cloud CLI ו-API בארכיטקטורת REST.
כדי לשנות קישור תפקיד מותנה במדיניות הרשאה קיימת:
המסוף
נכנסים לדף IAM במסוף Google Cloud .
מאתרים את החשבון הראשי הרצוי מרשימת החשבונות הראשיים ולוחצים על הלחצן .
בחלונית Edit permissions מאתרים את התפקיד שרוצים להגדיר תנאי לגביו. לאחר מכן, בקטע IAM condition (optional), לוחצים על השם של התנאי הקיים כדי לערוך אותו.
בחלונית Edit condition אפשר לשמור או לעדכן את השם והתיאור הקיימים של התנאי.
תוכלו לערוך את ביטוי התנאי הקיים או להוסיף ביטוי חדש באמצעות הכלי להגדרת תנאים או עורך התנאים. הכלי להגדרת תנאים הוא ממשק אינטראקטיבי שבו בוחרים את סוג התנאי, האופרטור ופרטים רלוונטיים אחרים של הביטוי. עורך התנאים הוא ממשק מבוסס-טקסט שבו מזינים ידנית ביטוי בתחביר CEL.
הכלי להגדרת תנאים:
- מוסיפים ביטוי תנאי חדש או משנים את ביטוי התנאי הקיים.
- לוחצים על Save כדי להחיל את התנאי.
- לאחר שהחלונית Edit condition נסגרת, לוחצים שוב על Save בחלונית Edit permissions כדי לעדכן את מדיניות ההרשאה.
עורך התנאים:
- לוחצים על הכרטיסייה Condition editor ומוסיפים ביטוי תנאי חדש או משנים את ביטוי התנאי הקיים.
- אחרי שמוסיפים את הביטוי, אתם יכולים לבחור לתקף את התחביר של CEL, בלחיצה על Run Linter מעל לתיבת הטקסט בפינה הימנית העליונה.
- לוחצים על Save כדי להחיל את התנאי.
- לאחר שהחלונית Edit condition נסגרת, לוחצים שוב על Save בחלונית Edit permissions כדי לעדכן את מדיניות ההרשאה.
gcloud
כללי מדיניות ההרשאות מוגדרים באמצעות התבנית קריאה-שינוי-כתיבה.
כדי לאחזר את מדיניות ההרשאה הנוכחית של הפרויקט, מפעילים את הפקודה gcloud projects get-iam-policy. בדוגמה הבאה, מתבצעת הורדה של גרסת ה-JSON של מדיניות ההרשאה לנתיב בדיסק.
פקודה:
gcloud projects get-iam-policy project-id --format json > file-path
מתבצעת הורדה של פורמט ה-JSON של מדיניות ההרשאה:
{ "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/owner" }, { "members": [ "group:my-group@example.com" ], "role": "roles/bigquery.dataViewer", "condition": { "title": "Duration_3_months", "description": "Expires in 3 months on 2019-10-12", "expression": "request.time > timestamp(\"2019-07-12T07:00:00.000Z\") && request.time < timestamp(\"2019-10-12T07:00:00.000Z\")" } } ], "etag": "BwWKmjvelug=", "version": 3 }
בדוגמה הזו, נעדכן את ערכי title, description וחותמת הזמן בביטוי כדי לשנות את משך הזמן של תנאי הגישה המתוזמן. מעדכנים את הקטע המודגש הבא של התנאי (ומחליפים את הערכים בערכים משלכם):
{ "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/owner" }, { "members": [ "group:my-group@example.com" ], "role": "roles/bigquery.dataViewer", "condition": { "title": "Duration_5_months", "description": "Expires in 5 months on 2020-01-12", "expression": "request.time > timestamp('2019-07-12T07:00:00.000Z') && request.time < timestamp('2020-01-12T07:00:00.000Z')" } } ], "etag": "BwWKmjvelug=", "version": 3 }
בשלב הבא מגדירים את מדיניות ההרשאה החדשה על ידי הפעלת הפקודה gcloud projects set-iam-policy:
gcloud projects set-iam-policy project-id file-path
מדיניות ההרשאה המעודכנת מוחלת, וקישור התפקיד של fatima@example.com יפוג במועד החדש.
REST
כדי לשנות את קישור התפקיד המותנה, אתם צריכים לפעול לפי התבנית של קריאה-שינוי-כתיבה.
קודם כל, קוראים את מדיניות ההרשאה של הפרויקט:
ה-method projects.getIamPolicy של ה-API של מנהל המשאבים מחזירה את מדיניות ההרשאות של הפרויקט.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
תוכן בקשת JSON:
{
"options": {
"requestedPolicyVersion": 3
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"etag": "BwWKmjvelug=",
"version": 3,
"bindings": [
{
"role": "roles/owner",
"members": [
"user:my-user@example.com"
]
},
{
"role": "roles/bigquery.dataViewer",
"condition": {
"title": "Duration_3_months",
"description": "Expires in 3 months on 2019-10-12",
"expression":
"request.time > timestamp(\"2019-07-12T07:00:00.000Z\") && request.time < timestamp(\"2019-10-12T07:00:00.000Z\")"
},
"members": [
"group:my-group@example.com"
]
}
]
}
בשלב הבא, משנים את קישור התפקיד המותנה במדיניות ההרשאה. בדוגמה הזו נעדכן את הערכים של חותמת הזמן כדי לשנות את משך הזמן של תנאי הגישה המתוזמן. מעדכנים את הקטע המודגש הבא מתוך ביטוי התנאי (ומחליפים את חותמת הזמן בחותמת משלכם):
{ "etag": "BwWKmjvelug=", "version": 3, "bindings": [ { "role": "roles/owner", "members": [ "user:my-user@example.com" ] }, { "role": "roles/bigquery.dataViewer", "condition": { "title": "Duration_5_months", "description": "Expires in 5 months on 2020-01-12", "expression": "request.time > timestamp('2019-07-12T07:00:00.000Z') && request.time < timestamp('2020-01-12T07:00:00.000Z')" }, "members": [ "group:my-group@example.com" ] } ] }
לבסוף, כותבים את מדיניות ההרשאה המעודכנת:
ה-method projects.setIamPolicy של ה-API של מנהל המשאבים מגדירה את מדיניות ההרשאה שנשלחה בבקשה בתור המדיניות החדשה של הפרויקט.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
תוכן בקשת JSON:
{
"policy": {
"etag": "BwWKmjvelug=",
"version": 3,
"bindings": [
{
"role": "roles/owner",
"members": [
"user:my-user@example.com"
]
},
{
"role": "roles/bigquery.dataViewer",
"condition": {
"title": "Duration_5_months",
"description": "Expires in 5 months on 2020-01-12",
"expression":
"request.time > timestamp('2019-07-12T07:00:00.000Z') && request.time < timestamp('2020-01-12T07:00:00.000Z')"
},
"members": [
"group:my-group@example.com"
],
}
]
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
התגובה מכילה את מדיניות ההרשאה המעודכנת.
הסרת תנאי מקישור תפקידים
הסרת תנאי מקישור תפקידים לא מבטלת את התפקיד. במקום זאת, הוא מאפשר לכל החשבונות הראשיים בקישור התפקיד הזה להשתמש בהרשאות בתפקיד ללא תנאי.
בקטע הזה נסביר איך להסיר תנאי מבוסס-זמן במדיניות הרשאה באמצעותGoogle Cloud מסוף Google Cloud, Google Cloud CLI ו-API בארכיטקטורת REST.
כדי להסיר תנאי מקישור תפקידים במדיניות הרשאה:
המסוף
נכנסים לדף IAM במסוף Google Cloud .
מאתרים את החשבון הראשי הרצוי מרשימת החשבונות הראשיים ולוחצים על הלחצן .
בחלונית Edit permissions, מאתרים את קישור התפקיד הרצוי. לאחר מכן, בקטע IAM condition (optional), לוחצים על השם של תנאי קיים.
בחלונית Edit condition, לוחצים על הלחצן כדי להסיר את התנאי. תופיע הנחיה לאשר את מחיקת התנאי.
לאחר שהחלונית Edit condition נסגרת, לוחצים שוב על Save בחלונית Edit permissions כדי לעדכן את מדיניות ההרשאה.
gcloud
כללי מדיניות ההרשאות מוגדרים באמצעות התבנית קריאה-שינוי-כתיבה.
כדי לאחזר את מדיניות ההרשאה הנוכחית של הפרויקט, מפעילים את הפקודה gcloud projects get-iam-policy. בדוגמה הבאה, מתבצעת הורדה של גרסת ה-JSON של מדיניות ההרשאה לנתיב בדיסק.
פקודה:
gcloud projects get-iam-policy project-id --format json > file-path
מתבצעת הורדה של פורמט ה-JSON של מדיניות ההרשאה:
{ "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/owner" }, { "members": [ "group:my-group@example.com" ], "role": "roles/bigquery.dataViewer", "condition": { "title": "Duration_3_months", "description": "Expires in 3 months on 2019-10-12", "expression": "request.time > timestamp(\"2019-07-12T07:00:00.000Z\") && request.time < timestamp(\"2019-10-12T07:00:00.000Z\")" } } ], "etag": "BwWKmjvelug=", "version": 3 }
כדי להסיר את קישור התפקיד המותנה ממדיניות ההרשאה, אתם צריכים להסיר את החסימה של condition כך:
{ "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/owner" }, { "members": [ "group:my-group@example.com" ], "role": "roles/bigquery.dataViewer", } ], "etag": "BwWKmjvelug=", "version": 3 }
הערה: השדה version עדיין מוגדר לערך 3, למרות העובדה שקישורי תפקידים לא מותנים דורשים רק את גרסה 1 של מדיניות ההרשאה. מומלץ להשתמש תמיד במספר הגרסה הגבוה ביותר בהגדרת מדיניות הרשאה, גם לקישורי תפקידים מותנים וגם לקישורי תפקידים לא מותנים. מידע נוסף זמין במאמר דרישות גרסה. ה-CLI של gcloud מעדכן באופן אוטומטי את מספר הגרסה של מדיניות ההרשאה.
בשלב הבא, מגדירים את מדיניות ההרשאה המעודכנת על ידי הפעלת הפקודה gcloud projects set-iam-policy:
gcloud projects set-iam-policy project-id file-path
מדיניות ההרשאה המעודכנת מוחלת, וקישור התפקיד המותנה של fatima@example.com מוסר. התוקף של קישור התפקיד לא יפוג יותר.
REST
כדי להסיר את קישור התפקיד המותנה, אתם צריכים לפעול לפי התבנית של קריאה-שינוי-כתיבה.
קודם כל, קוראים את מדיניות ההרשאה של הפרויקט:
ה-method projects.getIamPolicy של ה-API של מנהל המשאבים מחזירה את מדיניות ההרשאות של הפרויקט.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
תוכן בקשת JSON:
{
"options": {
"requestedPolicyVersion": 3
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"etag": "BwWKmjvelug=",
"version": 3,
"bindings": [
{
"role": "roles/owner",
"members": [
"user:my-user@example.com"
]
},
{
"role": "roles/bigquery.dataViewer",
"condition": {
"title": "Duration_3_months",
"description": "Expires in 3 months on 2019-10-12",
"expression":
"request.time > timestamp(\"2019-07-12T07:00:00.000Z\") && request.time < timestamp(\"2019-10-12T07:00:00.000Z\")"
},
"members": [
"group:my-group@example.com"
]
}
]
}
בשלב הבא, משנים את מדיניות ההרשאה על ידי הסרה של קישור התפקיד המותנה:
{ "etag": "BwWKmjvelug=", "version": 3, "bindings": [ { "role": "roles/owner", "members": [ "user:my-user@example.com" ] }, { "role": "roles/bigquery.dataViewer", "members": [ "group:my-group@example.com" ] } ] }
הערה: השדה version עדיין מוגדר לערך 3, למרות העובדה שקישורי תפקידים לא מותנים דורשים רק את גרסה 1 של מדיניות ההרשאה. מומלץ להשתמש תמיד במספר הגרסה הגבוה ביותר בהגדרת מדיניות הרשאה, גם לקישורי תפקידים מותנים וגם לקישורי תפקידים לא מותנים. מידע נוסף זמין במאמר דרישות גרסה.
לבסוף, כותבים את מדיניות ההרשאה המעודכנת:
ה-method projects.setIamPolicy של ה-API של מנהל המשאבים מגדירה את מדיניות ההרשאה שנשלחה בבקשה בתור המדיניות החדשה של הפרויקט.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
תוכן בקשת JSON:
{
"policy": {
"etag": "BwWKmjvelug=",
"version": 3,
"bindings": [
{
"role": "roles/owner",
"members": [
"user:my-user@example.com"
]
},
{
"role": "roles/bigquery.dataViewer",
"members": [
"group:my-group@example.com"
]
}
]
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
התגובה מכילה את מדיניות ההרשאה המעודכנת.