בדף הזה מוסבר איך מציגים את רשימת חשבונות השירות ואיך עורכים אותם, באמצעות ה-API של ניהול זהויות והרשאות גישה (IAM), מסוף Google Cloud וכלי שורת הפקודה gcloud.
לפני שמתחילים
מפעילים את IAM API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםמגדירים אימות.
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud
gcloud
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
C#
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של .NET שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .
C++
כדי להשתמש בדוגמאות של C++ שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .
המשך
כדי להשתמש בדוגמאות של Go שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .
Java
כדי להשתמש בדוגמאות של Java שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .
Python
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
-
הסבר על חשבונות שירות של IAM
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול חשבונות שירות, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
כדי להציג את חשבונות השירות:
הצגת חשבונות שירות (
roles/iam.serviceAccountViewer) -
כדי לערוך את חשבונות השירות:
אדמין של חשבון שירות (
roles/iam.serviceAccountAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
תפקידים בסיסיים ב-IAM כוללים גם הרשאות לניהול חשבונות שירות. בסביבת ייצור לא מומלץ להקצות תפקידים בסיסיים, אבל אפשר להעניק אותם בסביבת פיתוח או בסביבת בדיקה.
הצגת רשימה של חשבונות שירות
אתם יכולים להציג את רשימת חשבונות השירות בניהול המשתמשים בפרויקט כדי לבדוק את חשבונות השירות והמפתחות, או כחלק מכלי מותאם אישית לניהול חשבונות השירות.
אי אפשר להציג את רשימת סוכני השירות שעשויים להופיע במדיניות ההרשאות וביומני הביקורת של הפרויקט. סוכני השירות לא נמצאים בפרויקט, ואי אפשר לגשת אליהם ישירות.
המסוף
נכנסים לדף Service accounts במסוף Google Cloud .
בוחרים פרויקט.
בדף Service accounts מוצגת הרשימה של כל חשבונות השירות בניהול המשתמשים בפרויקט שבחרתם.
gcloud
הפקודה gcloud iam service-accounts list מציגה את רשימת כל חשבונות השירות בניהול המשתמשים בפרויקט שצוין.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud iam service-accounts list --project=PROJECT_ID
Windows (PowerShell)
gcloud iam service-accounts list --project=PROJECT_ID
Windows (cmd.exe)
gcloud iam service-accounts list --project=PROJECT_ID
אמורים לקבל תגובה שדומה לזו:
DISPLAY NAME: SA_DISPLAY_NAME_1 EMAIL: SA_NAME_1@PROJECT_ID.iam.gserviceaccount.com DISABLED: False DISPLAY NAME: SA_DISPLAY_NAME_2 EMAIL: SA_NAME_2@PROJECT_ID.iam.gserviceaccount.com DISABLED: False
C++
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM C++ API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
C#
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM C# API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Go
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Go API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
REST
השיטה serviceAccounts.list
מציגה את רשימת כל חשבונות השירות בניהול המשתמשים בפרויקט שצוין.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project.
שיטת ה-HTTP וכתובת ה-URL:
GET https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"accounts": [
{
"name": "projects/my-project/serviceAccounts/sa-1@my-project.iam.gserviceaccount.com",
"projectId": "my-project",
"uniqueId": "123456789012345678901",
"email": "sa-1@my-project.iam.gserviceaccount.com",
"description": "My first service account",
"displayName": "Service account 1",
"etag": "BwUpTsLVUkQ=",
"oauth2ClientId": "987654321098765432109"
},
{
"name": "projects/my-project/serviceAccounts/sa-2@my-project.iam.gserviceaccount.com",
"projectId": "my-project",
"uniqueId": "234567890123456789012",
"email": "sa-2@my-project.iam.gserviceaccount.com",
"description": "My second service account",
"displayName": "Service account 2",
"etag": "UkQpTwBVUsL=",
"oauth2ClientId": "876543210987654321098"
}
]
}
עריכה של חשבון שירות
בדרך כלל משתמשים בשם המוצג (השם הידידותי) ובתיאור של חשבון השירות כדי לקבל מידע נוסף על חשבון השירות, כמו המטרה שלו או איש הקשר שלו.
המסוף
נכנסים לדף Service accounts במסוף Google Cloud .
בוחרים פרויקט.
לוחצים על כתובת האימייל של חשבון השירות שאת שמו רוצים לשנות.
מזינים את השם החדש בתיבה Name ולוחצים על Save.
gcloud
הפקודה
gcloud iam service-accounts update
מעדכנת את חשבון השירות.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
-
SA_NAME: המזהה האלפאנומרי של חשבון השירות. השם צריך להיות באורך שבין 6 ל-30 תווים, והוא יכול לכלול תווים אלפאנומריים ומקפים. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project. - מחליפים לפחות אחד מהערכים הבאים:
-
UPDATED_DISPLAY_NAME: השם המוצג החדש של חשבון השירות. -
UPDATED_DESCRIPTION: התיאור החדש של חשבון השירות.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud iam service-accounts update \ SA_NAME@PROJECT_ID.iam.gserviceaccount.com \ --project=PROJECT_ID --description="UPDATED_SA_DESCRIPTION" \ --display-name="UPDATED_DISPLAY_NAME"
Windows (PowerShell)
gcloud iam service-accounts update ` SA_NAME@PROJECT_ID.iam.gserviceaccount.com ` --project=PROJECT_ID --description="UPDATED_SA_DESCRIPTION" ` --display-name="UPDATED_DISPLAY_NAME"
Windows (cmd.exe)
gcloud iam service-accounts update ^ SA_NAME@PROJECT_ID.iam.gserviceaccount.com ^ --project=PROJECT_ID --description="UPDATED_SA_DESCRIPTION" ^ --display-name="UPDATED_DISPLAY_NAME"
אמורים לקבל תגובה שדומה לזו:
Updated serviceAccount [SA_NAME@PROJECT_ID.iam.gserviceaccount.com]. description: UPDATED_SA_DESCRIPTION displayName: UPDATED_DISPLAY_NAME name: projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com
C++
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM C++ API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
C#
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM C# API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Go
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Go API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
REST
השיטה
serviceAccounts.patch
מעדכנת את חשבון השירות.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project. -
SA_ID: המזהה של חשבון השירות. זו יכולה להיות כתובת האימייל של חשבון השירות בתבניתSA_NAME@PROJECT_ID.iam.gserviceaccount.com, או המזהה המספרי שייחודי לחשבון השירות. -
SA_NAME: המזהה האלפאנומרי של חשבון השירות. השם צריך להיות באורך שבין 6 ל-30 תווים, והוא יכול לכלול תווים אלפאנומריים ומקפים. - מחליפים לפחות אחד מהערכים הבאים:
-
UPDATED_DISPLAY_NAME: השם המוצג החדש של חשבון השירות. -
UPDATED_DESCRIPTION: התיאור החדש של חשבון השירות.
שיטת ה-HTTP וכתובת ה-URL:
PATCH https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID
תוכן בקשת JSON:
{
"serviceAccount": {
"email": "SA_NAME@PROJECT_ID.iam.gserviceaccount.com",
"displayName": "UPDATED_DISPLAY_NAME",
"description": "UPDATED_DESCRIPTION"
},
"updateMask": "displayName,description"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/my-project/serviceAccounts/my-service-account@my-project.iam.gserviceaccount.com",
"displayName": "My updated service account",
"description": "An updated description of my service account"
}
המאמרים הבאים
- איך משביתים ומפעילים חשבונות שירות
- סקירה של התהליך להקצאת תפקידי IAM לכל סוגי החשבונות הראשיים, כולל חשבונות שירות.
- למדו איך משתמשים בהמלצות לתפקידים כדי לצמצם את ההרשאות שניתנות לכל החשבונות הראשיים, כולל חשבונות השירות.
- להבין איך מצרפים חשבונות שירות למשאבים.
- שיטות מומלצות לעבודה עם חשבונות שירות
נסו בעצמכם
אתם משתמשים חדשים ב- Google Cloud? אנחנו ממליצים לכם ליצור חשבון, להתנסות בעצמכם במוצרים שלנו ולבחון אותם באמצעות תרחישים ממשיים. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
מתחילים לעבוד בלי לשלם