רוב המשאבים Google Cloud חושפים את ה-method testIamPermissions(), שמאפשרת לבדוק באופן פרוגרמטי אם למשתמש המאומת יש הרשאות ספציפיות למשאב ב-IAM. ה-method testIamPermissions() מקבלת מזהה משאב וסדרת הרשאות כפרמטרים של קלט, ומחזירה את סדרת ההרשאות שיש למשתמש ששלח את הקריאה.
תוכלו להשתמש ב-testIamPermissions() כדי להחליט אם למשתמש צריכה להיות גישה לכלי אדמין באפליקציית אינטרנט. לדוגמה, אפשר להשתמש בשיטה הזו כדי להחליט, על סמך ההרשאות של המשתמש, האם להציג מידע מפורט על משאב Google Cloud .
לדוגמה, כדי לקבוע אם למשתמש המאומת יש הרשאה למחוק פרויקט, קוראים ל-method projects.testIamPermissions() עם מזהה הפרויקט (למשל foo-project) וההרשאה resourcemanager.projects.delete כפרמטרים של הקלט. אם למשתמש ששלח את הקריאה יש את ההרשאה resourcemanager.projects.delete, היא תופיע בגוף התשובה. אם אין לו את ההרשאה הזו, בגוף התשובה לא תופיע אף הרשאה.
ה-method testIamPermissions() מיועדת לממשקי משתמש גרפיים (GUI) של צד שלישי, שצריכים להציג משאבים Google Cloud בהתאם להרשאות שיש למשתמש המאומת לראות. לדוגמה, במסוףGoogle Cloud משתמשים ב-method testIamPermissions() כדי לקבוע אילו משאבים ופונקציות יהיו גלויים אחרי האימות. בדרך כלל למשתמשים שונים יש הרשאות שונות, והפריטים מוצגים או מוסתרים במסוף Google Cloud בהתאם להרשאות.
לפני שמתחילים
Enable the Resource Manager 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:
C#
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של .NET שבדף הזה, מתקינים ומפעילים את ה-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 .
C++
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של C++ שבדף הזה, מתקינים ומפעילים את ה-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 .
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 כדי לבדוק את ההרשאות.
איך בודקים הרשאות
בדוגמה הזו תוכלו לראות איך בודקים את ההרשאות
resourcemanager.projects.getו-resourcemanager.projects.deleteבGoogle Cloud פרויקט. כדי לבדוק את ההרשאות במשאבים אחרים Google Cloud , משתמשים ב-method testIamPermissions()שכל אחד מהמשאבים חושף. לדוגמה, תוכלו לבדוק את ההרשאות ב-IAM לקטגוריה של Cloud Storage.C++
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM C++ API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
C#
כדי לבצע אימות למנהל המשאבים, מגדירים את ה-Application Default Credentials מידע נוסף מופיע במאמר לפני שמתחילים.
מידע על התקנת ספריית הלקוח למנהל המשאבים והשימוש בה מופיע במאמר ספריות הלקוח של מנהל המשאבים.
ההרשאות של חשבון השירות שבו נוצרו פרטי הכניסה נבדקות ב-IAM.
Java
כדי לבצע אימות למנהל המשאבים, מגדירים את ה-Application Default Credentials מידע נוסף מופיע במאמר לפני שמתחילים.
מידע על התקנת ספריית הלקוח למנהל המשאבים והשימוש בה מופיע במאמר ספריות הלקוח של מנהל המשאבים.
ההרשאות של חשבון השירות שבו נוצרו פרטי הכניסה נבדקות ב-IAM.
Python
כדי לבצע אימות למנהל המשאבים, מגדירים את ה-Application Default Credentials מידע נוסף מופיע במאמר לפני שמתחילים.
מידע על התקנת ספריית הלקוח למנהל המשאבים והשימוש בה מופיע במאמר ספריות הלקוח של מנהל המשאבים.
ההרשאות של חשבון השירות שבו נוצרו פרטי הכניסה נבדקות ב-IAM.
REST
בדוגמה הזו, למשתמש יש ב-IAM תפקיד שמאפשר לו לקבל מידע על הפרויקט, אבל לא למחוק פרויקטים.
ה-method
projects.testIamPermissionsב-Resource Manager API מקבלת רשימת הרשאות ובודקת אילו הרשאות יש לחשבון המשתמש.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:testIamPermissions
תוכן בקשת JSON:
{ "permissions": [ "resourcemanager.projects.get", "resourcemanager.projects.delete" ] }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "permissions": [ "resourcemanager.projects.get" ] }המאמרים הבאים
איך נותנים, משנים ומבטלים גישה לחשבונות משתמשים
אלא אם צוין אחרת, התוכן של דף זה הוא ברישיון Creative Commons Attribution 4.0 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2026-03-05 (שעון 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-05 (שעון UTC)."],[],[]]-