בדף הזה מוסבר איך למנוע מחשבונות משתמשים להשתמש בהרשאות ספציפיות של ניהול זהויות והרשאות גישה (IAM) כדי לדחות גישה שלהם.
ב-IAM, אפשר לדחות את הגישה באמצעות כללי מדיניות הדחייה. כל מדיניות דחייה מצורפת לארגון, לתיקייה או לפרויקט. Google Cloud מדיניות דחייה כוללת כללי דחייה, שבהם מזוהים חשבונות המשתמשים ורשומות ההרשאות שהם לא יכולים להשתמש בהן.
כללי מדיניות הדחייה אינם קשורים לכללי מדיניות ההרשאה, שנקראים גם כללי מדיניות IAM. מדיניות הרשאה מאפשרת גישה למשאבים באמצעות הקצאת תפקידי IAM לחשבונות המשתמשים.
אפשר לנהל את כללי מדיניות הדחייה באמצעות מסוף Google Cloud , Google Cloud CLI או API בארכיטקטורת REST של IAM v2.
לפני שמתחילים
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.מגדירים אימות.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .
Go
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Go שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .
Java
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Java שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .
Node.js
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Node.js שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .
Python
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .
REST
כדי להשתמש בדוגמאות של API בארכיטקטורת REST שבדף הזה בסביבת פיתוח מקומית, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
כדאי לקרוא את הסקירה הכללית של כללי מדיניות הדחייה.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול כללי מדיניות הדחייה, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בארגון:
-
כדי לצפות בכללי מדיניות הדחייה:
דחיית סוקר (
roles/iam.denyReviewer) -
כדי להציג, ליצור, לעדכן ולמחוק כללי מדיניות דחייה:
דחיית אדמין (
roles/iam.denyAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות לניהול כללי מדיניות הדחייה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
הרשאות נדרשות
כדי לנהל את כללי מדיניות הדחייה נדרשות ההרשאות הבאות:
-
כדי להציג את כללי מדיניות הדחייה:
-
iam.denypolicies.get -
iam.denypolicies.list
-
-
כדי ליצור, לעדכן ולמחוק כללי מדיניות דחייה:
-
iam.denypolicies.create -
iam.denypolicies.delete -
iam.denypolicies.get -
iam.denypolicies.update
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
זיהוי ההרשאות לדחייה
לפני שיוצרים מדיניות דחייה, צריך להחליט אילו הרשאות רוצים לדחות, ובאילו חשבונות המשתמשים יידחו ההרשאות האלה.
אפשר לדחות רק חלק מההרשאות. רשימת ההרשאות שאפשר לדחות מופיעה במאמר ההרשאות שנתמכות בכללי מדיניות הדחייה.
במקרים מסוימים, אפשר גם להשתמש בקבוצות הרשאות כדי לשלול סטים של הרשאות. מידע נוסף זמין במאמר בנושא קבוצות הרשאות.
כללי מדיניות הדחייה מנוהלים באמצעות ה-
v2של API ל-REST, שדורש פורמט מיוחד עבור שמות הרשאות. לדוגמה, ההרשאה ליצירת תפקיד ב-IAM בהתאמה אישית ל-IAM נקראת כך:v1API:iam.roles.createv2API:iam.googleapis.com/roles.create
יצירה של מדיניות דחייה
אפשר להוסיף כללי מדיניות דחייה לארגונים, לתיקיות ולפרויקטים. לכל משאב יכולים להיות עד 500 כללי מדיניות דחייה.
כללי מדיניות הדחייה כוללים כללי דחייה שבהם מפורטים:
- ההרשאות לדחייה.
- חשבונות המשתמשים שעבורם נדחו ההרשאות האלה.
אופציונלי: החרגת חשבונות משתמשים מדחיית הרשאות.
לדוגמה, אפשר לדחות הרשאה לקבוצה, אבל להחריג משתמשים מסוימים ששייכים לקבוצה הזו.
אופציונלי: ביטוי תנאי שמציין את הזמן שבו חשבונות המשתמשים לא יכולים להשתמש בהרשאות. בכללי מדיניות דחייה אפשר להשתמש בביטויי תנאי רק בפונקציות של תגי משאבים – אין תמיכה בפונקציות ובאופרטורים אחרים.
לכל משאב יכולים להיות עד 500 כללי דחייה בכל כללי מדיניות הדחייה שמצורפים אליו.
כללי מדיניות הדחייה עוברים בירושה דרך היררכיית המשאבים. לדוגמה, אם דוחים הרשאה ברמת הארגון, ההרשאה הזו תידחה גם בתיקיות ובפרויקטים שבארגון, ובמשאבים הספציפיים לשירות בתוך כל פרויקט.
כללי מדיניות הדחייה מבטלים את כללי מדיניות ההרשאה. אם מקצים לחשבון המשתמש תפקיד שמכיל הרשאה מסוימת, אבל במדיניות הדחייה מצויין שלחשבון המשתמש אין אפשרות להשתמש בהרשאה הזו, הוא לא יכול להשתמש בהרשאה.
המסוף
במסוף Google Cloud , עוברים לכרטיסייה Deny בדף IAM.
בוחרים פרויקט, תיקייה או ארגון.
לוחצים על יצירה של מדיניות דחייה.
בקטע Policy name, מגדירים את מזהה המדיניות באחת מהדרכים הבאות:
- בשדה שם לתצוגה, מזינים שם לתצוגה של המדיניות. מילוי השדה הזה ימלא אוטומטית את השדה מזהה. אם רוצים לשנות את המזהה של המדיניות, מעדכנים את הטקסט בשדה מזהה.
- בשדה ID, מזינים מזהה למדיניות.
בקטע Deny rules (כללי דחייה), מגדירים את כללי הדחייה של המדיניות. כל מדיניות דחייה חייבת לכלול לפחות כלל דחייה אחד. כדי להוסיף עוד כללי דחייה, לוחצים על הוספת כלל דחייה.
לכל כלל דחייה, מבצעים את הפעולות הבאות:
- בשדה Denied principals, מוסיפים חשבון משתמש אחד או יותר שרוצים למנוע ממנו להשתמש בהרשאות שצוינו. החשבון הראשי יכול להיות כל אחד מסוגי החשבונות שמופיעים במזהים של חשבונות משתמשים בכללי מדיניות הדחייה, חוץ מחשבונות משתמשים שהמזהים שלהם מתחילים ב-
deleted:. אופציונלי: בשדה Exception principals, מוסיפים את חשבונות המשתמשים שרוצים לאפשר להם להשתמש בהרשאות שצוינו, גם אם החשבונות האלה כלולים בקטע Denied principals. לדוגמה, אפשר להשתמש בשדה הזה כדי להחריג משתמשים ספציפיים ששייכים לקבוצה שנדחתה.
בקטעים Denied permissions, מוסיפים את ההרשאות שרוצים לדחות. ההרשאות חייבות להיות נתמכות בכללי מדיניות הדחייה.
במקרים מסוימים, אפשר גם להשתמש בקבוצות הרשאות כדי לדחות סטים של הרשאות. מידע נוסף זמין במאמר בנושא קבוצות הרשאות.
אופציונלי: מוסיפים הרשאות חריגות. הרשאות חריגות הן הרשאות שלא רוצים שהכלל הזה של מדיניות הדחייה ידחה, גם אם הן כלולות ברשימת ההרשאות שנדחות. לדוגמה, אפשר להשתמש בשדה הזה כדי להחריג הרשאות ספציפיות בקבוצת הרשאות.
כדי להוסיף הרשאות חריגות, לוחצים על הרשאות חריגות, לוחצים על הוספת הרשאה נוספת ומזינים את ההרשאה בשדה הרשאה 1. ממשיכים להוסיף הרשאות עד שמוסיפים את כל ההרשאות שרוצים להחריג ממדיניות הדחייה.
אופציונלי: מוסיפים תנאי דחייה כדי לציין מתי חשבונות המשתמשים לא יכולים להשתמש בהרשאה. כדי להוסיף תנאי דחייה, לוחצים על הוספת תנאי דחייה ומגדירים את השדות הבאים:
- כותרת: אופציונלי. סיכום קצר של מטרת התנאי.
- תיאור: אופציונלי. תיאור ארוך יותר של התנאי.
ביטוי תנאי: אפשר להוסיף ביטוי תנאי באמצעות הכלי להגדרת תנאים או עורך התנאים. הכלי להגדרת תנאים הוא ממשק אינטראקטיבי שבו בוחרים את סוג התנאי, האופרטור ופרטים רלוונטיים אחרים של הביטוי. עורך התנאים הוא ממשק מבוסס-טקסט שבו מזינים ידנית ביטוי בתחביר Common Expression Language (CEL).
תנאי הדחייה חייבים להתבסס על תגי משאבים. אין תמיכה בפונקציות ובאופרטורים אחרים.
- בשדה Denied principals, מוסיפים חשבון משתמש אחד או יותר שרוצים למנוע ממנו להשתמש בהרשאות שצוינו. החשבון הראשי יכול להיות כל אחד מסוגי החשבונות שמופיעים במזהים של חשבונות משתמשים בכללי מדיניות הדחייה, חוץ מחשבונות משתמשים שהמזהים שלהם מתחילים ב-
לוחצים על יצירה.
gcloud
כדי ליצור מדיניות דחייה למשאב, קודם יוצרים קובץ JSON שמכיל את המדיניות. אפשר להשתמש בפורמט הבא בשביל מדיניות דחייה:
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }
מציינים את הערכים הבאים:
POLICY_NAME: השם המוצג של מדיניות הדחייה.-
DENY_RULE_1,DENY_RULE_2,...DENY_RULE_N: כללי הדחייה במדיניות. כל כלל דחייה יכול להכיל את השדות הבאים:-
deniedPermissions: רשימה של הרשאות שחשבונות המשתמשים שצוינו לא יכולים להשתמש בהן. ההרשאות חייבות להיות בתמיכה של כללי מדיניות הדחייה.במקרים מסוימים, אפשר גם להשתמש בקבוצות הרשאות כדי לשלול סטים של הרשאות. מידע נוסף זמין במאמר בנושא קבוצות הרשאות.
-
exceptionPermissions: רשימה של הרשאות שחשבונות המשתמשים שצוינו יכולים להשתמש בהן, גם אם ההרשאות האלה כלולות ב-deniedPermissions. לדוגמה, אפשר להשתמש בשדה הזה כדי להחריג הרשאות ספציפיות בקבוצת הרשאות. -
deniedPrincipals: רשימה של חשבונות משתמשים שלא יכולים להשתמש בהרשאות שצוינו. מידע על הפורמט של מזהי חשבונות משתמשים מופיע במאמר מזהים של חשבונות משתמשים בכללי מדיניות הדחייה. -
exceptionPrincipals: אופציונלי. רשימה של חשבונות משתמשים שיכולים להשתמש בהרשאות שצוינו, גם אם החשבונות האלה כלולים ב-deniedPrincipals. לדוגמה, ניתן להשתמש בשדה הזה כדי להחריג משתמשים ספציפיים ששייכים לקבוצה שנדחתה. מידע על הפורמט של מזהי חשבונות משתמשים מופיע במאמר מזהים של חשבונות משתמשים בכללי מדיניות הדחייה. -
denialCondition: אופציונלי. ביטוי תנאי שמציין את הזמן שבו חשבונות המשתמשים לא יכולים להשתמש בהרשאות. מכיל את השדות הבאים:-
expression: ביטוי תנאי שמשתמש בתחביר של Common Expression Language (CEL). הביטוי צריך לכלול את הפונקציות של CEL כדי להעריך תגי משאבים. אין תמיכה בפונקציות ובאופרטורים אחרים. -
title: אופציונלי. סיכום קצר של מטרת התנאי. -
description: אופציונלי. תיאור ארוך יותר של התנאי.
-
דוגמאות של כללי דחייה מופיעים במאמר תרחישים נפוצים לדוגמה.
-
לדוגמה, מדיניות הדחייה הבאה מכילה כלל דחייה אחד שדוחה הרשאה אחת ללוסיאן:
{ "displayName": "My deny policy.", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }לאחר מכן, מריצים את הפקודה
gcloud iam policies create:gcloud iam policies create POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
מציינים את הערכים הבאים:
-
POLICY_ID: המזהה של מדיניות הדחייה. -
ATTACHMENT_POINT: מזהה של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף. -
POLICY_FILE: הנתיב של קובץ ה-JSON שמכיל את מדיניות הדחייה.
כברירת מחדל, אם הפקודה הזו מצליחה, היא לא מדפיסה פלט. כדי להדפיס תגובה מפורטת, מוסיפים את הדגל
--format=jsonלפקודה.לדוגמה, אפשר להשתמש בפקודה הבאה כדי ליצור מדיניות דחייה בשם
my-deny-policyלפרויקטmy-projectבאמצעות הקובץpolicy.json:gcloud iam policies create my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.jsonTerraform
במאמר פקודות בסיסיות ב-Terraform אפשר לקרוא הסבר על החלה של הגדרות Terraform ועל הסרה שלהן. למידע נוסף, ראו את מאמרי העזרה לספקים של Terraform.
Go
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Go API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Node.js
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Node.js API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
REST
השיטה
policies.createPolicyיוצרת מדיניות דחייה למשאב.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
ENCODED_ATTACHMENT_POINT: מזהה בקידוד כתובת URL של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף. POLICY_ID: מזהה של מדיניות הדחייה.POLICY_NAME: השם המוצג של מדיניות הדחייה.-
DENY_RULE_1,DENY_RULE_2,...DENY_RULE_N: כללי הדחייה במדיניות. כל כלל דחייה יכול להכיל את השדות הבאים:-
deniedPermissions: רשימה של הרשאות שחשבונות המשתמשים שצוינו לא יכולים להשתמש בהן. ההרשאות חייבות להיות בתמיכה של כללי מדיניות הדחייה.במקרים מסוימים, אפשר גם להשתמש בקבוצות הרשאות כדי לשלול סטים של הרשאות. מידע נוסף זמין במאמר בנושא קבוצות הרשאות.
-
exceptionPermissions: רשימה של הרשאות שחשבונות המשתמשים שצוינו יכולים להשתמש בהן, גם אם ההרשאות האלה כלולות ב-deniedPermissions. לדוגמה, אפשר להשתמש בשדה הזה כדי להחריג הרשאות ספציפיות בקבוצת הרשאות. -
deniedPrincipals: רשימה של חשבונות משתמשים שלא יכולים להשתמש בהרשאות שצוינו. מידע על הפורמט של מזהי חשבונות משתמשים מופיע במאמר מזהים של חשבונות משתמשים בכללי מדיניות הדחייה. -
exceptionPrincipals: אופציונלי. רשימה של חשבונות משתמשים שיכולים להשתמש בהרשאות שצוינו, גם אם החשבונות האלה כלולים ב-deniedPrincipals. לדוגמה, ניתן להשתמש בשדה הזה כדי להחריג משתמשים ספציפיים ששייכים לקבוצה שנדחתה. מידע על הפורמט של מזהי חשבונות משתמשים מופיע במאמר מזהים של חשבונות משתמשים בכללי מדיניות הדחייה. -
denialCondition: אופציונלי. ביטוי תנאי שמציין את הזמן שבו חשבונות המשתמשים לא יכולים להשתמש בהרשאות. מכיל את השדות הבאים:-
expression: ביטוי תנאי שמשתמש בתחביר של Common Expression Language (CEL). הביטוי צריך לכלול את הפונקציות של CEL כדי להעריך תגי משאבים. אין תמיכה בפונקציות ובאופרטורים אחרים. -
title: אופציונלי. סיכום קצר של מטרת התנאי. -
description: אופציונלי. תיאור ארוך יותר של התנאי.
-
דוגמאות של כללי דחייה מופיעים במאמר תרחישים נפוצים לדוגמה.
-
שיטת ה-HTTP וכתובת ה-URL:
POST https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies?policyId=POLICY_ID
תוכן בקשת JSON:
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורה להתקבל תגובת JSON שדומה לזו:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2022-06-28T19:06:12.455151Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }התגובה מזהה פעולה ממושכת. אפשר לעקוב אחר הסטטוס של פעולה ממושכת כדי לדעת מתי היא מסתיימת. אפשר למצוא פרטים נוספים בקטע בדיקת הסטטוס של פעולה ממושכת שבדף הזה.
הצגה של רשימת הכללים של מדיניות הדחייה
משאב יכול לכלול כמה כללי מדיניות דחייה. אפשר לכלול ברשימה את כל כללי מדיניות הדחייה שמצורפים למשאב, ואז להציג כל מדיניות בנפרד כדי לראות את כללי הדחייה בכל מדיניות.
המסוף
במסוף Google Cloud , עוברים לכרטיסייה Deny בדף IAM.
בוחרים פרויקט, תיקייה או ארגון.
במסוף Google Cloud מפורטות כל מדיניות הדחייה שחלה על הפרויקט, התיקייה או הארגון. זה כולל כללי מדיניות דחייה שהועברו בירושה ממשאבים אחרים. מידע נוסף על ירושה של מדיניות דחייה
gcloud
כדי לכלול ברשימה את כללי מדיניות הדחייה למשאב, מריצים את הפקודה
gcloud iam policies list:gcloud iam policies list \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
מציינים את הערך הבא:
-
ATTACHMENT_POINT: מזהה של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף.
לדוגמה, הפקודה הבאה מציגה ברשימה כללי מדיניות דחייה שמצורפים לארגון שהמזהה המספרי שלו הוא
123456789012:gcloud iam policies list \ --attachment-point=cloudresourcemanager.googleapis.com/organizations/123456789012 \ --kind=denypolicies \ --format=jsonGo
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Go API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Node.js
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Node.js API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
REST
השיטה
policies.listPoliciesמציגה ברשימה את כללי מדיניות הדחייה של משאב.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
ENCODED_ATTACHMENT_POINT: מזהה בקידוד כתובת URL של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "policies": [ { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-2", "uid": "8465d710-ea20-0a08-d92c-b2a3ebf766ab", "kind": "DenyPolicy", "displayName": "My second deny policy.", "createTime": "2022-06-05T19:21:53.595455Z", "updateTime": "2022-06-05T19:21:53.595455Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-3", "uid": "ee9f7c2f-7e8c-b05c-d4e5-e03bfb2954e0", "kind": "DenyPolicy", "displayName": "My third deny policy.", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z" } ] }הצגת מדיניות הדחייה
אפשר להציג את מדיניות הדחייה כדי לראות את כללי הדחייה שלה. הם כוללים את ההרשאות שנדחו ואת חשבונות המשתמשים שלא יכולים להשתמש בהרשאות האלה.
המסוף
במסוף Google Cloud , עוברים לכרטיסייה Deny בדף IAM.
בוחרים פרויקט, תיקייה או ארגון.
בעמודה מזהה המדיניות, לוחצים על המזהה של המדיניות שרוצים לראות.
במסוף Google Cloud מוצגים הפרטים של מדיניות הדחייה, כולל מזהה המדיניות, המועד שבו נוצרה המדיניות וכללי הדחייה במדיניות הדחייה.
gcloud
כדי לקבל את מדיניות הדחייה של משאב, מריצים את הפקודה
gcloud iam policies get:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
מציינים את הערכים הבאים:
-
POLICY_ID: המזהה של מדיניות הדחייה. -
ATTACHMENT_POINT: מזהה של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף.
לדוגמה, הפקודה הבאה מקבלת את מדיניות הדחייה
my-deny-policyשל הפרויקטmy-projectושומרת אותה בקובץpolicy.json.gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.jsonGo
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Go API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Node.js
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Node.js API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
REST
השיטה
policies.getמקבלת מדיניות דחייה למשאב.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
ENCODED_ATTACHMENT_POINT: מזהה בקידוד כתובת URL של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף. POLICY_ID: מזהה של מדיניות הדחייה.
שיטת ה-HTTP וכתובת ה-URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }עדכון של מדיניות הדחייה
אחרי יצירת מדיניות דחייה, אפשר לעדכן את כללי הדחייה שהיא כוללת ואת השם המוצג שלה.
אפשר לעדכן מדיניות דחייה באמצעות מסוף Google Cloud או באמצעות אחת מהשיטות הבאות:
- ה-CLI של gcloud
- API בארכיטקטורת REST
- ספריות הלקוח של IAM
עדכון של מדיניות הדחייה באמצעות Google Cloud המסוף
במסוף Google Cloud , עוברים לכרטיסייה Deny בדף IAM.
בוחרים פרויקט, תיקייה או ארגון.
בעמודה מזהה המדיניות, לוחצים על המזהה של המדיניות שרוצים לערוך.
לוחצים על עריכה.
מעדכנים את מדיניות הדחייה:
- כדי לשנות את השם המוצג של המדיניות, עורכים את השדה שם לתצוגה.
- כדי לערוך כלל דחייה קיים, לוחצים על כלל הדחייה ואז משנים את חשבונות המשתמש של הכלל, חשבונות המשתמש של החריג, ההרשאות שנדחו, הרשאות החריג או תנאי הדחייה.
- כדי להסיר כלל דחייה, מוצאים את כלל הדחייה שרוצים למחוק ולוחצים על מחיקה באותה שורה.
- כדי להוסיף כלל דחייה, לוחצים על הוספת כלל דחייה ויוצרים כלל דחייה כמו שיוצרים מדיניות דחייה.
כשמסיימים לעדכן את מדיניות הדחייה, לוחצים על שמירה.
עדכון של מדיניות הדחייה באופן פרוגרמטי
כדי לעדכן מדיניות דחייה באמצעות ה-CLI של gcloud, ה-API בארכיטקטורת REST או ספריות הלקוח של IAM, צריך להשתמש בתבנית קריאה-תיקון-כתיבה:
- קוראים את הגרסה הנוכחית של המדיניות.
- מתקנים את המידע במדיניות בהתאם לצורך.
- כותבים את המדיניות העדכנית.
קריאת מדיניות הדחייה
gcloud
כדי לקבל את מדיניות הדחייה של משאב, מריצים את הפקודה
gcloud iam policies get:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
מציינים את הערכים הבאים:
-
POLICY_ID: המזהה של מדיניות הדחייה. -
ATTACHMENT_POINT: מזהה של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף.
לדוגמה, הפקודה הבאה מקבלת את מדיניות הדחייה
my-deny-policyשל הפרויקטmy-projectושומרת אותה בקובץpolicy.json.gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.jsonGo
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Go API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Node.js
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Node.js API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
REST
השיטה
policies.getמקבלת מדיניות דחייה למשאב.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
ENCODED_ATTACHMENT_POINT: מזהה בקידוד כתובת URL של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף. POLICY_ID: מזהה של מדיניות הדחייה.
שיטת ה-HTTP וכתובת ה-URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }תיקון מדיניות הדחייה
כדי לתקן את מדיניות הדחייה, צריך לערוך שינויים בעותק של המדיניות שקראת בעבר מ-IAM. אפשר לעדכן את השם המוצג, או להוסיף, לשנות או להסיר כללי דחייה. השינויים לא ייכנסו לתוקף עד לכתיבת המדיניות העדכנית.
לדוגמה, אפשר להוסיף הרשאה לכלל דחייה שכבר קיים:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2021-10-05T19:22:26.770543Z", "updateTime": "2021-10-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] }
כתיבה של מדיניות הדחייה העדכנית
אחרי התיקון של מדיניות הדחייה באופן מקומי, צריך לכתוב את מדיניות הדחייה העדכנית ב-IAM.
כל מדיניות דחייה מכילה שדה
etagשמזהה את גרסת המדיניות. השדהetagמשתנה בכל פעם שמעדכנים את המדיניות. כשכותבים את המדיניות העדכנית, הערך שלetagבבקשה צריך להיות זהה לערך בשדהetagהנוכחי ששמור ב-IAM. אם הערכים יהיו שונים, הבקשה תיכשל. התכונה הזו עוזרת למנוע משינויים שקורים בו זמנית להחליף אחד את השני.gcloud
כדי לעדכן את מדיניות הדחייה של משאב, מריצים את הפקודה
gcloud iam policies update:gcloud iam policies update POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
מציינים את הערכים הבאים:
-
POLICY_ID: המזהה של מדיניות הדחייה. -
ATTACHMENT_POINT: מזהה של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף. -
POLICY_FILE: הנתיב של קובץ ה-JSON שמכיל את מדיניות הדחייה.
כברירת מחדל, אם הפקודה הזו מצליחה, היא לא מדפיסה פלט. כדי להדפיס תגובה מפורטת, מוסיפים את הדגל
--format=jsonלפקודה.לדוגמה, אפשר להשתמש בפקודה הבאה כדי לעדכן מדיניות דחייה בשם
my-deny-policyשל הפרויקטmy-project, באמצעות הקובץpolicy.json:gcloud iam policies update my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.jsonGo
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Go API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Node.js
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Node.js API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
REST
השיטה
policies.updateמעדכנת מדיניות דחייה.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
ENCODED_ATTACHMENT_POINT: מזהה בקידוד כתובת URL של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף. POLICY_ID: מזהה של מדיניות הדחייה.-
POLICY: מדיניות הדחייה העדכנית.לדוגמה, כדי להוסיף הרשאה למדיניות שצוינה בשלב הקודם, מחליפים את
POLICYבערך הבא:{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] }
שיטת ה-HTTP וכתובת ה-URL:
PUT https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
תוכן בקשת JSON:
POLICY
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורה להתקבל תגובת JSON שדומה לזו:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8b2d0ab2daf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T22:26:21.968687Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTgxNTIxNDE3NTYxNjQxODYxMTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T22:26:21.968687Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] } }התגובה מזהה פעולה ממושכת. אפשר לעקוב אחר הסטטוס של פעולה ממושכת כדי לדעת מתי היא מסתיימת. אפשר למצוא פרטים נוספים בקטע בדיקת הסטטוס של פעולה ממושכת שבדף הזה.
מחיקת מדיניות דחייה
אם לא רוצים יותר לאכוף את הכללים במדיניות דחייה, אפשר למחוק אותה.
לחלופין, אפשר לציין את השדה
etagשל גרסת המדיניות שרוצים למחוק. אם מציינים את הערך של השדהetag, הוא צריך להתאים לערך בשדהetagהנוכחי ששמור ב-IAM. אם הערכים יהיו שונים, הבקשה תיכשל. כך תוכלו לוודא שאתם מוחקים את המדיניות שרציתם, ולא גרסה עדכנית של המדיניות הזו.אם משמיטים את השדה
etagמהבקשה, תתבצע מחיקה מוחלטת של המדיניות מ-IAM.המסוף
במסוף Google Cloud , עוברים לכרטיסייה Deny בדף IAM.
בוחרים פרויקט, תיקייה או ארגון.
בעמודה מזהה המדיניות, לוחצים על המזהה של המדיניות שרוצים למחוק.
לוחצים על מחיקה. בתיבת הדו-שיח לאישור, לוחצים על אישור.
gcloud
כדי למחוק מדיניות דחייה ממשאב, מריצים את הפקודה
gcloud iam policies delete:gcloud iam policies delete POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies
מציינים את הערכים הבאים:
-
POLICY_ID: המזהה של מדיניות הדחייה. -
ATTACHMENT_POINT: מזהה של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף.
אפשר גם להוסיף את הדגל
--etag=ETAG. מחליפים את הערך בשדהETAGבערך שבשדהetagהנוכחי של מדיניות הדחייה.כברירת מחדל, אם הפקודה הזו מצליחה, היא לא מדפיסה פלט. כדי להדפיס תגובה מפורטת, מוסיפים את הדגל
--format=jsonלפקודה.לדוגמה, באמצעות הפקודה הבאה אפשר למחוק מדיניות דחייה בשם
my-deny-policyמהפרויקטmy-project:gcloud iam policies delete my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypoliciesGo
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Go API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Node.js
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Node.js API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
REST
השיטה
policies.deleteמוחקת מדיניות דחייה ממשאב.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
ENCODED_ATTACHMENT_POINT: מזהה בקידוד כתובת URL של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף. POLICY_ID: מזהה של מדיניות הדחייה.-
ETAG: אופציונלי. מזהה של גרסת המדיניות. אם הוא קיים, הערך הזה צריך להתאים לערך הנוכחי בשדהetagשל המדיניות.
שיטת ה-HTTP וכתובת ה-URL:
DELETE https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID?etag=ETAG
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורה להתקבל תגובת JSON שדומה לזו:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8223fe308bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T19:45:00.133311Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-07-05T19:45:00.133311Z", "deleteTime": "2022-07-05T19:45:00.133311Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }התגובה מזהה פעולה ממושכת. אפשר לעקוב אחר הסטטוס של פעולה ממושכת כדי לדעת מתי היא מסתיימת. אפשר למצוא פרטים נוספים בקטע בדיקת הסטטוס של פעולה ממושכת שבדף הזה.
בדיקת הסטטוס של פעולה ממושכת
כשמשתמשים ב-API ל-REST או בספריות הלקוח, כל שיטה שמשנה מדיניות דחייה מחזירה פעולה ממושכת או LRO. הפעולה הממושכת עוקבת אחרי הסטטוס של הבקשה ומציינת אם השינוי במדיניות מושלם.
Go
בדוגמאות הקוד שבדף הזה אפשר ללמוד איך לחכות שפעולה ממושכת תסתיים, ואז לגשת לתוצאה שלה.
Java
בדוגמאות הקוד שבדף הזה אפשר ללמוד איך לחכות שפעולה ממושכת תסתיים, ואז לגשת לתוצאה שלה.
Node.js
בדוגמאות הקוד שבדף הזה אפשר ללמוד איך לחכות שפעולה ממושכת תסתיים, ואז לגשת לתוצאה שלה.
Python
בדוגמאות הקוד שבדף הזה אפשר ללמוד איך לחכות שפעולה ממושכת תסתיים, ואז לגשת לתוצאה שלה.
REST
השיטה
policies.operations.getמחזירה את הסטטוס של פעולה ממושכת.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
ENCODED_ATTACHMENT_POINT: מזהה בקידוד כתובת URL של המשאב שאליו מצורפת מדיניות הדחייה. אפשר לקרוא מידע על הפורמט של הערך הזה בקטע נקודת הצירוף. -
OPERATION_ID: המזהה של הפעולה. המזהה הזה מופיע בתגובה לבקשה המקורית, כחלק משם הפעולה. צריך להשתמש בערך ההקסדצימלי בסוף שם הפעולה. לדוגמה:89cb3e508bf1ff01.
שיטת ה-HTTP וכתובת ה-URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/operations/OPERATION_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורה להתקבל תגובת JSON שדומה לזו:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "done": true }אם השדה
doneשל הפעולה לא מופיע, אפשר לבצע את הפעולה שוב ושוב כדי להמשיך לעקוב אחר הסטטוס שלה. צריך להשתמש בהשהיה מעריכית (exponential backoff) קטועה לפני ניסיון חוזר כדי ליצור עיכוב בין כל בקשה. כשהערך של השדהdoneמוגדר בתורtrue, הפעולה הושלמה ואפשר להפסיק לבצע אותה.המאמרים הבאים
- מזהים את ההרשאות שנתמכות בכללי מדיניות הדחייה.
- מוצאים את הפורמט של מזהים של חשבונות משתמשים בכללי מדיניות הדחייה.
- לומדים איך לפתור בעיות בנושא הגישה באמצעות כללי מדיניות הדחייה.
- מקבלים מידע נוסף על דחיית הגישה לחשבונות המשתמשים.
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-03-04 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["התוכן קשה להבנה","hardToUnderstand","thumb-down"],["שגיאות בקוד לדוגמה או במידע","incorrectInformationOrSampleCode","thumb-down"],["חסרים לי פרטים או דוגמאות","missingTheInformationSamplesINeed","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2026-03-04 (שעון UTC)."],[],[]]