בדף הזה מוסבר איך להשבית ולהפעיל מפתחות של חשבון שירות באמצעותCloud de Confiance המסוף, Google Cloud CLI, ה-API לניהול זהויות והרשאות גישה או אחת מספריות הלקוח של Google Cloud.
לפני שמתחילים
מפעילים את IAM API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםמגדירים אימות.
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
gcloud
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initJava
כדי להשתמש בדוגמאות של Java שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-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 אדמין של מפתח של חשבון שירות (roles/iam.serviceAccountKeyAdmin) בפרויקט, או בחשבון השירות שאת המפתחות שלו רוצים לנהל.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
לתפקידים בסיסיים ב-IAM יש גם הרשאות לניהול המפתחות של חשבונות השירות. בסביבת ייצור לא מומלץ להקצות תפקידים בסיסיים, אבל אפשר להעניק אותם בסביבת פיתוח או בסביבת בדיקה.
השבתת מפתח של חשבון שירות
השבתת מפתח של חשבון שירות מונעת שימוש במפתח לצורך אימות באמצעות Google APIs. אפשר להפעיל מפתח מושבת מתי שרוצים.
לפני שמוחקים מפתח של חשבון שירות, מומלץ להשבית את המפתח ולהמתין עד שבטוחים שהמפתח לא נחוץ יותר. ורק אז למחוק אותו.
אפשר לראות את המפתחות המושבתים במסוף Cloud de Confiance , אבל אי אפשר להשתמש במסוףCloud de Confiance כדי להשבית מפתח. במקום זאת, אפשר להשתמש ב-CLI של gcloud או ב-API בארכיטקטורת REST.
gcloud
כדי להשבית מפתח של חשבון שירות מפעילים את הפקודה gcloud iam service-accounts keys disable.
מחליפים את הערכים הבאים:
-
KEY_ID: המזהה של המפתח שרוצים להשבית. כדי למצוא את המזהה של המפתח, מציגים את רשימת המפתחות של חשבון השירות , מזהים את המפתח שרוצים להשבית ומעתיקים את המזהה שלו. -
SA_NAME: השם של חשבון השירות שהמפתח שייך לו. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance .
gcloud iam service-accounts keys disable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com \ --project=PROJECT_ID
פלט:
Disabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com]
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
REST
ה-method projects.serviceAccounts.keys.disable משביתה מפתח של חשבון שירות.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project. -
SA_NAME: השם של חשבון השירות שאת המפתח שלו רוצים להשבית. -
KEY_ID: המזהה של המפתח שרוצים להשבית. כדי למצוא את המזהה של המפתח, מציגים את רשימת המפתחות של חשבון השירות, מזהים את המפתח שרוצים להשבית ומעתיקים את המזהה שלו מהסוף של השדהname. המזהה של המפתח הוא כל מה שמופיע אחריkeys/.
שיטת ה-HTTP וכתובת ה-URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com/keys/KEY_ID:disable
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
צריכה להתקבל תגובת JSON שדומה לזו:
{
}
הפעלת מפתח של חשבון שירות
אחרי שמשביתים מפתח של חשבון שירות, אפשר להפעיל אותו מתי שרוצים, ואז להשתמש במפתח כדי לבצע אימות באמצעות Google APIs.
אי אפשר להשתמש במסוף Cloud de Confiance כדי להפעיל מפתחות של חשבונות שירות. במקום זאת, אפשר להשתמש ב-CLI של gcloud או ב-API בארכיטקטורת REST.
gcloud
כדי להפעיל מפתח של חשבון שירות מפעילים את הפקודה gcloud iam service-accounts keys enable.
מחליפים את הערכים הבאים:
-
KEY_ID: המזהה של המפתח שרוצים להפעיל. כדי למצוא את המזהה של המפתח, מציגים את רשימת המפתחות של חשבון השירות, מזהים את המפתח שרוצים להפעיל ומעתיקים את המזהה שלו. -
SA_NAME: השם של חשבון השירות שהמפתח שייך לו. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance .
gcloud iam service-accounts keys enable KEY_ID \ --iam-account=SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com\ --project=PROJECT_ID
פלט:
Enabled key [KEY_ID] for service account [SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com]
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר לפני שמתחילים.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
REST
ה-method projects.serviceAccounts.keys.enable מאפשרת להפעיל מפתח של חשבון שירות.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . מזהי פרויקטים הם מחרוזות אלפאנומריות, כמוmy-project. -
SA_NAME: השם של חשבון השירות שאת המפתח שלו רוצים להפעיל. -
KEY_ID: המזהה של המפתח שרוצים להפעיל. כדי למצוא את המזהה של המפתח, מציגים את רשימת המפתחות של חשבון השירות, מזהים את המפתח שרוצים להפעיל ומעתיקים את המזהה מהסוף של השדהname. המזהה של המפתח הוא כל מה שמופיע אחריkeys/.
שיטת ה-HTTP וכתובת ה-URL:
POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.s3ns.iam.gserviceaccount.com/keys/KEY_ID:enable
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
}