במאמר הזה מוסבר איך לבצע אימות ב-Infrastructure Manager באופן פרוגרמטי. האופן שבו מבצעים אימות ב-Infrastructure Manager משתנה לפי הממשק שמשמש לגישה ל-API ולסביבה שבה הקוד פועל.
למידע נוסף על אימות ב- Google Cloud אתם יכולים לעיין בשיטות האימות.
גישה באמצעות ממשק API
ב-Infra Manager יש תמיכה בגישה פרוגרמטית. הגישה ל-API אפשרית בדרכים הבאות:
Google Cloud CLI
כשמשתמשים ב-CLI של gcloud כדי להיכנס ל-Infra Manager, מתבצע אימות מול Google Cloud כסובייקט, שמספק את פרטי הכניסה שבהם משתמשות פקודות ה-CLI של gcloud.
אם מדיניות האבטחה של הארגון לא מאפשרת הקצאה של ההרשאות הנדרשות לחשבונות משתמשים, תוכלו להשתמש בתכונה התחזות לחשבון שירות.
למידע נוסף, תוכלו לקרוא על אימות ל-CLI של gcloud. למידע נוסף על השימוש ב-CLI של gcloud עם Infra Manager, אפשר לעיין בדפי העזר של gcloud CLI.
REST
אתם יכולים לאמת את Infra Manager API באמצעות ה-CLI של gcloud או באמצעות Application Default Credentials. למידע נוסף על אימות של בקשות REST, אפשר לעיין במאמר אימות לשימוש ב-REST.
הגדרת אימות ל-Infra Manager
הגדרת האימות משתנה בהתאם לסביבה שבה הקוד פועל.
האפשרויות הבאות הן הנפוצות ביותר להגדרת אימות. למידע נוסף על אימות ואפשרויות אימות נוספות, ראו שיטות אימות.
לפני שמבצעים את ההוראות האלה, צריך להשלים את ההגדרה הבסיסית של Infra Manager, כמו שמתואר במאמר הפעלת Infrastructure Manager.
לסביבת פיתוח מקומית
אפשר להגדיר פרטי כניסה לסביבת פיתוח מקומית בדרכים הבאות:
- פרטי כניסה של משתמשים בספריות לקוח או בכלים של צד שלישי
- פרטי כניסה של משתמשים בבקשות REST משורת הפקודה
- התחזות לחשבון שירות
ספריות לקוח או כלים של צד שלישי
מגדירים את Application Default Credentials (ADC) בסביבה המקומית:
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מסך הכניסה יופיע. אחרי שנכנסים, פרטי הכניסה נשמרים בקובץ פרטי הכניסה המקומי שמשמש את ADC.
למידע נוסף על עבודה עם ADC בסביבה מקומית תוכלו לעיין במאמר הגדרת ADC לסביבת פיתוח מקומית.
הפעלת בקשות REST משורת הפקודה
כשמפעילים בקשת REST משורת הפקודה, אפשר להשתמש בפרטי הכניסה ל-CLI של gcloud. כדי לעשות את זה, מוסיפים את gcloud auth print-access-token כחלק מהפקודה ששולחת את הבקשה.
הדוגמה הבאה מפרטת את חשבונות השירות של הפרויקט שצוין. אפשר להשתמש באותו דפוס בכל בקשה ל-REST.
לפני שמשתמשים בנתוני הבקשה צריך להחליף את הנתונים האלה:
- PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות האלה:
למידע נוסף על אימות באמצעות REST ו-gRPC, ראו אימות לשימוש ב-REST. למידע על ההבדל בין פרטי הכניסה המקומיים של ADC לפרטי הכניסה ל-CLI של gcloud, תוכלו לעיין במאמר הגדרת אימות ב-CLI של gcloud והגדרת ADC.
התחזות לחשבון שירות
ברוב המקרים תוכלו להשתמש בפרטי הכניסה שלכם כדי לבצע אימות בסביבת פיתוח מקומית. אם זה לא אפשרי, או אם אתם צריכים לבדוק את ההרשאות שהוקצו לחשבון שירות, תוכלו להתחזות לחשבון שירות. אתם צריכים את ההרשאה iam.serviceAccounts.getAccessToken, שכלולה בתפקיד Service Account Token Creator (roles/iam.serviceAccountTokenCreator) ב-IAM.
אתם יכולים להגדיר את ה-CLI של gcloud כך שיתחזה לחשבון שירות באמצעות הפקודה gcloud config set:
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
בחלק מהשפות אפשר להתחזות לחשבון שירות כדי ליצור קובץ ADC מקומי שישמש את ספריות הלקוח של Go, Java, Node.js ו-Python (אבל לא שפות תכנות אחרות).
כדי להגדיר קובץ ADC מקומי עם התחזות לחשבון שירות, משתמשים בדגל --impersonate-service-account עם הפקודה gcloud auth application-default login:
gcloud auth application-default login --impersonate-service-account=SERVICE_ACCT_EMAIL
Google Cloudמופעל
כדי לאמת עומס עבודה שפועל ב- Google Cloud, צריך להשתמש בפרטי הכניסה של חשבון השירות שמקושר למשאב המחשוב שבו הקוד פועל. למשל, מכונה וירטואלית (VM) של Compute Engine. זאת שיטת האימות המועדפת לקוד שפועל במשאב מחשוב של Google Cloud .
ברוב השירותים צריך לקשר את חשבון השירות בזמן שיוצרים את המשאב שמפעיל את הקוד. אי אפשר להוסיף או להחליף את חשבון השירות מאוחר יותר. Compute Engine הוא יוצא מן הכלל, ומאפשר לקשר חשבון שירות למכונה וירטואלית בכל שלב.
אפשר להשתמש ב-CLI של gcloud כדי ליצור חשבון שירות ולקשר אותו למשאב:
-
התקינו את ה-CLI של Google Cloud. אחר כך,