בדף הזה מוסבר איך ליצור חשבונות שירות באמצעות ממשק ה-API של ניהול זהויות והרשאות גישה (IAM), מסוף Cloud de Confiance וכלי שורת הפקודה gcloud.
לפני שמתחילים
מפעילים את IAM API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםמגדירים אימות.
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initC#
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של .NET שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Cloud de Confiance .
C++
כדי להשתמש בדוגמאות של C++ שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Cloud de Confiance .
המשך
כדי להשתמש בדוגמאות של Go שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Cloud de Confiance .
Java
כדי להשתמש בדוגמאות של Java שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Cloud de Confiance .
Python
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Cloud de Confiance .
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
-
הסבר על חשבונות שירות של IAM
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת חשבונות שירות, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד יצירת חשבונות שירות (roles/iam.serviceAccountCreator) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
אם רוצים להעניק לחשבונות שירות שנוצרו לאחרונה גישה לפרויקט, צריך גם את התפקיד 'אדמין IAM בפרויקט' (roles/resourcemanager.projectIamAdmin).
יצירה של חשבון שירות
כשיוצרים חשבון שירות, צריך לספק מזהה אלפאנומרי (SERVICE_ACCOUNT_NAME בדוגמאות הבאות), כמו my-service-account. המזהה צריך להכיל בין 6 ל-30 תווים, והוא יכול להכיל תווים אלפאנומריים קטנים ומקפים. אחרי שיוצרים חשבון שירות, אי אפשר לשנות את השם שלו.
השם של חשבון השירות מופיע בכתובת האימייל שמוקצית במהלך היצירה, בפורמט SERVICE_ACCOUNT_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com.
לכל חשבון שירות יש גם מזהה מספרי ייחודי וקבוע, שנוצר באופן אוטומטי.
כשיוצרים חשבון שירות, צריך לציין גם את הפרטים הבאים:
DESCRIPTIONהוא תיאור אופציונלי לחשבון השירות.DISPLAY_NAMEהוא שם ידידותי לחשבון השירות.-
PROJECT_IDהוא מזהה הפרויקט. Cloud de Confiance by S3NS
אחרי שיוצרים חשבון שירות, יכול להיות שיהיה צריך להמתין 60 שניות לפחות לפני שאפשר להשתמש בו. התנהגות כזו מתרחשת כי בסופו של דבר פעולות קריאה עובדות לפי מודל עקביות הדרגתי, ויכול להיות שיחלוף זמן מה עד שחשבון השירות החדש יופיע. אם ניסיתם לקרוא חשבון שירות או להשתמש בו מיד אחרי שנוצר, וקיבלתם הודעת שגיאה, תוכלו לנסות שוב את הבקשה עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff).
מספר חשבונות השירות שיכולים להיות בכל פרויקט תלוי בפרויקט. כדי לראות את המכסה של פרויקט, צופים במכסות של הפרויקט בCloud de Confiance מסוף ומחפשים את מספר חשבונות השירות.
המסוף
- במסוף Cloud de Confiance , נכנסים לדף יצירת חשבון שירות.
- בוחרים פרויקט Cloud de Confiance .
- נותנים לחשבון השירות שם שיוצג במסוף Cloud de Confiance .
המסוף יוצר מזהה לחשבון השירות על סמך השם הזה. Cloud de Confiance עורכים את המזהה לפי הצורך. אי אפשר יהיה לשנות את המזהה בשלב מאוחר יותר.
- אופציונלי: מזינים תיאור של חשבון השירות.
- אם לא רוצים להגדיר את אמצעי בקרת הגישה עכשיו, לוחצים על Done כדי לסיים את יצירת חשבון השירות. כדי להגדיר אמצעי בקרת גישה עכשיו, לוחצים על Create and continue וממשיכים לשלב הבא.
- אופציונלי: אפשר לבחור תפקיד IAM אחד או יותר כדי להקצות לחשבון השירות בפרויקט.
- כשמסיימים להוסיף תפקידים, לוחצים על Continue.
- אופציונלי: בשדה Service account users role, מוסיפים חברים שצריכים לצרף את חשבון השירות למשאבים אחרים.
- אופציונלי: בשדה Service account admins role, מוסיפים חברים שצריכים לנהל את חשבון השירות.
- לוחצים על Done כדי לסיים ליצור את חשבון השירות.
gcloud
-
במסוף Cloud de Confiance , מפעילים את Cloud Shell.
בחלק התחתון של Cloud de Confiance המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
-
כדי ליצור את חשבון השירות, מריצים את הפקודה
gcloud iam service-accounts create:gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME"
מחליפים את הערכים הבאים:
-
SERVICE_ACCOUNT_NAME: השם של חשבון השירות -
DESCRIPTION: תיאור אופציונלי של חשבון השירות -
DISPLAY_NAME: השם של חשבון השירות שיופיע ב Cloud de Confiance מסוף
-
-
אופציונלי: כדי להקצות לחשבון השירות תפקיד IAM בפרויקט, מריצים את הפקודה
gcloud projects add-iam-policy-binding:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com" \ --role="ROLE_NAME"
מחליפים את הערכים הבאים:
-
PROJECT_ID: מזהה הפרויקט -
SERVICE_ACCOUNT_NAME: השם של חשבון השירות -
ROLE_NAME: שם התפקיד, כמוroles/compute.osLogin
-
-
אופציונלי: כדי לאפשר למשתמשים לצרף את חשבון השירות למשאבים אחרים, מריצים את הפקודה
gcloud iam service-accounts add-iam-policy-bindingכדי להקצות למשתמש את התפקיד 'משתמש בחשבון שירות' (roles/iam.serviceAccountUser) בחשבון השירות:gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com \ --member="user:USER_EMAIL" \ --role="roles/iam.serviceAccountUser"
מחליפים את הערכים הבאים:
PROJECT_ID: מזהה הפרויקטSERVICE_ACCOUNT_NAME: השם של חשבון השירותUSER_EMAIL: כתובת האימייל של המשתמש
C++
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM C++ API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
C#
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM C# API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Go
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Go API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
REST
השיטה serviceAccounts.create יוצרת חשבון שירות.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project. SA_NAME: המזהה האלפאנומרי של חשבון השירות. השם הזה צריך להכיל בין 6 ל-30 תווים, והוא יכול להכיל תווים אלפאנומריים קטנים ומקפים.SA_DESCRIPTION: אופציונלי. תיאור של חשבון השירות.SA_DISPLAY_NAME: שם לחשבון השירות שקריא לאנשים.
שיטת ה-HTTP וכתובת ה-URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts
תוכן בקשת JSON:
{
"accountId": "SA_NAME",
"serviceAccount": {
"description": "SA_DESCRIPTION",
"displayName": "SA_DISPLAY_NAME"
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/my-project/serviceAccounts/my-service-account@my-project.s3ns.iam.gserviceaccount.com",
"projectId": "my-project",
"uniqueId": "123456789012345678901",
"email": "my-service-account@my-project.s3ns.iam.gserviceaccount.com",
"displayName": "My service account",
"etag": "BwUp3rVlzes=",
"description": "A service account for running jobs in my project",
"oauth2ClientId": "987654321098765432109"
}
אחרי שיוצרים חשבון שירות, מקצים תפקיד אחד או יותר לחשבון השירות כדי שהוא יוכל לפעול בשמכם.
בנוסף, אם חשבון השירות צריך גישה למשאבים בפרויקטים אחרים, בדרך כלל צריך להפעיל את ממשקי ה-API למשאבים האלו בפרויקט שבו יצרתם את חשבון השירות.
המאמרים הבאים
- יצירת חשבונות שירות ועריכה שלהם
- מבט על תהליך הקצאת תפקידי IAM לכל סוגי חשבונות המשתמשים, כולל חשבונות שירות.
- להבין איך מצרפים חשבונות שירות למשאבים.
- שיטות מומלצות לעבודה עם חשבונות שירות