במדריך הזה מוסבר איך להשתמש באיחוד שירותי אימות הזהות של עומסי עבודה כדי לאפשר לעומסי עבודה להשתמש בפרטי הכניסה של Active Directory כדי לבצע אימות ל- Google Cloud.
אם מריצים עומסי עבודה של Windows Server בסביבת Active Directory, לעומסי העבודה עשויה להיות גישה לפרטי כניסה של Active Directory. לדוגמה:
- ייתכן ששירות Windows מוגדר להתחברות כמשתמש בדומיין.
- ייתכן שאפליקציית IIS מוגדרת לרוץ כחשבון שירות מנוהל באופן קבוצתי (gMSA).
שימוש באיחוד שירותי אימות הזהויות של עומסי עבודה בשילוב עם Active Directory Federation Services (AD FS), מאפשר לעומסי העבודה להמיר את פרטי הכניסה שלהם ב-Kerberos של Active Directory בפרטי כניסה לטווח קצר של Google Cloud . עומסי העבודה יכולים להשתמש בפרטי הכניסה לטווח קצר כדי לקבל גישה ל- Google CloudAPIs.
ההחלפה של פרטי כניסה של Active Directory בפרטי כניסה לטווח קצר של Google Cloud עובדת על-ידי שרשור של שתי המרות אסימונים:
- עומס עבודה משתמש ב-OpenID Connect (OIDC), ב-SAML-POST או ב-WS-Trust כדי לבקש אסימון OIDC או טענת נכונות (assertion) של SAML מ-AD FS. כדי לבצע אימות ל-AD FS, עומס העבודה משתמש באימות Windows משולב (IWA) ובפרטי הכניסה שלו שקיימים ב-Active Directory.
- לאחר מכן עומס העבודה משתמש באיחוד שירותי אימות הזהות של עומסי עבודה כדי להמיר את אסימון ה-OIDC או את טענת הנכונות (assertion) של SAML באסימון של 'שירות אסימוני אבטחה', ובאופן אופציונלי כדי להתחזות ל Google Cloud חשבון שירות.
במאמר הזה מוסבר איך להפוך את התהליך לאוטומטי, כדי שלא יהיה צורך לבצע שינויים באפליקציה באמצעות Workload Authenticator for Windows.
הכנת AD FS
צריך לבצע את השלבים פעם אחת בלבד.
בחירת פרוטוקול
הדרך להכין את AD FS תלויה בסוג הפרוטוקול שבו רוצים להשתמש:
SAML: אתם יכולים לאפשר לעומסי עבודה להשתמש ב-SAML או ב-WS-Trust כדי לקבל טענות נכונות (assertions) של SAML.
כדי להשתמש ב-SAML או ב-WS-Trust, יוצרים צד נסמך ב-AD FS ומגדירים מאגר זהויות של כוח עבודה שיכול לתת אמון בטענות הנכונות (assertions) שמונפקים בשביל הצד הנסמך.
עומס עבודה יכול להיעזר במשתמש ב-Active Directory כדי לאמת ל-AD FS באמצעות קישור SAML-POST או WS-Trust. לאחר מכן, AD FS מנפיקה טענת נכונות (assertion) של SAML שמכילה מידע על משתמש Active Directory של עומס העבודה ומידע נוסף כמו חברויות בקבוצות.
כדי להשתמש ב-SAML או ב-WS-Trust, צריך AD FS 3.0, AD FS ל-Windows Server 2016 או גרסה חדשה יותר של AD FS.
OIDC: אתם יכולים לאפשר לעומסי עבודה להשתמש ב-OIDC כדי לקבל אסימוני OIDC.
כדי להשתמש ב-OIDC, צריך ליצור לקוח OIDC (אפליקציית נייטיב) ומשאב OIDC (Web API) ב-AD FS. לאחר מכן מגדירים מאגר זהויות של כוח עבודה כדי שיתנו אמון באסימוני הגישה שהונפקו בשביל ה-Web API.
עומס עבודה יכול לעשות שימוש במשתמש של Active Directory ובהענקת
client_credentialsשל OAuth כדי לבצע אימות ל-AD FS. לאחר מכן, AD FS מנפיקה אסימון גישה, אבל לא אסימון מזהה.אסימון הגישה מכיל מידע על האפליקציה של לקוח OIDC, אבל הוא לא כולל מידע על המשתמש של עומס העבודה ב-Active Directory או על החברויות שלו בקבוצות.
מכיוון שאסימוני הגישה לא מכילים מידע על המשתמש ב-Active Directory, שימוש ב-OIDC יכול להיות גמיש פחות משימוש ב-SAML או ב-WS-Trust.
שימוש ב-OIDC מחייב AD FS בשביל Windows Server 2016 או גרסה חדשה יותר של AD FS.
כדי להיכנס לחשבון, ספק הזהויות שלכם צריך לספק פרטי אימות חתומים: ספקי זהויות שתומכים ב-OIDC צריכים לספק אסימון JWT, ותשובות שמגיעות מספקי זהויות שתומכים ב-SAML חייבות להיות חתומות.
דרישות מוקדמות של IWA
הקטע מתאר דרישות מוקדמות של IWA שנחוצות כדי להשתמש במדריך זה.
אם עוד לא השתמשתם ב-IWA עם AD FS, ודאו שאתם עומדים בדרישות המקדימות הבאות:
- הגדרתם ל-AD FS לאפשר אימות ב-Windows ולהשתמש בשם הנכון של חשבון המשתמש בשירות.
- הגדרתם הגנה מורחבת לאימות שתואמת לפריסת ה-AD FS.
רישום עומס העבודה
כדי לרשום את עומס העבודה ב-AD FS, צריך לבצע את הפעולות הבאות:
OIDC
כדי לאפשר לעומסי עבודה להשתמש ב-OIDC, צריך שני רישומי אפליקציה ב-AD FS:
רישום אפליקציה מסוג אפליקציית נייטיב או אפליקציית שרת.
רישום אפליקציה מסוג Web API שתואם לספק מאגר זהויות של עומסי עבודה ב- Google Cloud.
רישום אפליקציית הלקוח
צריך ליצור אפליקציית לקוח שמייצגת את עומס העבודה. אם יש מספר עומסי עבודה שצריכים גישה ל- Google Cloud, יכול להיות שצריך ליצור מספר אפליקציות לקוח.
כדי לרשום אפליקציית לקוח ב-AD FS, מבצעים את הפעולות הבאות:
- פותחים את ההצמדה של MMC ל-AD FS ועוברים אל Application Groups.
- לוחצים על Add application group.
בדף Welcome, מבצעים את הפעולות הבאות:
- בשדה הטקסט, מזינים שם של הלקוח.
- בוחרים Server application.
- לוחצים על Next.
בדף Server application, מבצעים את הפעולות הבאות:
בשדה הטקסט text-field מזינים מזהה לקוח (Client ID) והפניה אוטומטית לכתובת URI אחרת.
אם מתכננים להשתמש רק בסוג הענקה
client_credentials, לא ייעשה שימוש בהפניה האוטומטית לכתובת URI אחרת ואפשר להשתמש ב-URI כמוhttp://localhost/.לוחצים על Next.
בדף Configure application credentials, מבצעים את הפעולות הבאות:
- בוחרים איך הלקוח יבצע אימות. כדי להשתמש ב-IWA, מגדירים את Windows Integrated Authentication ל-enabled.
- בוחרים את משתמש הדומיין שהאפליקציה מוגדרת לרוץ בשמו.
- לוחצים על Next.
בדף Summary, בודקים את ההגדרות ולוחצים על Next.
לוחצים על Close כדי לסגור את תיבת הדו-שיח.
יצירת אפליקציה של Web API למאגר הזהויות של כוח העבודה
צריך ליצור רישום נוסף של אפליקציה מסוג Web API. האפליקציה הזו תואמת לספק של מאגר זהויות של עומסי עבודה, ומשתמשים בה כדי להגדיר יחסי אמון עם Google Cloud.
כדי ליצור את האפליקציה ב-AD FS, מבצעים את הפעולות הבאות:
- פותחים את ההצמדה של MMC ל-AD FS ועוברים אל Application Groups.
- לוחצים על Add application group.
- בדף Welcome מזינים שם כמו
Workload Identity Federation (test environment), ובוחרים Web API. לאחר מכן לוחצים על Next. בדף Configure Web API, מזינים מזהה צד נסמך בשביל ה-Web API.
במקום להגדיר מזהה צד נסמך בהתאמה אישית, אפשר להשתמש ב-URI הבא כמזהה צד נסמך:
https://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/WORKLOAD_POOL_ID/providers/WORKLOAD_PROVIDER_ID
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_NUMBER: מספר הפרויקט של Google Cloud הפרויקט שבו אתם משתמשים כדי ליצור מאגר זהויות של כוח עבודה.WORKLOAD_POOL_ID: מזהה לבחירתכם, שמזהה את מאגר הזהויות של כוח העבודה. בהמשך תצטרכו להשתמש במזהה הזה כשתיצרו את מאגר הזהויות של כוח העבודה.WORKLOAD_PROVIDER_ID: מזהה לבחירתכם, שמזהה את ספק מאגר הזהויות של כוח העבודה. מאוחר יותר כשיוצרים את מאגר הזהויות של כוח העבודה, צריך להשתמש באותו מזהה.
סידור ה-URI בצורה כזו מבטיח שמזהה הצד הנסמך יזהה באופן ייחודי ספק של מאגר זהויות של כוח עבודה.
צריך לדעת את המזהה של הצד הנסמך מאוחר יותר כשתגדירו את ספק מאגר הזהויות של כוח העבודה.
לוחצים על Next.
בדף Apply access control policy, בוחרים את מדיניות הגישה המתאימה ולוחצים על Next.
בדף Configure application permissions מוסיפים את אפליקציית הלקוח שיצרתם מוקדם יותר. לאחר מכן לוחצים על Next.
בדף Summary, בודקים את ההגדרות ולוחצים על Next.
לוחצים על Close כדי לסגור את תיבת הדו-שיח.
SAML או WS-Trust
יצירת אמון צד נסמך ב-AD FS:
- פותחים את הצמדת ה-MMC ל-AD FS.
- עוברים אל Relying party trusts.
- לוחצים על Add relying party trust.
- בדף Welcome של האשף Add relying party trust, מבצעים את הפעולות הבאות:
- בוחרים Claims aware
- לוחצים על Start.
- בדף Select data source מבצעים את הפעולות הבאות:
- בוחרים Enter data about the relying party manually.
- לוחצים על Next.
בדף Specify display name, מבצעים את הפעולות הבאות:
- מזינים שם לאמון.
- לוחצים על Next.
בדף Configure certificate, לוחצים על Next. איחוד שירותי אימות הזהויות של עומסי עבודה תומך ב-SAML מוצפן, אבל הוא לא מתואר בתהליך הזה. למידע נוסף, אפשר לעיין בהוראות של ה-CLI של gcloud בחלק יצירת המאגר והספק של הזהויות שמופיע בהמשך המדריך.
בדף Configure URL, מבצעים את הפעולות הבאות:
SAML
משתמשים בהגדרות הבאות:
- מגדירים את Enable support for the SAML 2.0 WebSSO protocol ל-enabled
בשדה Relying party SAML 2.0 SSO service URL, מזינים את כתובת ה-URL הבאה:
https://sts.googleapis.com/v1/token
WS-Trust
שמירת הגדרות ברירת המחדל
לוחצים על Next.
בדף Configure identifiers, מזינים מזהה של צד נסמך.
במקום להגדיר מזהה צד נסמך בהתאמה אישית, אפשר להשתמש ב-URI הבא כמזהה של גורם נסמך:
https://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/WORKLOAD_POOL_ID/providers/WORKLOAD_PROVIDER_ID
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_NUMBER: מספר הפרויקט של Google Cloud הפרויקט שבו אתם משתמשים כדי ליצור מאגר זהויות של כוח עבודה.WORKLOAD_POOL_ID: מזהה לבחירתכם, שמזהה את מאגר הזהויות של כוח העבודה. בהמשך תצטרכו להשתמש במזהה הזה כשתיצרו את מאגר הזהויות של כוח העבודה.WORKLOAD_PROVIDER_ID: מזהה לבחירתכם, שמזהה את ספק מאגר הזהויות של כוח העבודה. בהמשך תצטרכו להשתמש במזהה הזה כשתיצרו ספק של מאגר זהויות של כוח העבודה.
סידור ה-URI בצורה כזו מבטיח שמזהה הצד הנסמך יזהה באופן ייחודי ספק של מאגר זהויות של כוח עבודה.
צריך לדעת את המזהה של הצד הנסמך מאוחר יותר כשתגדירו את ספק מאגר הזהויות של כוח העבודה.
לוחצים על Next.
בדף Choose access control policy, בוחרים את מדיניות הגישה המתאימה ולוחצים על Next.
בדף Ready to add trust, בודקים את ההגדרות ולוחצים על Next.
בדף Finish, לוחצים על Close כדי לסגור את תיבת הדו-שיח.
כדי שתהיה תאימות עם איחוד שירותי אימות הזהות של עומסי עבודה, צריך לכלול בטענות נכונות (assertions) של SAML לפחות הצהרה אחת שמזהה באופן ייחודי את משתמש ה-Active Directory. בדרך כלל, משתמשים לשם כך בהצהרה מזהה שם שתואמת לערך של הרכיב NameID בטענת הנכונות (assertion) של SAML.
כדי להתאים אישית את קבוצת ההצהרות של טענות הנכונות (assertions) של SAML, צריך לערוך את מדיניות הפקת ההצהרות של אמון הצד הנסמך. כדי לערוך את מדיניות הפקת ההצהרות, צריך לבצע את הפעולות הבאות:
- ברשימת האמון של צדדים נסמכים, בוחרים את האמון שיצרתם עכשיו ולוחצים על Edit claim issuance policy.
- לוחצים על Add rule
- בדף Choose rule type של האשף Add transform claim rule, מבצעים את הפעולות הבאות:
- בוחרים Transform an incoming claim.
- לוחצים על Next.
בדף Configure claim rule, קובעים את ההגדרות הבאות:
- Claim rule name:
Name Identifier. - Incoming claim type: בוחרים Primary SID, UPN או הצהרה אחרת כדי לזהות את הנושא באופן ייחודי.
- Outgoing claim type: Name ID.
- Outgoing name ID format: Unspecified.
- Claim rule name:
בוחרים Pass through all claim values ולוחצים על Finish.
אפשר גם להגדיר כללים נוספים כך שיכללו מאפיינים נוספים בטענות הנכונות (assertions) של SAML.
לוחצים על OK כדי לסגור את תיבת הדו-שיח של מדיניות הפקת ההצהרות.
הגדרת איחוד שירותי אימות הזהות של עומסי עבודה
צריך לבצע את השלבים האלה פעם אחת לכל דומיין של Microsoft Active Directory שרוצים לבצע איתו איחוד. לאחר מכן תוכלו להשתמש באותו מאגר ובאותו ספק זהויות של כוח עבודה בכמה עומסי עבודה ובכמה פרויקטים שלGoogle Cloud .
כדי להתחיל בהגדרה של איחוד שירותי אימות הזהות של עומסי עבודה, מבצעים את הפעולות הבאות:
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
עדיף
להשתמש בפרויקט ייעודי לניהול ספקים ומאגרי זהויות של עומסי עבודה.
-
Verify that billing is enabled for your Google Cloud project.
Enable the IAM, Resource Manager, Service Account Credentials, and Security Token Service APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which
contains the serviceusage.services.enable permission. Learn how to grant
roles.
הגדרת מיפוי של מאפיין ותנאי
פרטי הכניסה הספציפיים לסביבה של עומס העבודה ב-Active Directory מכילים מספר מאפיינים, וצריך להחליט באיזה מאפיין רוצים להשתמש כמזהה הנושא (google.subject) ב- Google Cloud.
אפשר גם למפות מאפיינים נוספים (אופציונלי). לאחר מכן אפשר להפנות למאפיינים נוספים אלו כשמעניקים גישה למשאבים.
OIDC
מיפויי המאפיינים יכולים להשתמש בהצהרות מוטמעות באסימוני גישה של AD FS כמאפייני מקור.
כדי לאמת אפליקציה, אפשר להשתמש במיפוי המאפיינים הבא:
google.subject=assertion.appid
המיפוי מגדיר את google.subject לערך של ההצהרה appid, שמכילה את מזהה הלקוח של האפליקציה של AD FS.
SAML או WS-Trust
מיפויי המאפיינים יכולים להשתמש בהצהרות שמוטמעות בטענת הנכונות (assertion) שהפיקה AD FS, כפי שתיארנו קודם במדריך.
אפשר להשתמש במיפוי הבא כדי לאפשר לאיחוד שירותי אימות הזהויות של עומסי עבודה להשתמש בהצהרה של מזהה שם מטענת הנכונות (assertion) של SAML כדי לזהות את המשתמש באופן ייחודי:
google.subject=assertion.subject
אם הגדרתם שמדיניות הפקת ההצהרות תכלול הצהרות נוספות בטענות הנכונות (assertions) של SAML, אפשר להוסיף עוד מיפויים. לדוגמה:
google.groups=assertion.attributes['http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid'] attribute.userip=['http://schemas.microsoft.com/2014/09/requestcontext/claims/userip'][0]
לחלופין, אפשר להגדיר תנאי למאפיין. תנאים למאפיינים הם ביטויים ב-CEL שאפשר לבדוק בהם טענת נכוֹנוּת (assertion) ומאפייני יעד.
אם בפרטי כניסה מסוימים הערך של התנאי למאפיין הוא true, הפרטים האלה מאושרים. אם הוא לא מקבל הערך הזה, זה אומר שפרטי הכניסה נדחו.
OIDC
אפשר להשתמש בתנאי למאפיין כדי להגביל את הלקוחות שיכולים להשתמש באיחוד שירותי אימות הזהות של עומסי עבודה כדי לקבל אסימוניGoogle Cloud לטווח קצר.
לדוגמה, התנאי הבא מגדיר שהאפליקציות צריכות להשתמש ב-IWA כדי לאמת מול AD FS:
assertion.authmethod=='http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/windows'
כדי לשלוט ברשימת האפליקציות שיכולות לקבל פרטי כניסה לטווח קצר ל- Google Cloud, לא מגדירים תנאים למאפיינים. במקום זאת, משתמשים בהרשאות לקוח ב-AD FS כדי להגדיר אילו אפליקציות מורשות.
SAML או WS-Trust
אפשר להשתמש בתנאי למאפיין כדי להגביל את המשתמשים ב-Active Directory שיכולים להשתמש באיחוד שירותי אימות הזהות של עומסי עבודה כדי לקבלGoogle Cloud אסימונים לטווח קצר.
לדוגמה, התנאי הבא מאפשר רק טענות נכונות (assertions) של SAML שכוללות הצהרה מסוימת על חברות בקבוצה:
"S-1-5-6" in google.groups
יצירת מאגר וספק הזהויות של כוח העבודה
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרה של איחוד זהויות של עומסי עבודה, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
אדמין במאגר זהויות של עומסי עבודה (
roles/iam.workloadIdentityPoolAdmin) -
אדמין בחשבון שירות (
roles/iam.serviceAccountAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
לחלופין, התפקיד הבסיסי 'בעלים' ב-IAM (roles/owner) כולל
גם הרשאות להגדרה של איחוד שירותי אימות הזהות.
אסור להקצות תפקידים בסיסיים בסביבת ייצור, אבל אפשר להקצות אותם בסביבת פיתוח או בדיקה.
המסוף
במסוף Google Cloud , עוברים לדף New workload provider and pool.
בקטע Create an identity pool, מזינים את הפרטים הבאים:
- Name: השם של המאגר. השם משמש גם כמזהה המאגר. אי אפשר לשנות את מזהה המאגר בשלב מאוחר יותר.
- Description: טקסט שמתאר את המטרה של המאגר.
לוחצים על Continue.
קובעים את הגדרות הספק:
OIDC
- Select a provider: בוחרים את הספק OpenID Connect (OIDC).
- Provider name: שם הספק. השם משמש גם כמזהה הספק. אי אפשר יהיה לשנות את מזהה הספק מאוחר יותר.
- Issuer URL:
https://ADFS_DOMAIN/adfs.ADFS_DOMAINהוא השם הדומיין הציבורי של השרת או החווה של AD FS.
SAML
כדי להגדיר איחוד שירותי אימות הזהות של עומסי עבודה מ-IdP תואם 2.0 SAML, אפשר להשתמש בהוראות ה-CLI של gcloud.
לוחצים על Continue.
בקטע Configure provider attributes, מוסיפים את מיפויי המאפיינים שזיהיתם קודם לכן.
בקטע Attribute conditions, מזינים את התנאי למאפיין שזיהיתם קודם לכן. אם אין תנאי למאפיין, השאירו את השדה ריק.
לוחצים על Save כדי ליצור את הספק ואת מאגר הזהויות של כוח העבודה.
gcloud
יוצרים מאגר זהויות חדש של כוח עבודה:
gcloud iam workload-identity-pools create WORKLOAD_POOL_ID \ --location="global" \ --description="DESCRIPTION" \ --display-name="DISPLAY_NAME"מחליפים את הערכים בשדות הבאים:
WORKLOAD_POOL_ID: מזהה ייחודי של המאגר.DISPLAY_NAME: שם המאגר.DESCRIPTION: תיאור המאגר. התיאור מופיע כשמעניקים גישה לזהויות במאגר.
הוספת ספק מאגר זהויות של כוח עבודה:
OIDC
gcloud iam workload-identity-pools providers create-oidc WORKLOAD_PROVIDER_ID \ --location="global" \ --workload-identity-pool="WORKLOAD_POOL_ID" \ --issuer-uri="https://ADFS_DOMAIN/adfs" \ --allowed-audiences="RELYING_PARTY_ID" \ --attribute-mapping="MAPPINGS" \ --attribute-condition="CONDITIONS"מחליפים את הערכים בשדות הבאים:
WORKLOAD_PROVIDER_ID: מזהה ייחודי של הספק.WORKLOAD_POOL_ID: מזהה המאגר.ADFS_DOMAIN: שם הדומיין הציבורי של שרת או חוות AD FS.RELYING_PARTY_ID: מזהה הצד הנסמך של אפליקציית Web API למאגר זהויות של כוח עבודה ב-AD FS. הפרמטר נדרש רק אם משתמשים במזהה מותאם אישית של צד נסמך.MAPPINGS: רשימה מופרדת בפסיקים שלמיפויי מאפיינים שזיהיתם קודם לכן.CONDITIONS: התנאי למאפיין שזיהיתם קודם לכן. אם אין לכם תנאי למאפיין, אפשר להסיר את הפרמטר.
התוספת לשם המאפיין
gcp-שמורה ואי אפשר להשתמש בה במזהה של מאגר זהויות של כוח עבודה או של ספק מאגר זהויות של כוח עבודה.SAML או WS-Trust
curl -O https://ADFS_DOMAIN/federationmetadata/2007-06/federationmetadata.xml gcloud iam workload-identity-pools providers create-saml WORKLOAD_PROVIDER_ID \ --location="global" \ --workload-identity-pool="POOL_ID" \ --idp-metadata-path="federationmetadata.xml" \ --attribute-mapping="MAPPINGS" \ --attribute-condition="CONDITIONS"מחליפים את הערכים בשדות הבאים:
WORKLOAD_PROVIDER_ID: מזהה ייחודי של הספק.ADFS_DOMAIN: שם הדומיין של שרת AD FS או חוות שרתים.WORKLOAD_POOL_ID: מזהה המאגר.MAPPINGS: רשימה מופרדת בפסיקים שלמיפויי מאפיינים שזיהיתם קודם לכן.CONDITIONS: אופציונלי: תנאי למאפיין שיצרתם מוקדם יותר במדריך.
התוספת לשם המאפיין
gcp-שמורה ואי אפשר להשתמש בה במזהה של מאגר זהויות של כוח עבודה או של ספק מאגר זהויות של כוח עבודה.דוגמה:
gcloud iam workload-identity-pools providers create-saml example-provider \ --location="global" \ --workload-identity-pool="pool-1" \ --idp-metadata-path="federationmetadata.xml" \ --attribute-mapping=google.subject=assertion.subject"אופציונלי: אישור טענות נכונות (assertions) מוצפנות של SAML מה-IdP
כדי לאפשר ל-IdP ב-SAML 2.0 ליצור טענות נכוֹנוּת (assertions) של SAML מוצפן שאיחוד שירותי אימות הזהות של עומסי עבודה יכול לאשר, צריך לבצע את הפעולות הבאות:
- באיחוד שירותי אימות הזהות של עומסי עבודה, מבצעים את הפעולות הבאות:
- יוצרים זוג מפתחות אסימטריים לספק מאגר הזהויות של כוח העבודה.
- מורידים קובץ אישור שמכיל את המפתח הציבורי.
- מגדירים את ספק הזהויות ב-SAML כך שישתמש במפתח הציבורי להצפנה של טענות הנכוֹנוּת שהוא מנפיק ב-SAML.
- מבצעים את הפעולות הבאות בספק הזהויות:
- מפעילים הצפנה של טענות נכונות (assertions), שנקראת גם הצפנת אסימונים.
- מעלים את המפתח הציבורי שיצרתם באיחוד שירותי אימות הזהות של עומסי עבודה.
- מוודאים שה-IdP מייצר טענות נכונות (assertions) של SAML מוצפן.
יצירת מפתחות הצפנה של טענות נכונות (assertions) של SAML לאיחוד שירותי אימות הזהות של עומסי עבודה
הקטע מסביר איך ליצור זוג מפתחות אסימטריים שמאפשר לאיחוד שירותי אימות הזהות של עומסי עבודה לקבל טענות נכונות (assertions) מוצפנות של SAML.
Google Cloud משתמש במפתח הפרטי כדי לפענח את טענות הנכונות (assertions) ב-SAML שה-IdP מנפיק. כדי ליצור זוג מפתחות אסימטריים להצפנה ב-SAML, מריצים את הפקודה הבאה. מידע נוסף זמין במאמר אלגוריתמים נתמכים להצפנה ב-SAML.
gcloud iam workload-identity-pools providers keys create KEY_ID \ --workload-identity-pool WORKLOAD_POOL_ID \ --provider WORKLOAD_PROVIDER_ID \ --location global \ --use encryption \ --spec KEY_SPECIFICATION
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_ID: שם המפתח שבחרתם -
WORKLOAD_POOL_ID: מזהה המאגר -
WORKLOAD_PROVIDER_ID: המזהה של ספק מאגר הזהויות של כוח העבודה -
KEY_SPECIFICATION: מפרט המפתחות, שיכול להיות אחד מאלה:rsa-2048, rsa-3072אוrsa-4096.
אחרי שיוצרים את זוג המפתחות, מריצים את הפקודה הבאה כדי להוריד את המפתח הציבורי לקובץ האישור. רק לאיחוד שירותי אימות הזהות של עומסי העבודה יש גישה למפתח הפרטי.
gcloud iam workload-identity-pools providers keys describe KEY_ID \ --workload-identity-pool WORKLOAD_POOL_ID \ --provider WORKLOAD_PROVIDER_ID \ --location global \ --format "value(keyData.key)" \ > CERTIFICATE_PATH
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_ID: שם המפתח -
WORKLOAD_POOL_ID: מזהה המאגר -
WORKLOAD_PROVIDER_ID: המזהה של ספק מאגר הזהויות של כוח העבודה CERTIFICATE_PATH: הנתיב שבו האישור ייכתב. לדוגמה:saml-certificate.cerאוsaml-certificate.pem
הגדרת ה-IdP שתואם ל-SAML 2.0 להנפקה של טענות נכונות (assertions) מוצפנות של SAML
- מעבירים את קובץ האישור לשרת AD FS.
- בשרת AD FS, לוחצים לחיצה ימנית על Start (או מקישים על Win+X) ואז לוחצים על Windows PowerShell (Admin).
-
ב-PowerShell, מריצים את הפקודה הבאה כדי להפעיל את ההצפנה:
Set-AdfsRelyingPartyTrust ` -TargetName NAME ` -SamlResponseSignature MessageAndAssertion ` -EncryptionCertificate PATH ` -EncryptClaims $Trueמחליפים את הערכים בשדות הבאים:
NAME: שם האמון של הצד הנסמך-
PATH: הנתיב של קובץ האישור
משתמשי WS-Trust: התכונה זמינה רק כשמשתמשים ב-SAML.
אחרי שמגדירים את IdP להצפנת טענות נכונות (assertions) של SAML, מומלץ לבדוק שטענות הנכונות (assertions) שנוצרות הן אכן מוצפנות. גם כשמוגדרת הצפנת טענות נכונות (assertions) של SAML, איחוד שירותי אימות הזהות של עומסי עבודה עדיין יכול לעבד טענות נכונות (assertions) בטקסט ללא הצפנה.
מחיקת מפתחות ההצפנה של איחוד שירותי אימות הזהות של עומסי עבודה
כדי למחוק מפתחות הצפנה של SAML, צריך להריץ את הפקודה הבאה:gcloud iam workload-identity-pools providers keys delete KEY_ID \ --workload-identity-pool WORKLOAD_POOL_ID \ --provider WORKLOAD_PROVIDER_ID \ --location global
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_ID: שם המפתח -
WORKLOAD_POOL_ID: מזהה המאגר -
WORKLOAD_PROVIDER_ID: המזהה של ספק מאגר הזהויות של כוח העבודה
באילו אלגוריתמים אפשר להשתמש להצפנה ב-SAML
איחוד שירותי אימות הזהות של עומסי עבודה תומך באלגוריתמים הבאים לתעבורת מפתחות:
- http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
- http://www.w3.org/2009/xmlenc11#rsa-oaep"
- http://www.w3.org/2001/04/xmlenc#rsa-1_5"
איחוד שירותי אימות הזהות של עומסי עבודה תומך באלגוריתמים הבאים של הצפנת בלוקים:
אופציונלי: הפעלת הצפנה ב-SAML
טענות נכוֹנוּת (assertion) של SAML שמונפקות על ידי AD FS חתומות באופן קריפטוגרפי ומועברות דרך ערוץ TLS מוצפן. עם זאת, הצהרות ה-SAML עצמן לא מוצפנות. באמצעות הצפנה של SAML, אתם יכולים להגדיר את AD FS להצפנת טענות הנכוֹנוּת (assertions) כך שרק מאגר זהויות של עומסי עבודה יוכל לפענח ולקרוא אותן.
OIDC
התכונה הזו זמינה רק כשמשתמשים ב-SAML.
SAML או WS-Trust
יוצרים מפתח הצפנה לספק מאגר הזהויות של עומסי עבודה:
gcloud iam workload-identity-pools providers keys create rsa2048 \ --workload-identity-pool=POOL_ID \ --provider=WORKLOAD_PROVIDER_ID \ --location=global \ --use=ENCRYPTION \ --spec=RSA_2048מחליפים את מה שכתוב בשדות הבאים:
-
WORKLOAD_PROVIDER_ID: מזהה הספק. -
POOL_ID: מזהה המאגר.
זוג המפתחות מאוחסן ומנוהל על ידי איחוד שירותי אימות הזהות של עומסי העבודה. אפשר לייצא את המפתח הציבורי, אבל רק לאיחוד שירותי אימות הזהות של עומסי העבודה יש גישה למפתח הפרטי.
-
מייצאים אישור שמכיל את המפתח הציבורי:
gcloud iam workload-identity-pools providers keys describe rsa2048 \ --workload-identity-pool=POOL_ID \ --provider=WORKLOAD_PROVIDER_ID \ --location=global \ --format="value(keyData.key)" > workload-identity-federation.cerמעבירים את קובץ האישור לשרת AD FS.
בשרת AD FS, לוחצים לחיצה ימנית על Start ואז לוחצים על Windows PowerShell (Admin).
ב-PowerShell, משנים את אמון הצד הנסמך כך שישתמש בהצפנה:
Set-AdfsRelyingPartyTrust ` -TargetName NAME ` -SamlResponseSignature MessageAndAssertion ` -EncryptionCertificate PATH ` -EncryptClaims $True
מחליפים את מה שכתוב בשדות הבאים:
NAME: שם האמון של הצד הנסמך-
PATH: הנתיב של קובץ האישור
אימות של עומס עבודה
צריך לבצע את ההוראות האלה פעם אחת לכל עומס עבודה.
מתן הרשאה לעומס העבודה החיצוני לגשת למשאבי Google Cloud
כדי להעניק לעומס העבודה גישה למשאבים של Google Cloud , מומלץ להעניק לישות הראשית גישה ישירה למשאבים. במקרה הזה, הגורם המרכזי הוא המשתמש המאוחד. יש Google Cloud מוצרים עם מגבלות של Google Cloud API. אם עומס העבודה קורא לנקודת קצה ל-API שיש לה מגבלה, אפשר במקום זאת להשתמש בהתחזות לחשבון שירות. במקרה הזה, חשבון המשתמש הואGoogle Cloud חשבון השירות, שמשמש כזהות. מעניקים גישה לחשבון השירות במשאב.
גישה ישירה למשאבים
אפשר להעניק גישה לזהות מאוחדת ישירות למשאבים באמצעות מסוף Google Cloud או ה-CLI של gcloud.
המסוף
כדי להשתמש במסוף Google Cloud כדי להקצות תפקידי IAM ישירות למשאב, צריך לעבור לדף של המשאב ואז להקצות את התפקיד. בדוגמה הבאה מוצגות ההוראות למעבר לדף Cloud Storage ולהענקת התפקיד 'צפייה באובייקט אחסון' (roles/storage.objectViewer) לזהות מאוחדת ישירות בקטגוריה של Cloud Storage.
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שבה רוצים להעניק את התפקיד.
לוחצים על הכרטיסייה Permissions בחלק העליון של הדף.
לוחצים על הלחצן add_boxGrant access.
מופיעה תיבת הדו-שיח Add principals.
בשדה New principals, מזינים את הזהות (או הזהויות) שצריכה גישה לקטגוריה.
לפי נושא
principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECTמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: מספר הפרויקט -
POOL_ID: המזהה של מאגר הזהויות של עומסי העבודה -
SUBJECT: הנושא האישי שמופה מה-IdP, לדוגמה:administrator@example.com
לפי קבוצה
principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUPמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: מספר הפרויקט -
WORKLOAD_POOL_ID: המזהה של מאגר הזהויות של עומסי העבודה -
GROUP: הקבוצה שממופה מה-IdP (לדוגמה:administrator-group@example.com)
לפי תכונה
principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUEמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: מספר הפרויקט -
WORKLOAD_POOL_ID: המזהה של מאגר הזהויות של עומסי העבודה -
ATTRIBUTE_NAME: אחד מהמאפיינים שמופו מה-IdP -
ATTRIBUTE_VALUE: הערך של המאפיין
-
בוחרים תפקיד (או תפקידים) בתפריט הנפתח Select a rol. התפקידים שבחרתם יופיעו בחלונית עם תיאור קצר של ההרשאות שהם מעניקים.
לוחצים על Save.
gcloud
כדי להשתמש ב-CLI של gcloud כדי להקצות תפקידי IAM למשאב בפרויקט, מבצעים את הפעולות הבאות:
מקבלים את מספר הפרויקט שבו מוגדר המשאב.
gcloud projects describe $(gcloud config get-value core/project) --format=value\(projectNumber\)
נותנים גישה למשאב.
כדי להשתמש ב-CLI של gcloud כדי להעניק את התפקיד Storage Object Viewer (
roles/storage.objectViewer) לזהויות חיצוניות שעומדות בקריטריונים מסוימים, מריצים את הפקודה הבאה.לפי נושא
gcloud storage buckets add-iam-policy-binding BUCKET_ID \ --role=roles/storage.objectViewer \ --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT"לפי קבוצה
gcloud storage buckets add-iam-policy-binding BUCKET_ID \ --role=roles/storage.objectViewer \ --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP"לפי תכונה
gcloud storage buckets add-iam-policy-binding BUCKET_ID \ --role=roles/storage.objectViewer \ --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE"מחליפים את מה שכתוב בשדות הבאים:
-
BUCKET_ID: הקטגוריה שרוצים לתת לה גישה -
PROJECT_NUMBER: מספר הפרויקט שמכיל את מאגר הזהויות של עומסי העבודה. -
POOL_ID: מזהה מאגר הזהויות של עומסי העבודה -
SUBJECT: הערך הצפוי של המאפיין שמיפיתם ל-google.subject -
GROUP: הערך הצפוי של המאפיין שמיפיתם ל-google.groups -
ATTRIBUTE_NAME: השם של המאפיין בהתאמה אישית במיפוי המאפיינים שלכם -
ATTRIBUTE_VALUE: הערך של המאפיין בהתאמה אישית במיפוי המאפיינים
אפשר להקצות תפקידים לכל Google Cloud משאב שתומך במדיניות הרשאות של IAM.
-
התחזות לחשבון שירות
כדי ליצור חשבון שירות לעומס העבודה החיצוני, צריך לבצע את הפעולות הבאות:
Enable the IAM, Security Token Service, and Service Account Credentials APIs.
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.יצירת חשבון שירות שמייצג את עומס העבודה. מומלץ להשתמש בחשבון שירות ייעודי לכל עומס עבודה. חשבון השירות לא חייב להיות באותו פרויקט כמו מאגר הזהויות של עומסי העבודה, אבל אתם צריכים להפנות לפרויקט שמכיל את חשבון השירות.
הענקת גישה לחשבון השירות למשאבים שאליהם רוצים שלזהויות חיצוניות תהיה גישה.
כדי לאפשר לזהות המאוחדת להתחזות לחשבון השירות, מבצעים את הפעולות הבאות:
המסוף
כדי להשתמש במסוף Google Cloud כדי להעניק תפקידי IAM לזהות מאוחדת עם חשבון שירות, מבצעים את הפעולות הבאות:
חשבון שירות באותו פרויקט
כדי לתת גישה באמצעות התחזות לחשבון שירות שנמצא באותו פרויקט, מבצעים את הפעולות הבאות:
עוברים לדף Workload Identity Pools.
בוחרים באפשרות הענקת גישה.
בתיבת הדו-שיח Grant access to service account, בוחרים באפשרות Grant access using Service Account impersonation.
ברשימה Service accounts, בוחרים את חשבון השירות שאליו הזהויות החיצוניות יתחזו, ומבצעים את הפעולות הבאות:
כדי לבחור אילו זהויות מהמאגר יכולות להתחזות לחשבון השירות, מבצעים את אחת מהפעולות הבאות:
כדי לאפשר רק לזהויות ספציפיות ממאגר הזהויות של עומסי העבודה להתחזות לחשבון השירות, בוחרים באפשרות Only identities matching the filter.
ברשימה שם מאפיין, בוחרים את המאפיין שרוצים לסנן לפיו.
בשדה ערך מאפיין, מזינים את הערך הצפוי של המאפיין; לדוגמה, אם משתמשים במיפוי מאפיין
google.subject=assertion.sub, מגדירים את שם מאפיין להיותsubjectואת ערך מאפיין לערך של ההצהרהsubבאסימונים שהונפקו על ידי ספק הזהויות החיצוני.
כדי לשמור את ההגדרות האישיות, לוחצים על Save ואז על Dismiss.
חשבון שירות בפרויקט אחר
כדי לתת גישה באמצעות התחזות לחשבון שירות בחשבון שירות בפרויקט אחר, מבצעים את הפעולות הבאות:
עוברים לדף Service Accounts.
בוחרים את חשבון השירות שרוצים להתחזות אליו.
לוחצים על ניהול הגישה.
לוחצים על Add principal.
בשדה New principal, מזינים אחד ממזהי הגורמים המורשים הבאים של הזהויות במאגר שיתחזו לחשבון השירות.
לפי נושא
principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECTמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: מספר הפרויקט -
POOL_ID: המזהה של מאגר הזהויות של עומסי העבודה -
SUBJECT: הנושא האישי שמופה מה-IdP, לדוגמה:administrator@example.com
לפי קבוצה
principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUPמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: מספר הפרויקט -
WORKLOAD_POOL_ID: המזהה של מאגר הזהויות של עומסי העבודה -
GROUP: הקבוצה שממופה מה-IdP (לדוגמה:administrator-group@example.com)
לפי תכונה
principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUEמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: מספר הפרויקט -
WORKLOAD_POOL_ID: המזהה של מאגר הזהויות של עומסי העבודה -
ATTRIBUTE_NAME: אחד מהמאפיינים שמופו מה-IdP -
ATTRIBUTE_VALUE: הערך של המאפיין
לפי בריכה
principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/*מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_NUMBER: מספר הפרויקט -
WORKLOAD_POOL_ID: המזהה של מאגר הזהויות של עומסי העבודה
-
ברשימת התפקידים Select a role (בחירת תפקיד), בוחרים את התפקיד Workload Identity User (משתמש ב-Workload Identity) (
roles/iam.workloadIdentityUser).כדי לשמור את ההגדרות, לוחצים על שמירה.
gcloud
כדי להקצות את התפקיד Workload Identity User (roles/iam.workloadIdentityUser) לישות מורשית מאוחדת או לקבוצת ישויות מורשות, מריצים את הפקודה הבאה. מידע נוסף על מזהי ישויות מורשות של איחוד שירותי אימות הזהות של עומסי עבודה זמין במאמר סוגי חשבון משתמש.
לפי נושא
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
--role=roles/iam.workloadIdentityUser \
--member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT"לפי קבוצה
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
--role=roles/iam.workloadIdentityUser \
--member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/group/GROUP"לפי תכונה
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
--role=roles/iam.workloadIdentityUser \
--member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE"מחליפים את מה שכתוב בשדות הבאים:
SERVICE_ACCOUNT_EMAIL: כתובת האימייל של חשבון השירות-
PROJECT_NUMBER: מספר הפרויקט שמכיל את מאגר הזהויות של עומסי העבודה. -
POOL_ID: מזהה מאגר הזהויות של עומסי העבודה -
SUBJECT: הערך הצפוי של המאפיין שמיפיתם ל-google.subject -
GROUP: הערך הצפוי של המאפיין שמיפיתם ל-google.groups -
ATTRIBUTE_NAME: השם של המאפיין בהתאמה אישית במיפוי המאפיינים שלכם -
ATTRIBUTE_VALUE: הערך של המאפיין בהתאמה אישית במיפוי המאפיינים
הגדרות אישיות של פרטי הכניסה
אתם יכולים לאפשר לספריות לקוח של Cloud ולכלים כמו ה-CLI של gcloud ו-Terraform להשתמש בפרטי הכניסה של Active Directory כדי לבצע אימות ב- Google Cloud באמצעות Workload Authenticator for Windows.
Workload Authenticator for Windows הוא כלי בקוד פתוח שמשמש כפלאגין של ספריות לקוח של Cloud, וכלים כמו CLI של gcloud:
- כשהכלי או הספרייה צריכים פרטי כניסה חדשים, מתבצעת הפעלה ברקע של Workload Authenticator.
- Workload Authenticator משתמש ב-OIDC, ב-SAML או ב-WS-Trust כדי לקבל אסימון חדש או טענת נכונות (assertion) של SAML מ-AD FS, ומחזיר אותו לכלי או לספרייה.
- לאחר מכן הכלי או הספרייה מחליפים את האסימון או את טענת הנכונות (assertion) של SAML ב Google Cloud פרטי כניסה לטווח קצר באמצעות איחוד שירותי אימות הזהות של עומסי עבודה.
כדי להשתמש ב-Workload Authenticator for Windows, צריך ליצור קובץ תצורה של פרטי כניסה. הקובץ יגדיר את הפרטים הבאים:
- המיקום של קובץ ההפעלה של Workload Authenticator for Windows (
wwauth.exe), והפרמטרים שצריך להריץ איתו - מאגר וספק הזהויות של כוח עבודה שבהם צריך להשתמש
- חשבון השירות שצריך להתחזות אליו
כדי ליצור קובץ תצורה של פרטי כניסה, צריך לבצע את הפעולות הבאות בשרת Windows שמריץ את עומס העבודה:
- לוחצים לחיצה ימנית על Start (או מקישים על Win+X) ואז לוחצים על Windows PowerShell.
מורידים את Workload Authenticator for Windows ושומרים אותו במיקום שעומס העבודה יכול לגשת אליו:
(New-Object Net.WebClient).DownloadFile( "https://github.com/GoogleCloudPlatform/iam-windows-authenticator/releases/latest/download/wwauth.exe", "${env:ProgramData}\wwauth.exe")אם תיצרו קובץ תצורה של פרטי כניסה באמצעות Workload Authenticator for Windows, הקובץ יכיל את הנתיב לקובץ ההפעלה שלו. אם תמחקו או תעבירו את קובץ ההפעלה מאוחר יותר, עומסי העבודה לא יוכלו למצוא את קובץ ההפעלה ולהשתמש בו.
הפעלה של
wwauth.exe:& ${env:ProgramData}\wwauth.exeנפתחת תיבת דו-שיח של הגדרות:

בוחרים בכרטיסייה AD FS ומזינים את ההגדרות הבאות:
Issuer URI of AD FS server: ה-URI הציבורי של השרת או החווה של AD FS.
https://ADFS_DOMAIN/adfs/
מחליפים את
ADFS_DOMAINבשם הדומיין הציבורי של שרת או חוות השרתים של AD FS.
ההגדרות הבאות תלויות בפרוטוקול שבו רוצים להשתמש:
OIDC
- Protocol: AdfsOidc
- Relying party ID: שומרים את ברירת המחדל.
- Client ID – מזהה הלקוח (Client ID) של אפליקציית השרת ב-AD FS.
SAML
- Protocol: AdfsSamlPost
- Assertion consumer service URL:
https://sts.googleapis.com/v1/token. - Sign requests using certificate: disabled
WS-Trust
- Protocol: AdfsWsTrust
בוחרים את הכרטיסייה Workload Identity ומזינים את ההגדרות הבאות:
- Project number: מספר הפרויקט שמכיל את מאגר הזהויות של כוח העבודה
- Pool ID: מזהה של מאגר זהויות של כוח עבודה
- Provider ID: המזהה של ספק מאגר זהויות של כוח עבודה
- Impersonate service account: enabled, if you use service account impersonation
- כתובת אימייל: כתובת האימייל של חשבון השירות, אם משתמשים בהתחזות לחשבון שירות
בוחרים בכרטיסייה AD FS ומוודאים שהשדה Relying Party ID מכיל עכשיו את כתובת ה-URL של ספק מאגר הזהויות של כוח העבודה.
לוחצים על Apply ובוחרים את מיקום הקובץ שבו יישמר קובץ התצורה של פרטי הכניסה.
בניגוד למפתח של חשבון שירות, קובץ תצורה של פרטי כניסה לא מכיל סודות כלשהם ואין צורך לשמור אותו בסודיות. פרטים לגבי קובץ התצורה של פרטי הכניסה מופיעים בכתובת https://google.aip.dev/auth/4117.
עכשיו אפשר לבדוק את ההגדרות:
בוחרים משתמש Active Directory שאיתו תתבצע הבדיקה. הוא יכול להיות המשתמש ב-Active Directory של עומס העבודה או המשתמש שאיתו מחוברים כרגע.
כדי לבדוק את התצורה עם המשתמש הנוכחי, לוחצים על Test.
כדי לבדוק עם משתמש אחר, בוחרים Test > Test configuration as user ומזינים את פרטי הכניסה של המשתמש.
הכלי עכשיו מנסה לבצע אימות ב- Google Cloud באמצעות השלבים הבאים:
- קבלת אסימון OIDC או טענת נכונות (assertion) של SAML מ-AD FS.
- קבלת אסימון מהממשק Security Token Service של Google.
- התחזות לחשבון השירות, אם משתמשים בהתחזות לחשבון שירות.
אם האימות יצליח, תופיע ההודעה Test completed successfully:

שימוש בהגדרות פרטי הכניסה כדי לקבל גישה אל Google Cloud
כדי לאפשר לכלים ולספריות לקוח להשתמש בתצורת פרטי הכניסה, צריך לבצע את הפעולות הבאות בשרת Windows שמריץ את עומס העבודה:
- לוחצים לחיצה ימנית על Start ואז על Run.
- מזינים
sysdm.cplולוחצים על OK. - בכרטיסייה Advanced, לוחצים על Environment variables.
בקטע System variables, מוסיפים שני משתנים חדשים:
Name Value GOOGLE_APPLICATION_CREDENTIALSנתיב לקובץ התצורה של פרטי הכניסה GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES1מומלץ מאוד לערוך את קובץ ההגדרות של פרטי הכניסה ולהשתמש בנקודת קצה אזורית של שירות אסימוני אבטחה, אם היא זמינה.
לוחצים על OK.
משתמשים בספריית לקוח או בכלי שתומכים באיחוד שירותי אימות הזהות של עומסי עבודה, ויכולים למצוא פרטי כניסה באופן אוטומטי:
C++
ספריות הלקוח של C++Google Cloud תומכות באיחוד שירותי אימות הזהות של עומסי עבודה החל מגרסה v2.6.0. כדי להשתמש באיחוד שירותי אימות הזהות של עומסי עבודה, צריך ליצור את ספריות הלקוח ב-gRPC בגרסה 1.36.0 ואילך.
Go
ספריות לקוח ל-Go תומכות באיחוד שירותי אימות הזהות של עומסי עבודה אם נעשה בהן שימוש במודול
golang.org/x/oauth2בגרסה v0.0.0-20210218202405-ba52d332ba99 ואילך.כדי לבדוק באיזו גרסה של המודול הזה נעשה שימוש בספריית הלקוח, מפעילים את הפקודות האלה:
cd $GOPATH/src/cloud.google.com/go go list -m golang.org/x/oauth2Java
ספריות לקוח של Java תומכות באיחוד שירותי אימות הזהות של עומסי עבודה אם הן משתמשות בארטיפקט
com.google.auth:google-auth-library-oauth2-httpבגרסה 0.24.0 ואילך.כדי לבדוק באיזו גרסה של הארטיפקט הזה נעשה שימוש בספריית הלקוח, בספרייה של האפליקציה מפעילים את פקודת Maven הזאת:
mvn dependency:list -DincludeArtifactIds=google-auth-library-oauth2-httpNode.js
ספריות לקוח של Node.js תומכות באיחוד שירותי אימות הזהות של עומסי עבודה אם הן משתמשות בגרסה 7.0.2 ואילך של חבילת
google-auth-library.כדי לבדוק באיזו גרסה של החבילה הזאת נעשה שימוש בספריית הלקוח, בספרייה של האפליקציה מפעילים את פקודת Maven הזאת:
npm list google-auth-libraryכשיוצרים אובייקט
GoogleAuth, אפשר לציין מזהה פרויקט או לאפשר ל-GoogleAuthלאתר את מזהה הפרויקט באופן אוטומטי. כדי לאתר את מזהה הפרויקט באופן אוטומטי, צריך להקצות לחשבון השירות בקובץ התצורה את התפקיד דפדפן (roles/browser) או תפקיד עם הרשאות דומות בפרויקט. לפרטים נוספים, ראוREADMEלחבילתgoogle-auth-library.Python
ספריות לקוח של Python תומכות באיחוד זהויות של עומסי עבודה אם הן משתמשות בגרסה 1.27.0 ואילך של חבילת
google-auth.כדי לבדוק באיזו גרסה של החבילה הזאת נעשה שימוש בספריית הלקוח, בסביבה שהחבילה מותקנת בה מפעילים את הפקודה:
pip show google-authכדי לציין מזהה פרויקט ללקוח האימות, תוכלו להגדיר את משתנה הסביבה
GOOGLE_CLOUD_PROJECTאו לאפשר ללקוח למצוא את מזהה הפרויקט באופן אוטומטי. כדי לאתר את מזהה הפרויקט באופן אוטומטי, צריך להקצות לחשבון השירות בקובץ התצורה את התפקיד דפדפן (roles/browser) או תפקיד עם הרשאות דומות בפרויקט. לפרטים נוספים, ראו מדריך למשתמש לחבילתgoogle-auth.gcloud
כדי לבצע אימות באמצעות איחוד שירותי אימות הזהות של עומסי עבודה, משתמשים בפקודה
gcloud auth login:gcloud auth login --cred-file=FILEPATH.json
מחליפים את
FILEPATHבנתיב לקובץ התצורה של פרטי הכניסה.ב-CLI של gcloud יש תמיכה באיחוד שירותי אימות הזהות של עומסי עבודה ב-CLI של gcloud בגרסה 363.0.0 ואילך.
Terraform
יש תמיכה באיחוד שירותי אימות הזהות של עומסי עבודה אם משתמשים בספקGoogle Cloud בגרסה 3.61.0 ואילך:
terraform { required_providers { google = { source = "hashicorp/google" version = "~> 3.61.0" } } }BQ
כדי לבצע אימות באמצעות איחוד שירותי אימות הזהויות של עומסי עבודה, משתמשים בפקודה
gcloud auth login:gcloud auth login --cred-file=FILEPATH.json
מחליפים את
FILEPATHבנתיב לקובץ התצורה של פרטי הכניסה.ב-bq, יש תמיכה באיחוד שירותי אימות הזהויות של עומסי עבודה ב-CLI של gcloud בגרסה 390.0.0 ואילך.
המאמרים הבאים
- מידע נוסף על איחוד זהויות של עומסי עבודה
- שיטות מומלצות לשימוש באיחוד שירותי אימות הזהות של עומסי עבודה
- איך אפשר לבצע ניהול ספקים ומאגרים של זהויות של עומסי עבודה