במדריך הזה מוסבר איך להגדיר את איחוד שירותי אימות הזהות של כוח עבודה בספק זהויות (IdP) שתומך ב-OIDC או ב-SAML 2.0.
להוראות ספציפיות ל-IdP מסוים, תוכלו להיעזר בדפים הבאים:
- הגדרה של איחוד שירותי אימות הזהות של כוח עבודה שמבוסס על Microsoft Entra ID
- הגדרה של איחוד שירותי אימות הזהות של כוח עבודה שמבוסס על Okta
לפני שמתחילים
- ודאו שיש לכם ארגון מוגדר ב- Google Cloud .
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
Enable the Identity and Access Management (IAM) and Resource Manager 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. - כדי להיכנס לחשבון, ספק הזהויות שלכם צריך לספק פרטי אימות חתומים: ספקי זהויות שתומכים ב-OIDC צריכים לספק אסימון JWT, ותשובות שמגיעות מספקי זהויות שתומכים ב-SAML חייבות להיות חתומות.
- כדי לקבל מידע חשוב על שינויים בארגון או במוצרים שלכם, אתם צריכים לספק אנשי קשר חיוניים.Google Cloud מידע נוסף זמין במאמר סקירה כללית על איחוד שירותי אימות הזהות של כוח עבודה.
עלויות
איחוד שירותי אימות הזהות של כוח עבודה זמין כתכונה ללא עלות. עם זאת, רישום מפורט ביומני הביקורת של איחוד שירותי אימות הזהות של כוח עבודה מתבצע באמצעות Cloud Logging. מידע על התמחור של Logging זמין במאמר התמחור של Google Cloud Observability.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להגדרה של איחוד זהויות של כוח עבודה, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM אדמין של מאגר זהויות של כוח עבודה (roles/iam.workforcePoolAdmin) בארגון.
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
לחלופין, התפקיד הבסיסי של הבעלים (roles/owner) כולל גם הרשאות להגדרת איחוד שירותי אימות הזהות של כוח עבודה.
בסביבת ייצור לא מומלץ להקצות תפקידים בסיסיים, אבל אפשר להעניק אותם בסביבת פיתוח או בסביבת בדיקה.
הגדרת איחוד שירותי אימות הזהויות של כוח העבודה
כדי להגדיר את איחוד שירותי אימות הזהות של כוח עבודה, אתם יוצרים מאגר זהויות של כוח עבודה וספק של מאגר זהויות של כוח עבודה.
יצירת מאגר זהויות של כוח העבודה
כדי ליצור את המאגר, מפעילים את הפקודה הבאה:
gcloud
כדי ליצור את מאגר הזהויות של כוח העבודה, מריצים את הפקודה הבאה:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
מחליפים את מה שכתוב בשדות הבאים:
-
WORKFORCE_POOL_ID: המזהה שבחרתם כדי לייצג את Google Cloud מאגר כוח העבודה. המזהה של המאגר חייב להיות ייחודי באופן גלובלי בכל מאגרי הזהויות של כוח העבודה ב- Google Cloud. מידע על הפורמט של המזהה מופיע בקטע פרמטרים של שאילתה במאמרי העזרה של ה-API. -
ORGANIZATION_ID: מזהה הארגון (מספרי) של Google Cloud הארגון שלכם במאגר הזהויות של כוח העבודה. מאגרי זהויות של כוח עבודה זמינים בכל הפרויקטים והתיקיות בארגון. -
DISPLAY_NAME: אופציונלי. השם המוצג של מאגר הזהויות של כוח העבודה. -
DESCRIPTION: אופציונלי. תיאור של מאגר הזהויות של כוח העבודה. -
SESSION_DURATION: אופציונלי. משך הסשן, שמוצג כמספר עם התוספתs—לדוגמה,3600s. משך הסשן קובע לכמה זמן יהיו פעילים אסימוני הגישה, המסוף (איחוד), החיבור לסשן והחיבור ל-CLI של gcloud מהמאגר של כוח העבודה. Google Cloud משך הסשן מוגדר כברירת מחדל לשעה אחת (3,600 שניות). ערך משך הסשן צריך להיות בין 15 דקות (900 שניות) ל-12 שעות (43,200 שניות).
המסוף
כדי ליצור את מאגר הזהויות של כוח העבודה:
במסוף Google Cloud , עוברים לדף Workforce Identity Pools:
בוחרים את הארגון שרוצים ליצור בו מאגר זהויות של כוח העבודה. מאגרי זהויות של כוח עבודה זמינים בכל הפרויקטים והתיקיות בארגון.
לוחצים על Create pool ומבצעים את הפעולות הבאות:
בשדה Name, מזינים את שם התצוגה של המאגר. מזהה המאגר נוצר אוטומטית מהשם בזמן ההקלדה, והוא מוצג מתחת לשדה שם. כדי לעדכן את מזהה המאגר, לוחצים על עריכה לצד מזהה המאגר.
אופציונלי: בשדה Description (תיאור), מזינים תיאור של המאגר.
כדי ליצור את מאגר הזהויות של כוח העבודה, לוחצים על Next.
משך הסשן במאגר הזהויות של כוח העבודה הוא שעה (3,600 שניות) כברירת מחדל. משך הסשן קובע לכמה זמן יהיו פעילים אסימוני הגישה, המסוף (איחוד) והחיבור לסשן והחיבור ל-ה-CLI של gcloud מהמאגר של כוח העבודה. Google Cloud אחרי שיוצרים את המאגר, אפשר לעדכן את המאגר כדי להגדיר משך סשן בהתאמה אישית. משך הסשן צריך להיות בין 15 דקות (900 שניות) ל-12 שעות (43,200 שניות).
יצירת ספק של מאגר זהויות של כוח עבודה
בקטע הזה מוסבר איך ליצור ספק מאגר זהויות של כוח עבודה כדי לאפשר למשתמשים ב-IdP שלכם לגשת אל Google Cloud. אתם יכולים להגדיר את הספק לשימוש בפרוטוקול OIDC או בפרוטוקול SAML.
יצירת ספק של מאגר זהויות של כוח העבודה ב-OIDC
כדי ליצור ספק של מאגר זהויות של כוח העבודה באמצעות פרוטוקול OIDC, מבצעים את הפעולות הבאות:
ב-IdP שתומך ב-OIDC, רושמים אפליקציה חדשה לאיחוד שירותי אימות הזהות של כוח עבודה Google Cloud. שימו לב למזהה הלקוח ול-URI של המנפיק שסופק על ידי ה-IdP. תצטרכו להשתמש בהם בהמשך המאמר.
אם אתם מתכננים להגדיר גישה של משתמשים למסוף, אתם צריכים להוסיף את כתובת ה-URL להפניה האוטומטית ב-IdP שתומך ב-OIDC:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_IDמחליפים את מה שכתוב בשדות הבאים:
WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה
WORKFORCE_PROVIDER_ID: המזהה של ספק הזהויות של כוח העבודה שתיצרו בהמשך המסמך הזה.
במאמר איך להגדיר גישה של משתמש למסוף (המאוחד) מוסבר איך להגדיר כניסה לחשבון במסוף (המאוחד).
ב- Google Cloud, כדי ליצור את הספק:
gcloud
זרימת קוד
כדי ליצור ספק מסוג OIDC שמשתמש בהרשאה באמצעות קוד לכניסה לאינטרנט, מפעילים את הפקודה הבאה:
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \
--client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --detailed-audit-logging \ --location=globalמחליפים את מה שכתוב בשדות הבאים:
-
WORKFORCE_PROVIDER_ID: מזהה ייחודי של ספק מאגר הזהויות של כוח העבודה. התוספת לשם המאפייןgcp-שמורה ואי אפשר להשתמש בה במזהה של מאגר זהויות של כוח עבודה או של ספק מאגר זהויות של כוח עבודה. -
WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה שאליו רוצים לחבר את ה-IdP. -
DISPLAY_NAME: שם תצוגה ידידותי למשתמש בשביל הספק (לא חובה); לדוגמה,idp-eu-employees. -
DESCRIPTION: תיאור של ספק כוח העבודה (לא חובה), לדוגמה,IdP for Partner Example Organization employees. -
ISSUER_URI: ה-URI של מנפיק OIDC, בפורמט URI תקין שמתחיל ב-https. לדוגמה:https://example.com/oidc. הערה: מטעמי אבטחה,ISSUER_URIצריך להשתמש בסכמת HTTPS. -
OIDC_CLIENT_ID: מזהה הלקוח ב-OIDC שרשום ב-IdP של OIDC. המזהה צריך להיות תואם להצהרתaudשל ה-JWT שמונפקת על ידי ה-IdP. OIDC_CLIENT_SECRET: סוד הלקוח ב-OIDC.-
WEB_SSO_ADDITIONAL_SCOPES: היקפי הרשאות אופציונליים לשליחה ל-IdP של OIDC בשביל המסוף (איחוד) או בשביל כניסה באמצעות הדפדפן ל-CLI של gcloud. -
ATTRIBUTE_MAPPING: מיפוי מאפיינים. דוגמה למיפוי מאפיינים: בדוגמה הזו, מאפייני ה-IdPgoogle.subject=assertion.oid google.groups=assertion.groups, attribute.costcenter=assertion.costcenterassertion.oid,assertion.groupsו-assertion.costcenterבטענת הנכונות (assertion) של OIDC ממופים למאפיינים Google Cloud google.subject,google.groupsו-attribute.costcenterבהתאמה. -
ATTRIBUTE_CONDITION: תנאי של מאפיין, לדוגמהassertion.role == 'gcp-users'. התנאי הזה מבטיח שרק משתמשים עם התפקידgcp-usersיוכלו להיכנס באמצעות הספק הזה. -
JWK_JSON_PATH: נתיב אופציונלי למפתחות JWK ב-OIDC שהועלו באופן מקומי. אם לא מוסיפים את הפרמטר הזה,המערכת של Google Cloud תשתמש בנתיב/.well-known/openid-configurationשל ה-IdP כדי למצוא את מפתחות ה-JWK שמכילים את המפתחות הציבוריים. למידע נוסף על מפתחות JWK של OIDC שהועלו באופן מקומי, אפשר לעיין במאמר בנושא ניהול מפתחות JWK של OIDC. -
איחוד שירותי אימות הזהות של כוח עבודה יוצר יומני ביקורת מפורטים שכוללים מידע שהתקבל מ-IdP ב-Logging. רישום מפורט ביומן הביקורת יכול לעזור לכם לפתור בעיות בהגדרות של ספק הזהויות של כוח העבודה. כדי ללמוד איך לפתור בעיות במיפוי מאפיינים באמצעות רישום מפורט ביומן הביקורת, אפשר לעיין במאמר בנושא בעיות כלליות במיפוי מאפיינים. למידע על התמחור של Logging, ראו תמחור של Google Cloud Observability.
כדי להשבית את הרישום המפורט ביומן הביקורת של ספק מאגר זהויות של כוח עבודה, משמיטים את הדגל
--detailed-audit-loggingכשמריצים את הפקודהgcloud iam workforce-pools providers create. כדי להשבית את רישום הביקורת המפורט, אפשר גם לעדכן את הספק.
locations/global/workforcePools/enterprise-example-organization-employees.זרם הענקת גישה משתמע
כדי ליצור ספק OIDC שמשתמש בזרם הענקת גישה משתמע בשביל כניסה לאינטרנט, מריצים את הפקודה הבאה:
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \ --web-sso-response-type="id-token" \ --web-sso-assertion-claims-behavior="only-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --detailed-audit-logging \ --location=globalמחליפים את מה שכתוב בשדות הבאים:
-
WORKFORCE_PROVIDER_ID: מזהה ייחודי של ספק מאגר הזהויות של כוח העבודה. התוספת לשם המאפייןgcp-שמורה ואי אפשר להשתמש בה במזהה של מאגר זהויות של כוח עבודה או של ספק מאגר זהויות של כוח עבודה. -
WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה שאליו רוצים לחבר את ה-IdP. -
DISPLAY_NAME: שם תצוגה ידידותי למשתמש בשביל הספק (לא חובה); לדוגמה,idp-eu-employees. -
DESCRIPTION: תיאור של ספק כוח העבודה (לא חובה), לדוגמה,IdP for Partner Example Organization employees. -
ISSUER_URI: ה-URI של מנפיק OIDC, בפורמט URI תקין שמתחיל ב-https. לדוגמה:https://example.com/oidc. הערה: מטעמי אבטחה,ISSUER_URIצריך להשתמש בסכמת HTTPS. -
OIDC_CLIENT_ID: מזהה הלקוח ב-OIDC שרשום ב-IdP של OIDC. המזהה צריך להיות תואם להצהרתaudשל ה-JWT שמונפקת על ידי ה-IdP. -
WEB_SSO_ADDITIONAL_SCOPES: היקפי הרשאות אופציונליים לשליחה ל-IdP של OIDC בשביל המסוף (איחוד) או בשביל כניסה באמצעות הדפדפן ל-CLI של gcloud. -
ATTRIBUTE_MAPPING: מיפוי מאפיינים. דוגמה למיפוי מאפיינים: בדוגמה הזו, מאפייני ה-IdPgoogle.subject=assertion.oid google.groups=assertion.groups, attribute.costcenter=assertion.costcenterassertion.oid,assertion.groupsו-assertion.costcenterבטענת הנכונות (assertion) של OIDC ממופים למאפיינים Google Cloud google.subject,google.groupsו-attribute.costcenterבהתאמה. -
ATTRIBUTE_CONDITION: תנאי של מאפיין, לדוגמהassertion.role == 'gcp-users'. התנאי הזה מבטיח שרק משתמשים עם התפקידgcp-usersיוכלו להיכנס באמצעות הספק הזה. -
JWK_JSON_PATH: נתיב אופציונלי למפתחות JWK ב-OIDC שהועלו באופן מקומי. אם לא מוסיפים את הפרמטר הזה,המערכת של Google Cloud תשתמש בנתיב/.well-known/openid-configurationשל ה-IdP כדי למצוא את מפתחות ה-JWK שמכילים את המפתחות הציבוריים. למידע נוסף על מפתחות JWK של OIDC שהועלו באופן מקומי, אפשר לעיין במאמר בנושא ניהול מפתחות JWK של OIDC. -
איחוד שירותי אימות הזהות של כוח עבודה יוצר יומני ביקורת מפורטים שכוללים מידע שהתקבל מ-IdP ב-Logging. רישום מפורט ביומן הביקורת יכול לעזור לכם לפתור בעיות בהגדרות של ספק הזהויות של כוח העבודה. כדי ללמוד איך לפתור בעיות במיפוי מאפיינים באמצעות רישום מפורט ביומן הביקורת, אפשר לעיין במאמר בנושא בעיות כלליות במיפוי מאפיינים. למידע על התמחור של Logging, ראו תמחור של Google Cloud Observability.
כדי להשבית את הרישום המפורט ביומן הביקורת של ספק מאגר זהויות של כוח עבודה, משמיטים את הדגל
--detailed-audit-loggingכשמריצים את הפקודהgcloud iam workforce-pools providers create. כדי להשבית את רישום הביקורת המפורט, אפשר גם לעדכן את הספק.
locations/global/workforcePools/enterprise-example-organization-employees.התוספת לשם המאפיין
gcp-שמורה ואי אפשר להשתמש בה במזהה של מאגר זהויות של כוח עבודה או של ספק מאגר זהויות של כוח עבודה.לאיחוד OIDC, אפשר להשתמש במאפיין
assertion.NAME: מחרוזת עם ערך זהה לערך של ההצהרה בעלת השם הדומה במטען הייעודי (payload) של האסימון המזהה.המסוף
זרימת קוד
כדי ליצור ספק OIDC שמשתמש בהרשאה באמצעות קוד במסוף Google Cloud :
במסוף Google Cloud , עוברים לדף Workforce Identity Pools:
בטבלה Workforce Identity Pools (מאגרי זהויות של כוח עבודה), בוחרים את המאגר שעבורו רוצים ליצור את הספק.
בקטע ספקים, לוחצים על הוספת ספק.
ברשימה Select a Provider vendor בוחרים את ספק ה-IdP.
אם ספק הזהויות שלכם לא מופיע ברשימה, בוחרים באפשרות ספק זהויות כללי.
בקטע Select an authentication protocol, בוחרים באפשרות OpenID Connect (OIDC).
בקטע Create a provider (יצירת ספק), מבצעים את הפעולות הבאות:
- בקטע שם, מזינים את שם הספק.
- בשדה תיאור, מזינים את התיאור של הספק.
- בקטע מנפיק (כתובת URL), מזינים את ה-URI של המנפיק. ה-URI של מנפיק OIDC צריך להיות בפורמט URI תקין ולהתחיל ב-
https. לדוגמה:https://example.com/oidc. - בקטע מזהה לקוח, מזינים את מזהה הלקוח ב-OIDC שרשום ב-IdP של OIDC. המזהה צריך להיות תואם להצהרת
audשל ה-JWT שמונפקת על ידי ה-IdP. כדי ליצור ספק שמופעל, מוודאים שהאפשרות הפעלת הספק מופעלת.
- לוחצים על Continue.
בקטע Share your provider information with IdP (שיתוף פרטי הספק עם IdP), מעתיקים את כתובת ה-URL. ב-IdP, מגדירים את כתובת ה-URL הזו כ-URI להפניה אוטומטית, כדי שה-IdP יידע לאן לשלוח את אסימון טענת הנכוֹנוּת (assertion) אחרי הכניסה לחשבון.
לוחצים על Continue.
בקטע Configure OIDC Web Sign-in (הגדרת כניסה לאינטרנט באמצעות OIDC), מבצעים את הפעולות הבאות:
- ברשימה סוג הזרימה, בוחרים באפשרות קוד.
ברשימה Assertion claims behavior, בוחרים באחת מהאפשרויות הבאות:
- פרטי משתמש ואסימון מזהה
- אסימון מזהה בלבד
בשדה Client secret (סוד הלקוח), מזינים את סוד הלקוח מספק ה-IdP.
אופציונלי: אם בחרתם ב-Okta כספק הזהויות, מוסיפים היקפי הרשאות נוספים של OIDC בשדה Additional scopes beyond openid, profile, and email (היקפי הרשאות נוספים מעבר ל-openid, לפרופיל ולאימייל).
לוחצים על Continue.
בקטע Configure provider, אפשר להגדיר מיפוי מאפיינים ותנאי מאפיינים. כדי ליצור מיפוי מאפיינים, מבצעים את הפעולות הבאות. אפשר לציין את שם השדה של IdP או ביטוי בפורמט CEL שמחזיר מחרוזת.
חובה: בשדה OIDC 1, מזינים את הנושא מ-IdP – לדוגמה,
assertion.sub.אופציונלי: כדי להוסיף מיפויים נוספים של מאפיינים:
- לוחצים על הוספת מיפוי.
- ב-Google n, כאשר n הוא מספר, מזינים אחד מהמקשים הנתמכים ב-Google Cloud.
- בשדה המתאים OIDC n, מזינים את השם של השדה הספציפי ל-IdP שרוצים למפות, בפורמט CEL.
אם בחרתם ב-Microsoft Entra ID כספק הזהויות, אתם יכולים להגדיל את מספר הקבוצות.
- בוחרים באפשרות שימוש במאפיינים נוספים.
- בשדה Extra Attributes Issuer URI (מזהה URI של מנפיק מאפיינים נוספים), מזינים את כתובת ה-URL של המנפיק.
- בשדה מזהה לקוח של מאפיינים נוספים, מזינים את מזהה הלקוח.
- בשדה Extra Attributes Client Secret (סוד לקוח של מאפיינים נוספים), מזינים את סוד הלקוח.
- ברשימה Extra Attributes Type, בוחרים סוג מאפיין למאפיינים נוספים.
- בשדה Extra Attributes Filter, מזינים ביטוי סינון שמשמש לשליחת שאילתות ל-Microsoft Graph API לגבי קבוצות.
כדי ליצור תנאי מאפיין:
- לוחצים על הוספת תנאי.
- בשדה Attribute Conditions, מזינים תנאי בפורמט CEL. לדוגמה:
assertion.role == 'gcp-users'. התנאי הזה מבטיח שרק משתמשים עם התפקידgcp-usersיוכלו להיכנס באמצעות הספק הזה.
כדי להפעיל רישום מפורט ביומן הביקורת, בקטע רישום מפורט, לוחצים על המתג הפעלת רישום ביומן הביקורת של ערכי מאפיינים.
איחוד שירותי אימות הזהות של כוח עבודה יוצר יומני ביקורת מפורטים שכוללים מידע שהתקבל מ-IdP ב-Logging. רישום מפורט ביומן הביקורת יכול לעזור לכם לפתור בעיות בהגדרות של ספק הזהויות של כוח העבודה. כדי ללמוד איך לפתור בעיות במיפוי מאפיינים באמצעות רישום מפורט ביומן הביקורת, אפשר לעיין במאמר בנושא בעיות כלליות במיפוי מאפיינים. למידע על התמחור של Logging, ראו תמחור של Google Cloud Observability.
כדי להשבית את הרישום המפורט ביומן הביקורת של ספק מאגר זהויות של כוח עבודה, משמיטים את הדגל
--detailed-audit-loggingכשמריצים את הפקודהgcloud iam workforce-pools providers create. כדי להשבית את רישום הביקורת המפורט, אפשר גם לעדכן את הספק.
כדי ליצור את הספק, לוחצים על Submit (שליחה).
זרם הענקת גישה משתמע
כדי ליצור ספק OIDC שמשתמש בזרם הענקת גישה משתמע במסוף Google Cloud :
במסוף Google Cloud , עוברים לדף Workforce Identity Pools:
בטבלה Workforce Identity Pools (מאגרי זהויות של כוח עבודה), בוחרים את המאגר שעבורו רוצים ליצור את הספק.
בקטע ספקים, לוחצים על הוספת ספק.
ברשימה Select a Provider vendor בוחרים את ספק ה-IdP.
אם ספק הזהויות שלכם לא מופיע ברשימה, בוחרים באפשרות ספק זהויות כללי.
בקטע Select an authentication protocol, בוחרים באפשרות OpenID Connect (OIDC).
בקטע Create a provider (יצירת ספק), מבצעים את הפעולות הבאות:
- בקטע שם, מזינים את שם הספק.
- בשדה תיאור, מזינים את התיאור של הספק.
- בקטע מנפיק (כתובת URL), מזינים את ה-URI של המנפיק. ה-URI של מנפיק OIDC צריך להיות בפורמט URI תקין ולהתחיל ב-
https. לדוגמה:https://example.com/oidc. - בקטע מזהה לקוח, מזינים את מזהה הלקוח ב-OIDC שרשום ב-IdP של OIDC. המזהה צריך להיות תואם להצהרת
audשל ה-JWT שמונפקת על ידי ה-IdP. - כדי ליצור ספק שמופעל, מוודאים שהאפשרות הפעלת הספק מופעלת.
- לוחצים על Continue.
בקטע Share your provider information with IdP (שיתוף פרטי הספק עם IdP), מעתיקים את כתובת ה-URL. ב-IdP, מגדירים את כתובת ה-URL הזו ככתובת ה-URI להפניה אוטומטית, שמציינת ל-IdP לאן לשלוח את אסימון הנכוֹנוּת אחרי הכניסה לחשבון.
לוחצים על Continue.
בקטע Configure OIDC Web Sign-in (הגדרת כניסה לאינטרנט באמצעות OIDC), מבצעים את הפעולות הבאות:
ברשימה סוג התהליך, בוחרים באפשרות ID Token.
ברשימה Assertion claims behavior (התנהגות של הצהרות על טענות), האפשרות ID token (טוקן מזהה) מסומנת.
אופציונלי: אם בחרתם ב-Okta כספק הזהויות, מוסיפים היקפי הרשאות נוספים של OIDC בשדה Additional scopes beyond openid, profile, and email (היקפי הרשאות נוספים מעבר ל-openid, לפרופיל ולאימייל).
לוחצים על Continue.
בקטע Configure provider, אפשר להגדיר מיפוי מאפיינים ותנאי מאפיינים. כדי ליצור מיפוי מאפיינים, מבצעים את הפעולות הבאות. אפשר לציין את שם השדה של IdP או ביטוי בפורמט CEL שמחזיר מחרוזת.
חובה: ב-OIDC 1, מזינים את הנושא מ-IdP. לדוגמה,
assertion.sub.אופציונלי: כדי להוסיף מיפויים נוספים של מאפיינים:
- לוחצים על הוספת מיפוי.
- ב-Google n, כאשר n הוא מספר, מזינים אחד מהמקשים הנתמכים ב-Google Cloud.
- בשדה המתאים OIDC n, מזינים את השם של השדה הספציפי ל-IdP שרוצים למפות, בפורמט CEL.
אם בחרתם ב-Microsoft Entra ID כספק הזהויות, אתם יכולים להגדיל את מספר הקבוצות.
- בוחרים באפשרות שימוש במאפיינים נוספים.
- בשדה Extra Attributes Issuer URI (מזהה URI של מנפיק מאפיינים נוספים), מזינים את כתובת ה-URL של המנפיק.
- בשדה מזהה לקוח של מאפיינים נוספים, מזינים את מזהה הלקוח.
- בשדה Extra Attributes Client Secret (סוד לקוח של מאפיינים נוספים), מזינים את סוד הלקוח.
- ברשימה Extra Attributes Type, בוחרים סוג מאפיין למאפיינים נוספים.
- בשדה Extra Attributes Filter, מזינים ביטוי סינון שמשמש לשליחת שאילתות ל-Microsoft Graph API לגבי קבוצות.
כדי ליצור תנאי מאפיין:
- לוחצים על הוספת תנאי.
- בשדה Attribute Conditions, מזינים תנאי בפורמט CEL. לדוגמה:
assertion.role == 'gcp-users'. התנאי הזה מבטיח שרק משתמשים עם התפקידgcp-usersיוכלו להיכנס באמצעות הספק הזה.
כדי להפעיל רישום מפורט ביומן הביקורת, בקטע רישום מפורט, לוחצים על המתג הפעלת רישום ביומן הביקורת של ערכי מאפיינים.
איחוד שירותי אימות הזהות של כוח עבודה יוצר יומני ביקורת מפורטים שכוללים מידע שהתקבל מ-IdP ב-Logging. רישום מפורט ביומן הביקורת יכול לעזור לכם לפתור בעיות בהגדרות של ספק הזהויות של כוח העבודה. כדי ללמוד איך לפתור בעיות במיפוי מאפיינים באמצעות רישום מפורט ביומן הביקורת, אפשר לעיין במאמר בנושא בעיות כלליות במיפוי מאפיינים. למידע על התמחור של Logging, ראו תמחור של Google Cloud Observability.
כדי להשבית את הרישום המפורט ביומן הביקורת של ספק מאגר זהויות של כוח עבודה, משמיטים את הדגל
--detailed-audit-loggingכשמריצים את הפקודהgcloud iam workforce-pools providers create. כדי להשבית את רישום הביקורת המפורט, אפשר גם לעדכן את הספק.
כדי ליצור את הספק, לוחצים על Submit (שליחה).
-
יצירת ספק של מאגר זהויות של כוח עבודה ב-SAML
ב-IdP שתומך ב-SAML, רושמים אפליקציה חדשה לאיחוד שירותי אימות הזהות של כוח העבודה ב- Google Cloud.
מגדירים את הקהל לטענת הנכוֹנוּת (assertion) של SAML. בדרך כלל משתמשים בשדה
SP Entity IDבהגדרות שלכם ב-IdP. צריך להגדיר אותו כך שיכיל את כתובת ה-URL הבאה:https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_IDמגדירים את כתובת ה-URL להפניה אוטומטית, שנקראת גם כתובת ה-URL של Assertion Consumer Service (ACS). כדי להגדיר את כתובת ה-URL להפניה אוטומטית, מאתרים את השדה של כתובת ה-URL להפניה אוטומטית ב-IdP של SAML, ומבצעים אחת מהפעולות הבאות:
כדי להגדיר כניסה באמצעות דפדפן דרך מסוף Google Cloud או שיטה אחרת לכניסה באמצעות דפדפן, מזינים את כתובת ה-URL הבאה:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_IDמחליפים את מה שכתוב בשדות הבאים:
WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה
WORKFORCE_PROVIDER_ID: המזהה של ספק הזהויות של כוח העבודה שתיצרו בהמשך המסמך הזה.
כדי להגדיר כניסה באמצעות תוכנה דרך ה-IdP, מזינים את כתובת ה-URL הבאה:
localhost
פרטים נוספים זמינים במאמר הגדרת הגישה של משתמשים למסוף.
ב- Google Cloud, יוצרים ספק של מאגר זהויות של כוח עבודה ב-SAML באמצעות מסמך המטא-נתונים של SAML ב-IdP שלכם. אפשר להוריד את מסמך ה-XML של המטא-נתונים של SAML מה-IdP. המסמך צריך לכלול לפחות את הפרטים הבאים:
- מזהה ישות ב-SAML ל-IdP שלכם.
- כתובת ה-URL לכניסה יחידה (SSO) ל-IdP שלכם.
- לפחות מפתח ציבורי אחד לחתימה אפשר לקרוא פרטים נוספים על חתימת מפתחות בקטע דרישות עיקריות בהמשך המדריך הזה.
gcloud
כדי להגדיר את ספק ה-SAML באמצעות ה-CLI של gcloud:
gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--idp-metadata-path=METADATA_FILE_PATH \
--attribute-mapping="ATTRIBUTE_MAPPING" \
--attribute-condition="ATTRIBUTE_CONDITION" \
--location=global
מחליפים את מה שכתוב בשדות הבאים:
WORKFORCE_PROVIDER_ID: המזהה של ספק הזהויות של כוח העבודה.-
WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה. DISPLAY_NAMEהשם המוצג של הספק. לדוגמה:idp-eu-employees.-
DESCRIPTION: תיאור הספק של מאגר הזהויות של כוח העבודה. לדוגמה,IdP for Partner Example Organization EU employees. -
METADATA_FILE_PATH: הנתיב לקובץ המטא-נתונים של SAML.
ATTRIBUTE_MAPPING: מיפוי המאפיינים. לדוגמה: בדוגמה הזו, מאפייני ה-IdPgoogle.subject=assertion.oid attribute.costcenter=assertion.attributes.costcenter[0]assertion.oidו-assertion.attributes.costcenter[0]ממופים למאפיינים Google Cloud google.subjectו-attribute.costcenter, בהתאמה.
ATTRIBUTE_CONDITION: תנאי של מאפיין. לדוגמה, כדי להגביל את המאפייןipaddrלטווח מסוים של כתובות IP, אפשר ליצור את התנאיassertion.attributes.ipaddr.startsWith('98.11.12.'). התנאי הזה מבטיח שרק משתמשים עם כתובת IP שמתחילה ב-98.11.12.יוכלו להיכנס באמצעות ספק הזהויות הזה לכוח העבודה.
יכול להיות שיחלפו כמה דקות עד שהספק יתחיל לקבל בקשות.
במקרה של איחוד של SAML, אפשר להשתמש במילות המפתח הבאות במיפויים ובתנאים של המאפיינים:
assertion.subject: מחרוזת שמכילה ערך זהה לזה של המאפייןNameIDבהצהרת של SAML.assertion.attributes.NAME: רשימת מחרוזות שמכילה ערכים זהים לאלו של המאפיינים בעלי השם הזהה בהצהרה של SAML.
אופציונלי: קבלת טענות נכוֹנוּת (assertions) מוצפנות של SAML מה-IdP
כדי לאפשר לספק הזהויות ב-SAML 2.0 לייצר טענות נכונות מוצפנות שיתקבלו על ידי איחוד שירותי אימות הזהות של כוח העבודה:
- באיחוד שירותי אימות הזהות של כוח העבודה מבצעים את הפעולות הבאות:
- יוצרים זוג מפתחות אסימטריים בשביל הספק של מאגר הזהויות של כוח העבודה.
- מורידים קובץ אישור שמכיל את המפתח הציבורי.
- מגדירים את ספק הזהויות ב-SAML כך שישתמש במפתח הציבורי להצפנה של טענות הנכוֹנוּת שהוא מנפיק ב-SAML.
- מבצעים את הפעולות הבאות בספק הזהויות:
- מפעילים את ההצפנה של טענות הנכוֹנוּת, שנקראת גם הצפנה באמצעות אסימון.
- מעלים את המפתח הציבורי שיצרתם באיחוד שירותי אימות הזהות של כוח העבודה.
- מוודאים שה-IdP מייצר טענות נכונות (assertions) מוצפנות ב-SAML.
יצירת מפתחות הצפנה לטענות נכוֹנוּת ב-SAML של איחוד שירותי אימות הזהות של כוח העבודה
בחלק הזה מוסבר איך יוצרים זוג מפתחות אסימטריים שמאפשר לאיחוד שירותי אימות הזהות של כוח העבודה לקבל טענות נכוֹנוּת מוצפנות ב-SAML.
Google Cloud משתמש במפתח הפרטי כדי לפענח את טענות הנכונות (assertions) ב-SAML שה-IdP מנפיק. כדי ליצור זוג מפתחות אסימטריים להצפנה ב-SAML, מריצים את הפקודה הבאה. מידע נוסף זמין במאמר אלגוריתמים נתמכים להצפנה ב-SAML.
gcloud iam workforce-pools providers keys create KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --use encryption \ --spec KEY_SPECIFICATION
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_ID: שם המפתח שבחרתם -
WORKFORCE_POOL_ID: מזהה המאגר -
WORKFORCE_PROVIDER_ID: המזהה של ספק מאגר הזהויות של כוח העבודה -
KEY_SPECIFICATION: מפרט המפתחות, שיכול להיות אחד מאלה:rsa-2048, rsa-3072אוrsa-4096.
אחרי שיוצרים את זוג המפתחות, מריצים את הפקודה הבאה כדי להוריד את המפתח הציבורי לקובץ האישור. רק לאיחוד שירותי אימות הזהות של כוח העבודה יש גישה למפתח הפרטי.
gcloud iam workforce-pools providers keys describe KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --format "value(keyData.key)" \ > CERTIFICATE_PATH
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_ID: שם המפתח -
WORKFORCE_POOL_ID: מזהה המאגר -
WORKFORCE_PROVIDER_ID: המזהה של ספק מאגר הזהויות של כוח העבודה CERTIFICATE_PATH: הנתיב שבו האישור ייכתב. לדוגמה:saml-certificate.cerאוsaml-certificate.pem
הגדרת ה-IdP (שתואם ל-SAML 2.0) כך שינפיק טענת נכוֹנוּת (assertion) מוצפנות של SAML
מגדירים את ה-IdP שתומך ב-SAML כך שישתמש באישור הציבורי שהורדתם בשלב הקודם כדי להצפין את טענות הנכוֹנוּת (assertion) של SAML שהוא מנפיק. לקבלת הוראות ספציפיות, אפשר לפנות לצוות ה-IdP שלכם.אחרי שמגדירים את ה-IdP כך שיצפין את טענות הנכוֹנוּת (assertion) של SAML, מומלץ לוודא שטענות הנכוֹנוּת שה-IdP מנפיק באמת מוצפנות. גם אם מוגדר להצפין את טענות הנכוֹנוּת ב-SAML, איחוד שירותי אימות הזהות של כוח העבודה עדיין יכול לעבד טענות נכוֹנוּת עם טקסט ללא הצפנה.
איך מוחקים את מפתחות ההצפנה של איחוד שירותי אימות הזהות של כוח העבודה
כדי למחוק את מפתחות ההצפנה ב-SAML, מריצים את הפקודה הבאה:gcloud iam workforce-pools providers keys delete KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_ID: שם המפתח -
WORKFORCE_POOL_ID: מזהה המאגר -
WORKFORCE_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"
באיחוד שירותי אימות הזהות של כוח העבודה אפשר להשתמש באלגוריתמים הבאים להצפנת בלוקים:
- http://www.w3.org/2001/04/xmlenc#aes128-cbc
- http://www.w3.org/2001/04/xmlenc#aes192-cbc
- http://www.w3.org/2001/04/xmlenc#aes256-cbc
- http://www.w3.org/2009/xmlenc11#aes128-gcm
- http://www.w3.org/2009/xmlenc11#aes256-gcm
דרישות למפתחות חתימה מסוג X.509 של SAML
מפרטי המפתחות הבאים חלים על מפתחות חתימה מסוג X.509 של SAML:
מפתח ציבורי מסוג RSA שעטוף באישור X.509 בגרסה v3.
הדרישות לגבי תוקף האישורים:
-
notBefore: חותמת זמן של 7 ימים לכל היותר בעתיד -
notAfter: חותמת זמן של 25 שנים לכל היותר בעתיד
-
אלגוריתמים מומלצים:
- RSAwithSHA256 (גדלי מפתחות נתמכים (בביטים): 2048, 3072, 4096)
- ECDSAwithSHA256
לכל ספק של מאגר זהויות של כוח עבודה אפשר להגדיר שלושה מפתחות חתימה לכל היותר בכל רגע נתון. כשיש כמה מפתחות,מערכת Google Cloudעוברת באיטרציות על המפתחות שעדיין בתוקף ומנסה להשתמש בכל מפתח כדי למלא בקשות להחלפת אסימונים.
כשיטה מומלצת לאבטחה, מומלץ מאוד לא להשתמש שוב באותו זוג מפתחות בשירותים אחרים.
ניהול מפתחות
כדי לעדכן את מפתחות החתימה שלכם ב-IdP:
יוצרים זוג מפתחות אסימטרי חדש ומשתמשים בו כדי להגדיר את ספק הזהויות של SAML. את זוג המפתחות מסמנים בהתחלה כלא פעיל ומפעילים אותו רק בשלב מאוחר יותר.
מורידים מסמך XML של המטא-נתונים של SAML מה-IdP.
מעדכנים את המשאב של הספק של מאגר זהויות של כוח עבודה באמצעות מסמך המטא-נתונים של SAML. כשיש כמה מפתחות,מערכת Google Cloud עוברת באיטרציות על המפתחות שעדיין בתוקף ומנסה להשתמש בכל מפתח כדי למלא בקשות להחלפת אסימונים.
כדי לעדכן את המטא-נתונים של SAML בספק של מאגר בזהויות של כוח עבודה, מפעילים את הפקודה הבאה.
gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --idp-metadata-path=SAML_METADATA_FILE_PATH \ --location=globalמחליפים את מה שכתוב בשדות הבאים:
-
WORKFORCE_PROVIDER_ID: המזהה של ספק הזהויות של כוח העבודה WORKFORCE_POOL_ID: מאגר הזהויות של כוח עבודהSAML_METADATA_FILE_PATH: הנתיב לקובץ המטא-נתונים של SAML
-
ממתינים עד שהפעולה שחוזרת מהשלב הקודם הושלמה (כשהפעולה מסומנת בתור done) ואז מפעילים את מפתח החתימה החדש ב-IdP של SAML. מפתח החתימה הישן מסומן כלא פעיל. טענות נכוֹנוּת (assertion) שהונפקו על ידי ה-IdP נחתמות באמצעות המפתח החדש.
השלבים הבאים הם אופציונליים, אבל מומלץ לבצע אותם כשיטה מומלצת:
- מוחקים את מפתח החתימה הישן (זה שכבר לא פעיל) מה-IdP.
- מורידים את מסמך ה-XML של המטא-נתונים של SAML מה-IdP.
מעדכנים את המשאב של הספק של מאגר הזהויות של כוח העבודה באמצעות מסמך המטא-נתונים של SAML. Google Cloud המערכת דוחה טענות נכוֹנוּת (assertions) שנחתמו באמצעות מפתח החתימה שתוקפו פג. כדי לעדכן את המסמך, מפעילים את הפקודה הבאה:
gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --idp-metadata-path=SAML_METADATA_FILE_PATH \ --location=globalמחליפים את מה שכתוב בשדות הבאים:
-
WORKFORCE_PROVIDER_ID: המזהה של ספק הזהויות של כוח העבודה WORKFORCE_POOL_ID: מאגר הזהויות של כוח עבודה-
SAML_METADATA_FILE_PATH: הנתיב של המטא-נתונים של SAML
-
אילוץ על מחיקת מפתחות
Google Cloud תדחה טענות נכוֹנוּת (assertion) שנחתמו באמצעות מפתח שנמחק.
המסוף
כדי להגדיר ספק שתומך ב-SAML באמצעות מסוף Google Cloud :
במסוף Google Cloud , עוברים לדף Workforce Identity Pools:
בטבלה Workforce Identity Pools (מאגרי זהויות של כוח עבודה), בוחרים את המאגר שרוצים ליצור לו את הספק.
בקטע ספקים, לוחצים על הוספת ספק.
ברשימה Select a Provider vendor בוחרים את ספק ה-IdP.
אם ספק ה-IdP שלכם לא מופיע ברשימה, בוחרים באפשרות ספק זהויות כללי.
בקטע Select an authentication protocol (בחירת פרוטוקול אימות), בוחרים באפשרות SAML.
בקטע Create a provider (יצירת ספק), מבצעים את הפעולות הבאות:
בשדה שם, מזינים שם לספק.
אופציונלי: בשדה Description, מזינים תיאור של הספק.
בקטע IDP metadata file (XML) (קובץ מטא-נתונים של ספק הזהויות (XML)), בוחרים את קובץ ה-XML של המטא-נתונים שיצרתם קודם במדריך הזה.
כדי ליצור ספק שמופעל, מוודאים שהאפשרות הפעלת הספק מופעלת.
לוחצים על Continue.
בקטע Share your provider information, מעתיקים את כתובות ה-URL. ב-IdP, מגדירים את כתובת ה-URL הראשונה כמזהה ישות ב-SAML, שמזהה את האפליקציה שלכם ב-IdP. מגדירים את כתובת ה-URL השנייה כמזהה ה-URI להפניה אוטומטית, שמציין ל-IdP לאן לשלוח את אסימון האישור אחרי הכניסה.
לוחצים על Continue.
בקטע Configure provider (הגדרת ספק), מבצעים את הפעולות הבאות:
בקטע מיפוי מאפיינים, מזינים ביטוי CEL עבור
google.subject.אופציונלי: כדי להזין מיפויים אחרים, לוחצים על הוספת מיפוי ומזינים מיפויים אחרים – לדוגמה:
בדוגמה הזו, מאפייני ה-IdPgoogle.subject=assertion.oid attribute.costcenter=assertion.attributes.costcenter[0]assertion.oidו-assertion.attributes.costcenter[0]ממופים למאפיינים Google Cloud google.subjectו-attribute.costcenter, בהתאמה.אם בחרתם ב-Microsoft Entra ID כספק הזהויות שלכם, אתם יכולים להגדיל את מספר הקבוצות על ידי ביצוע הפעולות הבאות:
- בוחרים באפשרות שימוש במאפיינים נוספים.
- בשדה Extra Attributes Issuer URI (מזהה URI של מנפיק מאפיינים נוספים), מזינים את כתובת ה-URL של המנפיק.
- בשדה מזהה לקוח של מאפיינים נוספים, מזינים את מזהה הלקוח.
- בשדה Extra Attributes Client Secret (סוד לקוח של מאפיינים נוספים), מזינים את סוד הלקוח.
- ברשימה Extra Attributes Type, בוחרים סוג מאפיין למאפיינים נוספים.
- בשדה Extra Attributes Filter, מזינים ביטוי סינון שמשמש לשליחת שאילתות ל-Microsoft Graph API לגבי קבוצות.
אופציונלי: כדי להוסיף תנאי של מאפיין, לוחצים על הוספת תנאי ומזינים ביטוי CEL שמייצג תנאי של מאפיין. לדוגמה, כדי להגביל את המאפיין
ipaddrלטווח מסוים של כתובות IP, אפשר ליצור את התנאיassertion.attributes.ipaddr.startsWith('98.11.12.'). התנאי הזה מבטיח שרק משתמשים עם כתובת IP שמתחילה ב-98.11.12.יוכלו להיכנס באמצעות ספק הזהויות הזה לכוח העבודה.לוחצים על Continue.
כדי להפעיל רישום מפורט ביומן הביקורת, בקטע רישום מפורט, לוחצים על המתג הפעלת רישום ביומן הביקורת של ערכי מאפיינים.
איחוד שירותי אימות הזהות של כוח עבודה יוצר יומני ביקורת מפורטים שכוללים מידע שהתקבל מ-IdP ב-Logging. רישום מפורט ביומן הביקורת יכול לעזור לכם לפתור בעיות בהגדרות של ספק הזהויות של כוח העבודה. כדי ללמוד איך לפתור בעיות במיפוי מאפיינים באמצעות רישום מפורט ביומן הביקורת, אפשר לעיין במאמר בנושא בעיות כלליות במיפוי מאפיינים. למידע על התמחור של Logging, ראו תמחור של Google Cloud Observability.
כדי להשבית את הרישום המפורט ביומן הביקורת של ספק מאגר זהויות של כוח עבודה, משמיטים את הדגל
--detailed-audit-loggingכשמריצים את הפקודהgcloud iam workforce-pools providers create. כדי להשבית את רישום הביקורת המפורט, אפשר גם לעדכן את הספק.
כדי ליצור את הספק, לוחצים על Submit (שליחה).
אימות ההגדרה של הספק
לפני שבודקים את תהליך הכניסה של משתמשי הקצה, אפשר לוודא שההגדרה של הספק נכונה ושהוא יכול להחליף אסימונים עם IdP. Google Cloud
בדף Validate your provider attributes במסוף Google Cloud יש כלי לצפייה במאפיינים שמאפשר לבדוק את ההגדרה באופן אינטראקטיבי ולנפות באגים בביטויים של Common Expression Language (CEL). בעזרת הכלי לבדיקת מאפיינים אפשר:
- צפייה במאפיינים הגולמיים שנשלחים בהצהרת ה-IdP.
- מוודאים שמיפויי המאפיינים והתנאים משנים את המאפיינים האלה בצורה נכונה.
- ניפוי באגים של ביטויי CEL מורכבים בזמן אמת.
כדי לוודא שהגדרתם את הספק בצורה נכונה:
- כדי להפעיל את תהליך הכניסה מבוסס-הדפדפן לאיחוד שירותי אימות הזהות של כוח עבודה, מוסיפים את
https://auth.cloud.google/signin-callback/locations/global/workforcePools/POOL_ID/providers/PROVIDER_IDלרשימת ה-URI להפניה אוטומטית המותרים ב-IdP. -
במסוף Google Cloud , עוברים אל Workforce Identity Pools.
כניסה לדף Workforce Identity Pools - ברשימת המאגרים, לוחצים על שם המאגר שרוצים לאמת.
- בדף פרטי מאגר כוח העבודה, לוחצים על השם של ספק הזהויות שרוצים לאמת.
- בדף פרטי הספק, לוחצים על ניפוי באגים של טוקן IdP.
- בתיבת הדו-שיח Sign in (כניסה), נכנסים ל-IdP בתור חשבון למטרות בדיקה.
בדף Validate your provider attributes (אימות המאפיינים של הספק) מוצגים המאפיינים הממופים והתוצאה של תנאי המאפיין.
בקטע Mapped attributes from your IdP token (מאפיינים ממופים מטוקן ספק הזהויות) מוצג אופן האכלוס של מאפייני Google, כמו google.subject, מטוקן ספק הזהויות על סמך הגדרת המיפוי. אם המיפוי שגוי, מופיע סמל שגיאה.
בקטע Attribute condition (תנאי למאפיין) מוצגת התוצאה הבוליאנית של התנאי. אם התנאי מקבל את הערך false, הכניסה נחסמת.
כדי לראות את אסימון הטענה המלא, לוחצים על הצגת האסימון המלא. כאן מוצג אובייקט ה-JSON הגולמי מ-IdP. כדי להפנות למאפיין ברמה העליונה במיפויים, משתמשים בפורמט assertion.PROPERTY_NAME.
עריכת הגדרת הספק
כדי לתקן שגיאות, אפשר לערוך את ההגדרות:
- בדף Validate your provider attributes (אימות מאפייני הספק), לוחצים על Edit (עריכה).
- מבצעים את השינויים הנדרשים.
- כדי להתחיל בדיקה חדשה ולראות את התוצאות המעודכנות, לוחצים על שמירה ואחזור מחדש של הטוקן.
מזהים של חשבונות משתמשים במאגרי כוח עבודה במדיניות IAM
בטבלה הבאה מפורטים מזהי הישויות המורשות הראשיים שמשמשים כדי להקצות תפקידים למשתמשים ספציפיים ולקבוצות משתמשים.
| זהויות | פורמט של מזהה |
|---|---|
| זהות יחידה במאגר זהויות של כוח עבודה |
principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE
|
| כל הזהויות של כוח העבודה בקבוצה |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/group/GROUP_ID
|
| כל הזהויות של כוח העבודה עם ערך מאפיין ספציפי |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/attribute.ATTRIBUTE_NAME/ATTRIBUTE_VALUE
|
| כל הזהויות במאגר זהויות של כוח עבודה |
principalSet://iam.googleapis.com/locations/global/workforcePools/POOL_ID/*
|
רשימה מלאה של מזהי ישויות מורשות מופיעה במאמר מזהים של ישויות מורשות.
הענקת תפקידי IAM לחשבונות משתמשים
אפשר להקצות תפקידים לחשבונות משתמשים, למשל לזהויות בודדות, לקבוצות של זהויות או למאגר שלם.
כדי להקצות תפקיד לחשבון משתמש בפרויקט, מפעילים את הפקודה הבאה:
gcloud projects add-iam-policy-binding PROJECT_ID \
--role="ROLE" \
--member="PRINCIPAL"
מחליפים את הערכים בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ROLE: התפקיד שאתם רוצים לתת-
PRINCIPAL: חשבון המשתמש. מידע נוסף זמין במאמר מזהים של חשבונות משתמשים בנושא איחוד שירותי אימות הזהות של כוח עבודה.
בדוגמה הבאה, הפקודה מקצה את התפקיד 'אדמין של נפח אחסון' (roles/storage.admin) לכל הזהויות בקבוצה: GROUP_ID:
gcloud projects add-iam-policy-binding my-project \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
מידע נוסף על הפורמט של חשבון משתמש מופיע במאמר מזהים של חשבונות משתמשים בנושא איחוד שירותי אימות הזהות של כוח עבודה.
מחק משתמשים
איחוד שירותי אימות הזהות של כוח עבודה יוצר מטא-נתונים ומשאבים של משתמשים עבור זהויות משתמשים מאוחדות. אם בוחרים למחוק משתמשים ב-IdP, צריך גם למחוק באופן מפורש את המשאבים האלה ב- Google Cloud. למידע נוסף, אפשר לעיין במאמר מחיקת המשתמשים באיחוד שירותי אימות הזהות של כוח עבודה והנתונים שלהם.
יכול להיות שמשאבים ימשיכו להיות משויכים למשתמש שנמחק. הסיבה לכך היא שמחיקת מטא-נתונים ומשאבים של משתמשים דורשת פעולה ארוכת טווח. אחרי שמתחילים למחוק את הזהות של משתמש, תהליכים שהמשתמש התחיל לפני המחיקה יכולים להמשיך לפעול עד שהם מסתיימים או עד שמבטלים אותם.
הגדרת SCIM
בקטע הזה מוסבר איך להגדיר דייר SCIM במאגר זהויות של כוח עבודה. מידע נוסף על SCIM זמין במאמר הקצאת הרשאות SCIM לאיחוד שירותי אימות הזהות של כוח עבודה.
כל מאגר זהויות של כוח עבודה תומך רק בדייר SCIM אחד. כדי להגדיר דייר SCIM חדש במאגר שכבר יש בו דייר, צריך קודם למחוק את הדייר הקיים באופן סופי.
הדגל --claim-mapping לדייר SCIM יכול להכיל רק ביטויים ספציפיים ב-Common Expression Language (CEL). כדי לראות אילו ביטויים נתמכים, אפשר לעיין במאמר מיפוי של מאפייני טוקן ו-SCIM.
כדי להגדיר מערכת לניהול זהויות בכמה דומיינים (SCIM), צריך לבצע את הפעולות הבאות:
הגדרת דייר וטוקן SCIM ב- Google Cloud
כדי להגדיר דייר SCIM ב- Google Cloud:
-
יוצרים דייר SCIM.
gcloud iam workforce-pools providers scim-tenants create SCIM_TENANT_ID \ --workforce-pool="WORKFORCE_POOL_ID" \ --provider="PROVIDER_ID" \ --display-name="SCIM_TENANT_DISPLAY_NAME" \ --description="SCIM_TENANT_DESCRIPTION" \ --claim-mapping="CLAIM_MAPPING" \ --location="global"מחליפים את מה שכתוב בשדות הבאים:
-
SCIM_TENANT_ID: מזהה של דייר SCIM. -
WORKFORCE_POOL_ID: המזהה של מאגר כוח העבודה שיצרתם קודם במסמך הזה. -
PROVIDER_ID: המזהה של ספק הזהויות של כוח העבודה שיצרתם קודם במסמך הזה. -
SCIM_TENANT_DISPLAY_NAME: שם מוצג לדייר SCIM. -
SCIM_TENANT_DESCRIPTION: תיאור של דייר SCIM. -
CLAIM_MAPPING: רשימה מופרדת בפסיקים של מיפויי מאפיינים. רשימה מורחבת של מאפייני מיפוי זמינה במאמר מיפוי של מאפייני טוקן ו-SCIM. מומלץ להשתמש במיפוי הבא ב-Gemini Enterprise: המאפייןgoogle.subject=user.emails[0].value.lowerAscii(),google.group=group.externalId
google.subjectשמיפיתם בדייר SCIM חייב להתייחס באופן ייחודי לאותן זהויות שמופו במאפייןgoogle.subjectבספק הזהויות של כוח העבודה באמצעות הדגל--attribute-mapping. אחרי שיוצרים את דייר SCIM, אי אפשר לעדכן את מיפוי הטענות. כדי להחליף אותו, אפשר למחוק את דייר SCIM באופן סופי וליצור מיד דייר חדש. מידע נוסף על שיקולים לשימוש ב-SCIM זמין במאמר בנושא תמיכה ב-SCIM.
-
-
בסיום הפקודה, מבצעים את הפעולות הבאות:
-
בשדה
baseUriבפלט, שומרים את מזהה ה-URI כולו, בפורמטhttps://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID. צריך לספק את ה-URI הזה ל-IdP. -
בנוסף, מה-URI, שומרים רק את
SCIM_TENANT_UID. תצטרכו את ה-UID הזה כדי להגדיר מדיניות IAM בדייר SCIM, בהמשך המסמך הזה.
-
בשדה
-
יצירת טוקן SCIM:
gcloud iam workforce-pools providers scim-tenants tokens create SCIM_TOKEN_ID \ --display-name DISPLAY_NAME \ --scim-tenant SCIM_TENANT_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider PROVIDER_ID \ --location globalמחליפים את מה שכתוב בשדות הבאים:
-
SCIM_TOKEN_ID: מזהה לאסימון SCIM -
DISPLAY_NAME: השם המוצג של אסימון SCIM -
WORKFORCE_POOL_ID: המזהה של מאגר כוח העבודה -
SCIM_TENANT_ID: המזהה של דייר SCIM -
PROVIDER_ID: המזהה של ספק מאגר הזהויות של כוח העבודה
-
-
אחרי שהפקודה
gcloud iam workforce-pools providers scim-tenants tokens createמסתיימת, מבצעים את הפעולות הבאות:-
בפלט, שומרים את הערך של
SCIM_TOKENבשדהsecurityToken. צריך לספק את אסימון האבטחה הזה ל-IdP. אסימון האבטחה מוצג רק בפלט הזה, ואם הוא אבד, צריך ליצור אסימון SCIM חדש. -
כדי לבדוק אם
SCIM_TOKENנדחה על ידי מדיניות הארגון, מריצים את הפקודה הבאה: אם הפקודה נכשלת בגלל שגיאה שקשורה להרשאות, מריצים את הפקודהcurl -v -H "Authorization: Bearer SCIM_TOKEN" https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID/Users
gcloud organizations add-iam-policy-binding, שמתוארת בשלב מאוחר יותר. אם הפקודה מצליחה, אפשר לדלג על השלב הזה.
-
בפלט, שומרים את הערך של
-
הגדרת מדיניות IAM לדייר ולטוקן של SCIM. אם הפקודה
curlבשלב הקודם נכשלה בגלל שגיאה שקשורה להרשאות, צריך להריץ את הפקודה הבאה:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member=serviceAccount:SERVICE_AGENT_EMAIL \ --role roles/iam.scimSyncerמחליפים את מה שכתוב בשדות הבאים:
- ORGANIZATION_ID: מזהה הארגון.
- SERVICE_AGENT_EMAIL: כתובת האימייל של סוכן השירות. כתובת האימייל היא בפורמט הבא:
o-ORGANIZATION_ID-SCIM_TENANT_UID@gcp-sa-iamscim.iam.gserviceaccount.com. SCIM_TENANT_UID מוחזר כשיוצרים את דייר SCIM.
כשמקצים קבוצות ב-IdP, צריך לוודא ששם התצוגה של כל קבוצה, כפי שמופיע בשדה displayName, הוא ייחודי בדייר SCIM. מידע נוסף על קבוצות ועל SCIM ב-Microsoft Entra ID זמין במאמר Groups.
הגדרת SCIM ב-IdP של OIDC או SAML
ב-IdP, מגדירים את SCIM כמו שמתואר במסמכי התיעוד של ה-IdP. משתמשים בכתובת ה-URL של SCIM ובאסימון SCIM שהתקבלו בשלב הקודם.
עדכון הספק כדי להפעיל את SCIM
כדי להפעיל SCIM לספק:
OIDC
gcloud iam workforce-pools providers update-oidc PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=LOCATION \
--scim-usage=enabled-for-groups
מחליפים את מה שכתוב בשדות הבאים:
-
PROVIDER_ID: המזהה של ספק מאגר הזהויות של כוח העבודה -
WORKFORCE_POOL_ID: המזהה של מאגר כוח העבודה -
LOCATION: המיקום של מאגר כוח העבודה
SAML
gcloud iam workforce-pools providers update-saml PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=LOCATION \
--scim-usage=enabled-for-groups
מחליפים את מה שכתוב בשדות הבאים:
-
PROVIDER_ID: המזהה של ספק מאגר הזהויות של כוח העבודה -
WORKFORCE_POOL_ID: המזהה של מאגר כוח העבודה -
LOCATION: המיקום של מאגר כוח העבודה
מיפוי של אסימונים ומאפייני SCIM
צריך למפות את המאפיינים באופן עקבי, גם בספק של מאגר הזהויות של כוח העבודה וגם בדייר SCIM שהוגדר עבור הספק. לספק הזהויות של כוח העבודה משתמשים בדגל --attribute-mapping, ולדייר SCIM משתמשים בדגל --claim-mapping. מאפיין IdP שממופה ל-google.subject עבור משתמשים צריך להתייחס באופן ייחודי לאותה זהות, בין אם הוא מוגדר במיפוי של טוקן או SCIM. מידע נוסף על מיפוי מאפיינים כשמשתמשים ב-SCIM זמין בקטע
תמיכה ב-SCIM.
בטבלה הבאה מוסבר איך למפות מאפיינים בהצהרות על אסימונים ובמאפייני SCIM:
| מאפיין של Google | מיפוי של ספקים של מאגרי זהויות של כוח עבודה | מיפוי דיירים ב-SCIM |
|---|---|---|
google.subject |
assertion.oid |
user.externalId |
google.subject |
assertion.email |
user.emails[0].value |
google.subject |
assertion.email.lowerAscii() |
user.emails[0].value.lowerAscii() |
google.subject |
assertion.preferred_username |
user.userName |
google.group חשוב לעדכן את הספק עם --scim-usage=enabled-for-groups |
N/A |
group.externalId |
מחיקה בכוח של דייר SCIM
כדי למחוק דייר SCIM בכוח:
- אם
--scim-usage=enabled-for-groupsמוגדר אצל הספק שלכם, משביתים אותו בהגדרת הספק:gcloud iam workforce-pools providers update-oidc --provider=PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --location= global --scim-usage=SCIM_USAGE_UNSPECIFIEDמחליפים את מה שכתוב בשדות הבאים:
-
PROVIDER_ID: המזהה של ספק מאגר הזהויות של כוח העבודה -
WORKFORCE_POOL_ID: המזהה של מאגר כוח העבודה
-
- מחיקת הדייר ב-SCIM:
gcloud iam workforce-pools providers scim-tenants delete SCIM_TENANT_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --provider=PROVIDER_ID \ --hard-delete \ --location=globalמחליפים את מה שכתוב בשדות הבאים:
-
SCIM_TENANT_ID: המזהה של דייר SCIM למחיקה -
WORKFORCE_POOL_ID: המזהה של מאגר כוח העבודה -
PROVIDER_ID: המזהה של ספק מאגר הזהויות של כוח העבודה
-
המאמרים הבאים
- קבלת פרטי כניסה לטווח קצר לאיחוד שירותי אימות הזהויות של כוח העבודה
- נהל ספקי מאגר זהויות של כוח עבודה
- מחיקת המשתמשים באיחוד שירותי אימות הזהות של כוח העבודה והנתונים שלהם
- מידע על מוצרי Google Cloud Google Cloud שתומכים באיחוד שירותי אימות הזהויות של כוח העבודה
- הגדרת גישה של משתמשים למסוף (מאוחד)