הגדרת איחוד שירותי אימות הזהויות של כוח העבודה

במדריך הזה מוסבר איך להגדיר את איחוד שירותי אימות הזהות של כוח עבודה בספק זהויות (IdP) שתומך ב-OIDC או ב-SAML 2.0.

להוראות ספציפיות ל-IdP מסוים, תוכלו להיעזר בדפים הבאים:

לפני שמתחילים

  1. מוודאים שיש לכם Cloud de Confiance ארגון מוגדר.
  2. מגדירים את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
  3. מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

    gcloud init
  4. מפעילים את ממשקי ה-API של ניהול הזהויות והרשאות הגישה (IAM) ומנהל המשאבים, אם הם עדיין לא מופעלים.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    הפעלת ממשקי ה-API

  5. כדי להיכנס לחשבון, ספק הזהויות שלכם צריך לספק פרטי אימות חתומים: ספקי זהויות שתומכים ב-OIDC צריכים לספק אסימון JWT, ותשובות שמגיעות מספקי זהויות שתומכים ב-SAML חייבות להיות חתומות.
  6. כדי לקבל מידע חשוב על שינויים בארגון או Cloud de Confiance במוצרים שלכם, אתם צריכים לספק אנשי קשר חיוניים. מידע נוסף זמין במאמר סקירה כללית על איחוד שירותי אימות הזהות של כוח עבודה.

עלויות

איחוד שירותי אימות הזהות של כוח עבודה זמין כתכונה ללא עלות. עם זאת, רישום מפורט ביומני הביקורת של איחוד שירותי אימות הזהות של כוח עבודה מתבצע באמצעות Cloud Logging. למידע על התמחור של Logging, ראו תמחור של Google Cloud Observability.

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות להגדרה של איחוד שירותי אימות הזהות של כוח עבודה, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM‏ Workforce Identity Pool Admin (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: המזהה שבחרתם כדי לייצג את Cloud de Confiance מאגר כוח העבודה. המזהה של מאגר הזהויות של כוח העבודה חייב להיות ייחודי באופן גלובלי בכל מאגרי הזהויות של כוח העבודה ב- Cloud de Confiance. מידע על הפורמט של המזהה מופיע בקטע פרמטרים של שאילתה במאמרי העזרה של ה-API.
  • ‫ORGANIZATION_ID: מזהה הארגון (מספרי) של Cloud de Confiance הארגון שלכם במאגר הזהויות של כוח העבודה. מאגרי זהויות של כוח עבודה זמינים בכל הפרויקטים והתיקיות בארגון.
  • ‫DISPLAY_NAME: אופציונלי. השם המוצג של מאגר הזהויות של כוח העבודה.
  • ‫DESCRIPTION: אופציונלי. תיאור של מאגר זהויות של כוח עבודה.
  • ‫SESSION_DURATION: אופציונלי. משך הסשן, שמוצג כמספר עם התוספת s – לדוגמה, 3600s. משך הסשן קובע לכמה זמן יהיו פעילים אסימוני הגישה Cloud de Confiance , המסוף (איחוד), החיבור לסשן והחיבור ל-ה-CLI של gcloud מהמאגר של כוח העבודה. משך הסשן מוגדר כברירת מחדל לשעה אחת (3,600 שניות). ערך משך הסשן צריך להיות בין 15 דקות (900 שניות) ל-12 שעות (43,200 שניות).

המסוף

כדי ליצור את מאגר הזהויות של כוח העבודה:

  1. במסוף Cloud de Confiance , עוברים לדף Workforce Identity Pools:

    כניסה לדף Workforce Identity Pools

  2. בוחרים את הארגון שרוצים ליצור בו מאגר זהויות של כוח העבודה. מאגרי זהויות כוח עבודה זמינים בכל הפרויקטים והתיקיות בארגון.

  3. לוחצים על Create pool (יצירת מאגר) ופועלים לפי השלבים הבאים:

    1. בשדה Name, מזינים את השם לתצוגה של המאגר. מזהה המאגר נגזר באופן אוטומטי מהשם בזמן ההקלדה, והוא מוצג מתחת לשדה שם. כדי לעדכן את מזהה המאגר, לוחצים על עריכה לצד מזהה המאגר.

    2. אופציונלי: בשדה Description (תיאור), מזינים תיאור של המאגר.

    3. כדי ליצור את מאגר הזהויות של כוח העבודה, לוחצים על Next.

משך הסשן במאגר הזהויות של כוח העבודה הוא שעה (3,600 שניות) כברירת מחדל. משך הסשן קובע לכמה זמן יהיו פעילים אסימוני הגישה Cloud de Confiance , המסוף (איחוד), והחיבור לסשן של ה-CLI של gcloud מהמאגר של כוח העבודה יהיו תקפים. אחרי שיוצרים את המאגר, אפשר לעדכן את המאגר כדי להגדיר משך סשן מותאם אישית. משך הסשן צריך להיות בין 15 דקות (900 שניות) ל-12 שעות (43,200 שניות).

יצירת ספק של מאגר זהויות של כוח עבודה

בקטע הזה מוסבר איך ליצור ספק מאגר זהויות של כוח עבודה כדי לאפשר למשתמשים בספק הזהויות שלכם לגשת אל Cloud de Confiance. אתם יכולים להגדיר את הספק לשימוש בפרוטוקול OIDC או בפרוטוקול SAML.

יצירת ספק OIDC של מאגר כוח העבודה

כדי ליצור ספק של מאגר זהויות של כוח העבודה באמצעות פרוטוקול OIDC, מבצעים את הפעולות הבאות:

  1. ב-IdP שתומך ב-OIDC, רושמים אפליקציה חדשה לאיחוד שירותי אימות הזהויות של כוח עבודה ב- Cloud de Confiance. שימו לב למזהה הלקוח ול-URI של המנפיק שסופק על ידי ה-IdP. תצטרכו להשתמש בהם בהמשך המאמר.

  2. אם אתם מתכננים להגדיר גישה של משתמשים למסוף, אתם צריכים להוסיף את כתובת ה-URL להפניה האוטומטית ב-IdP שתומך ב-OIDC:

    https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה

    • ‫WORKFORCE_PROVIDER_ID: המזהה של ספק הזהויות של כוח העבודה שתיצרו בהמשך המסמך הזה.

    במאמר איך להגדיר גישה של משתמש למסוף (המאוחד) מוסבר איך להגדיר כניסה לחשבון במסוף (המאוחד).

  3. ב- Cloud de Confiance, כדי ליצור את הספק:

    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: מיפוי מאפיינים. דוגמה למיפוי מאפיינים:
      ‫
      google.subject=assertion.oid
      google.groups=assertion.groups,
      attribute.costcenter=assertion.costcenter
      בדוגמה הזו, מאפייני ה-IdP‏ assertion.oid, assertion.groups ו-assertion.costcenter בטענת הנכונות (assertion) של OIDC ממופים למאפיינים Cloud de Confiance ‏ google.subject, google.groups ו-attribute.costcenter בהתאמה.
    • ‫ATTRIBUTE_CONDITION: תנאי של מאפיין, לדוגמה assertion.role == 'gcp-users'. התנאי הזה מבטיח שרק משתמשים עם התפקיד gcp-users יוכלו להיכנס באמצעות הספק הזה.
    • ‫JWK_JSON_PATH: נתיב אופציונלי למפתחות JWK ב-OIDC שהועלו באופן מקומי. אם לא מוסיפים את הפרמטר הזה,המערכת של Cloud de Confiance תשתמש בנתיב /.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. כדי להשבית את רישום הביקורת המפורט, אפשר גם לעדכן את הספק.

    הדגל --web-sso-assertion-claims-behavior קובע איך הצהרות OIDC נכללות באובייקט assertion שמשמש למיפוי מאפיינים ולתנאי מאפיינים. בתהליך הרשאה באמצעות קוד (--web-sso-response-type="code"), אפשר להגדיר את הדגל הזה לאחד מהערכים הבאים:

    • ‫merge-user-info-over-id-token-claims: מיזוג הצהרות מנקודת הקצה UserInfo של OIDC עם הצהרות מאסימון המזהה. אם בשניהם מופיע אותו שם של טענה, הערך של הטענה UserInfo מקבל עדיפות. משתמשים בערך הזה אם ספק הזהויות מחזיר מאפייני משתמש נוספים או טענות לגבי קבוצות מנקודת הקצה UserInfo.
    • ‫only-id-token-claims: כולל רק הצהרות מטוקן של מזהה. משתמשים בערך הזה כשכל ההצהרות שנדרשות למיפוי המאפיינים ולתנאים כבר מופיעות בטוקן של מזהה.
    בתשובה לפקודה, POOL_RESOURCE_NAME הוא שם המאגר. לדוגמה: 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: מיפוי מאפיינים. דוגמה למיפוי מאפיינים:
      ‫
      google.subject=assertion.oid
      google.groups=assertion.groups,
      attribute.costcenter=assertion.costcenter
      בדוגמה הזו, מאפייני ה-IdP‏ assertion.oid, assertion.groups ו-assertion.costcenter בטענת הנכונות (assertion) של OIDC ממופים למאפיינים Cloud de Confiance ‏ google.subject, google.groups ו-attribute.costcenter בהתאמה.
    • ‫ATTRIBUTE_CONDITION: תנאי של מאפיין, לדוגמה assertion.role == 'gcp-users'. התנאי הזה מבטיח שרק משתמשים עם התפקיד gcp-users יוכלו להיכנס באמצעות הספק הזה.
    • ‫JWK_JSON_PATH: נתיב אופציונלי למפתחות JWK ב-OIDC שהועלו באופן מקומי. אם לא מוסיפים את הפרמטר הזה,המערכת של Cloud de Confiance תשתמש בנתיב /.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. כדי להשבית את רישום הביקורת המפורט, אפשר גם לעדכן את הספק.

    במקרה של זרם הענקת גישה משתמע (--web-sso-response-type="id-token"), צריך להגדיר את הדגל --web-sso-assertion-claims-behavior לערך only-id-token-claims, שכולל רק הצהרות מאסימון המזהה באובייקט assertion. זרם הענקת גישה משתמע לא תומך בערך merge-user-info-over-id-token-claims.

    בתשובה לפקודה, POOL_RESOURCE_NAME הוא שם המאגר. לדוגמה: locations/global/workforcePools/enterprise-example-organization-employees.

    התוספת לשם המאפיין gcp- שמורה ואי אפשר להשתמש בה במזהה של מאגר זהויות של כוח עבודה או של ספק מאגר זהויות של כוח עבודה.

    לאיחוד OIDC, אפשר להשתמש במאפיין assertion.NAME: מחרוזת עם ערך זהה לערך של ההצהרה בעלת השם הדומה במטען הייעודי (payload) של האסימון המזהה.

    המסוף

    זרימת קוד

    כדי ליצור ספק OIDC שמשתמש בהרשאה באמצעות קוד במסוף Cloud de Confiance :

    1. במסוף Cloud de Confiance , עוברים לדף Workforce Identity Pools:

      כניסה לדף Workforce Identity Pools

    2. בטבלה Workforce Identity Pools (מאגרי זהויות של כוח עבודה), בוחרים את המאגר שרוצים ליצור עבורו את הפלאגין שמתממשק עם שירותים חיצוניים.
    3. בקטע ספקים, לוחצים על הוספת ספק.
    4. ברשימה Select a Provider vendor (בחירת ספק), בוחרים את ספק ה-IdP.

      אם ספק הזהויות שלכם לא מופיע ברשימה, בוחרים באפשרות ספק זהויות כללי.

    5. בקטע Select an authentication protocol, בוחרים באפשרות OpenID Connect (OIDC).
    6. בקטע Create a provider, מבצעים את הפעולות הבאות:
      1. בשדה שם, מזינים את השם של הספק.
      2. בשדה תיאור, מזינים את התיאור של הספק.
      3. בקטע Issuer (URL) (מנפיק (כתובת URL)), מזינים את ה-URI של המנפיק. ה-URI של מנפיק OIDC צריך להיות בפורמט URI תקין ולהתחיל ב-https. לדוגמה: https://example.com/oidc.
      4. בקטע Client ID (מזהה לקוח), מזינים את מזהה הלקוח ב-OIDC שרשום ב-IdP של OIDC. המזהה צריך להיות תואם להצהרת aud של ה-JWT שמונפקת על ידי ה-IdP.
      5. כדי ליצור פלאגין שמתממשק עם שירותים חיצוניים שמופעל, מוודאים שהאפשרות הפעלת פלאגין שמתממשק עם שירותים חיצוניים מופעלת.
      6. לוחצים על Continue.
    7. בקטע שיתוף פרטי הספק עם ספק הזהויות, מעתיקים את כתובת ה-URL. ב-IdP, מגדירים את כתובת ה-URL הזו כ-URI להפניה אוטומטית, כדי שה-IdP יידע לאן לשלוח את אסימון הנכוֹנוּת (assertion) אחרי הכניסה לחשבון.
    8. לוחצים על Continue.
    9. בקטע Configure OIDC Web Sign-in (הגדרת כניסה לאינטרנט באמצעות OIDC), מבצעים את הפעולות הבאות:
      1. ברשימה Flow type (סוג התהליך), בוחרים באפשרות Code (קוד).
      2. ברשימה התנהגות של הצהרות טענה, בוחרים באחת מהאפשרויות הבאות:
        • פרטי משתמש וטוקן של מזהה: מיזוג הצהרות מנקודת הקצה UserInfo עם הצהרות מטוקן המזהה, עם עדיפות לערכי ההצהרה UserInfo עבור אותו שם הצהרה. בוחרים באפשרות הזו אם ספק הזהויות מחזיר מאפייני משתמש נוספים או טענות לגבי קבוצות מנקודת הקצה UserInfo.
        • רק טוקן של מזהה: כולל רק הצהרות מטוקן המזהה. בוחרים באפשרות הזו אם כל ההצהרות שנדרשות למיפויים ולתנאים של המאפיינים כבר מופיעות בטוקן של מזהה.
      3. בשדה Client secret (סוד לקוח), מזינים את סוד הלקוח מספק ה-IdP.
      4. אופציונלי: אם בחרתם באפשרות Okta כספק הזהויות, מוסיפים היקפי הרשאות נוספים של OIDC בשדה Additional scopes beyond openid, profile, and email (היקפי הרשאות נוספים מעבר ל-openid, לפרופיל ולאימייל).
    10. לוחצים על Continue.
    11. בקטע Configure provider (הגדרת הספק), ליד Detailed logging (רישום מפורט ביומן), לוחצים על המתג Enable attribute value audit logging (הפעלת רישום ביומן של ביקורת על ערכי מאפיינים).

      איחוד שירותי אימות הזהות של כוח עבודה מבצע רישום מפורט ביומן הביקורת של מידע שמתקבל מ-IdP ב-Logging. רישום מפורט של ביקורת יכול לעזור לכם לפתור בעיות בהגדרות של ספק הזהויות של כוח העבודה. במאמר שגיאות כלליות במיפוי מאפיינים מוסבר איך לפתור בעיות במיפוי מאפיינים באמצעות רישום מפורט ביומן הביקורת. למידע על התמחור של Logging, ראו תמחור של Google Cloud Observability.

      כדי להשבית את יומני הביקורת המפורטים של ספק מאגר זהויות של כוח עבודה, משאירים את המתג הפעלת יומני ביקורת של ערכי מאפיינים מושבת כשיוצרים את הספק. כדי להשבית את רישום הביקורת המפורט, אפשר גם לעדכן את הספק.

    12. כדי ליצור את הספק, לוחצים על Submit (שליחה).

    אחרי שיוצרים את הספק, מופנים לדף המאפיינים של הספק.

    כדי להגדיר מיפויים ותנאים של מאפיינים:

    1. כשמוצגת בקשה, נכנסים ל-IdP החיצוני כדי לאמת את מיפויי ברירת המחדל של המאפיינים.
    2. בדף מאפייני הספק, אפשר לראות ולערוך את מיפויי המאפיינים והתנאים:
      1. כדי להוסיף או לערוך מיפויים של מאפיינים:
        1. לוחצים על הוספת מיפוי כדי להוסיף מיפוי חדש, או עורכים את המיפויים הקיימים.
        2. בשדה Google n, כאשר n הוא מספר, בוחרים מפתח שנתמך על ידי Cloud de Confiance.
        3. בשדה המתאים OIDC n, מזינים את שם המאפיין של ספק ה-IdP או ביטוי CEL.
      2. כדי להוסיף תנאי למאפיין:
        1. לוחצים על הוספת תנאי.
        2. בשדה Attribute Conditions, מזינים תנאי בפורמט CEL. לדוגמה: assertion.role == 'gcp-users'. התנאי הזה מבטיח שרק משתמשים עם התפקיד gcp-users יוכלו להיכנס באמצעות הספק הזה.
    3. כדי לאמת את המיפויים, לוחצים על Save and refetch token (שמירה ואחזור מחדש של הטוקן).
    4. כדי להשלים את ההגדרה, לוחצים על שמירה ויציאה.

    זרם הענקת גישה משתמע

    כדי ליצור ספק OIDC שמשתמש בזרם הענקת גישה משתמע במסוף Cloud de Confiance :

    1. במסוף Cloud de Confiance , עוברים לדף Workforce Identity Pools:

      כניסה לדף Workforce Identity Pools

    2. בטבלה Workforce Identity Pools (מאגרי זהויות של כוח עבודה), בוחרים את המאגר שרוצים ליצור עבורו את הפלאגין שמתממשק עם שירותים חיצוניים.
    3. בקטע ספקים, לוחצים על הוספת ספק.
    4. ברשימה Select a Provider vendor (בחירת ספק), בוחרים את ספק ה-IdP.

      אם ספק הזהויות שלכם לא מופיע ברשימה, בוחרים באפשרות ספק זהויות כללי.

    5. בקטע Select an authentication protocol, בוחרים באפשרות OpenID Connect (OIDC).
    6. בקטע Create a provider, מבצעים את הפעולות הבאות:
      1. בשדה שם, מזינים את השם של הספק.
      2. בשדה תיאור, מזינים את התיאור של הספק.
      3. בקטע Issuer (URL) (מנפיק (כתובת URL)), מזינים את ה-URI של המנפיק. ה-URI של מנפיק OIDC צריך להיות בפורמט URI תקין ולהתחיל ב-https. לדוגמה: https://example.com/oidc.
      4. בקטע Client ID (מזהה לקוח), מזינים את מזהה הלקוח ב-OIDC שרשום ב-IdP של OIDC. המזהה צריך להיות תואם להצהרת aud של ה-JWT שמונפקת על ידי ה-IdP.
      5. כדי ליצור פלאגין שמתממשק עם שירותים חיצוניים שמופעל, מוודאים שהאפשרות הפעלת פלאגין שמתממשק עם שירותים חיצוניים מופעלת.
      6. לוחצים על Continue.
    7. בקטע שיתוף פרטי הספק עם ספק הזהויות, מעתיקים את כתובת ה-URL. ב-IdP, מגדירים את כתובת ה-URL הזו כ-URI להפניה אוטומטית, כדי שה-IdP יידע לאן לשלוח את אסימון הנכוֹנוּת (assertion) אחרי הכניסה.
    8. לוחצים על Continue.
    9. בקטע Configure OIDC Web Sign-in (הגדרת כניסה לאינטרנט באמצעות OIDC), מבצעים את הפעולות הבאות:
      1. ברשימה Flow type, בוחרים באפשרות ID Token.
      2. ברשימה Assertion claims behavior (התנהגות של הצהרות על טענות), האפשרות טוקן של מזהה מסומנת.
      3. אופציונלי: אם בחרתם ב-Okta כספק הזהויות, מוסיפים היקפי הרשאות נוספים של OIDC בשדה Additional scopes beyond openid, profile, and email.
    10. לוחצים על Continue.
    11. בקטע Configure provider (הגדרת הספק), בקטע Detailed logging (רישום מפורט ביומן), לוחצים על המתג Enable attribute value audit logging (הפעלת רישום ביומן של ביקורת על ערכי מאפיינים).

      איחוד שירותי אימות הזהות של כוח עבודה מבצע רישום מפורט ביומן הביקורת של מידע שמתקבל מ-IdP ב-Logging. רישום מפורט של ביקורת יכול לעזור לכם לפתור בעיות בהגדרות של ספק הזהויות של כוח העבודה. במאמר שגיאות כלליות במיפוי מאפיינים מוסבר איך לפתור בעיות במיפוי מאפיינים באמצעות רישום מפורט ביומן הביקורת. למידע על התמחור של Logging, ראו תמחור של Google Cloud Observability.

      כדי להשבית את יומני הביקורת המפורטים של ספק מאגר זהויות של כוח עבודה, משאירים את המתג הפעלת יומני ביקורת של ערכי מאפיינים מושבת כשיוצרים את הספק. כדי להשבית את רישום הביקורת המפורט, אפשר גם לעדכן את הספק.

    12. כדי ליצור את הספק, לוחצים על Submit (שליחה).

    אחרי שיוצרים את הספק, מופנים לדף המאפיינים של הספק.

    כדי להגדיר מיפויים ותנאים של מאפיינים:

    1. כשמוצגת בקשה, נכנסים ל-IdP החיצוני כדי לאמת את מיפויי ברירת המחדל של המאפיינים.
    2. בדף מאפייני הספק, אפשר לראות ולערוך את מיפויי המאפיינים והתנאים:
      1. כדי להוסיף או לערוך מיפויים של מאפיינים:
        1. לוחצים על הוספת מיפוי כדי להוסיף מיפוי חדש, או עורכים את המיפויים הקיימים.
        2. בשדה Google n, כאשר n הוא מספר, בוחרים מפתח שנתמך על ידי Cloud de Confiance.
        3. בשדה המתאים OIDC n, מזינים את שם המאפיין של ספק ה-IdP או ביטוי CEL.
      2. כדי להוסיף תנאי למאפיין:
        1. לוחצים על הוספת תנאי.
        2. בשדה Attribute Conditions, מזינים תנאי בפורמט CEL. לדוגמה: assertion.role == 'gcp-users'. התנאי הזה מבטיח שרק משתמשים עם התפקיד gcp-users יוכלו להיכנס באמצעות הספק הזה.
    3. כדי לאמת את המיפויים, לוחצים על Save and refetch token (שמירה ואחזור מחדש של הטוקן).
    4. כדי להשלים את ההגדרה, לוחצים על שמירה ויציאה.

יצירת ספק SAML של מאגר כוח העבודה

  1. ב-IdP שתומך ב-SAML, רושמים אפליקציה חדשה לאיחוד שירותי אימות הזהות של כוח עבודה Cloud de Confiance.

  2. מגדירים את הקהל לטענת הנכוֹנוּת (assertion) של SAML. בדרך כלל משתמשים בשדה SP Entity ID בהגדרות שלכם ב-IdP. צריך להגדיר אותו כך שיכיל את כתובת ה-URL הבאה:

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    
  3. מגדירים את כתובת ה-URL להפניה אוטומטית, שנקראת גם כתובת ה-URL של Assertion Consumer Service‏ (ACS). כדי להגדיר את כתובת ה-URL להפניה אוטומטית, מאתרים את השדה של כתובת ה-URL להפניה אוטומטית ב-IdP של SAML, ומבצעים אחת מהפעולות הבאות:

    • כדי להגדיר כניסה באמצעות הדפדפן דרך מסוף Cloud de Confiance או שיטה אחרת לכניסה באמצעות הדפדפן, מזינים את כתובת ה-URL הבאה:

      https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה

      • ‫WORKFORCE_PROVIDER_ID: המזהה של ספק הזהויות של כוח העבודה שתיצרו בהמשך המסמך הזה.

    • כדי להגדיר כניסה אוטומטית באמצעות ה-IdP, מזינים את כתובת ה-URL הבאה:

      localhost
      

    פרטים נוספים זמינים במאמר הגדרת הגישה של משתמשים למסוף.

  4. ב- Cloud de Confiance, יוצרים ספק של מאגר זהויות של כוח עבודה ב-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: מיפוי המאפיינים. לדוגמה:

    ‫
    google.subject=assertion.subject
    attribute.costcenter=assertion.attributes.costcenter[0]
    בדוגמה הזו, מאפיין ה-IdP‏ assertion.subject ממופה ל-google.subject ומאפיין ה-IdP‏ assertion.attributes.costcenter[0] ממופה ל-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 של איחוד שירותי אימות הזהות של כוח העבודה

בחלק הזה מוסבר איך יוצרים זוג מפתחות אסימטריים שמאפשר לאיחוד שירותי אימות הזהות של כוח העבודה לקבל טענות נכוֹנוּת מוצפנות ב-SAML.

Cloud de Confiance by S3NS משתמש במפתח הפרטי כדי לפענח את טענות הנכונות (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

באיחוד שירותי אימות הזהות של כוח העבודה אפשר להשתמש באלגוריתמים הבאים להעברת מפתחות:

איחוד שירותי אימות הזהות של כוח עבודה תומך באלגוריתמים הבאים של הצפנת בלוקים:

דרישות למפתחות חתימה מסוג X.509 של SAML

מפרטי המפתחות הבאים חלים על מפתחות חתימה מסוג X.509 של SAML:

  • מפתח ציבורי מסוג RSA שעטוף באישור X.509 בגרסה v3.

  • הדרישות לגבי תוקף האישורים:

    • ‫notBefore: חותמת זמן של 7 ימים לכל היותר בעתיד
    • ‫notAfter: חותמת זמן של 25 שנים לכל היותר בעתיד
  • אלגוריתמים מומלצים:

לכל ספק של מאגר זהויות של כוח עבודה אפשר להגדיר שלושה מפתחות חתימה לכל היותר בכל רגע נתון. כשיש כמה מפתחות, Cloud de Confianceמערכת Google Cloud עוברת באיטרציות על המפתחות שעדיין בתוקף ומנסה להשתמש בכל מפתח כדי למלא בקשות להחלפת אסימונים.

כשיטה מומלצת לאבטחה, מומלץ מאוד לא להשתמש שוב באותו זוג מפתחות בשירותים אחרים.

ניהול מפתחות

כדי לעדכן את מפתחות החתימה שלכם ב-IdP:

  1. יוצרים זוג מפתחות אסימטרי חדש ומשתמשים בו כדי להגדיר את ספק הזהויות של SAML. את זוג המפתחות מסמנים בהתחלה כלא פעיל ומפעילים אותו רק בשלב מאוחר יותר.

  2. מורידים מסמך XML של המטא-נתונים של SAML מה-IdP.

  3. מעדכנים את המשאב של הספק של מאגר זהויות של כוח עבודה באמצעות מסמך המטא-נתונים של SAML. כשיש כמה מפתחות,מערכת Cloud de Confiance עוברת באיטרציות על המפתחות שעדיין בתוקף ומנסה להשתמש בכל מפתח כדי למלא בקשות להחלפת אסימונים.

    כדי לעדכן את המטא-נתונים של 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
  4. ממתינים עד שהפעולה שחוזרת מהשלב הקודם הושלמה (כשהפעולה מסומנת בתור done) ואז מפעילים את מפתח החתימה החדש ב-IdP של SAML. מפתח החתימה הישן מסומן כלא פעיל. טענות נכוֹנוּת (assertion) שהונפקו על ידי ה-IdP נחתמות באמצעות המפתח החדש.

השלבים הבאים הם אופציונליים, אבל כשיטה מומלצת מומלץ לבצע אותם:

  1. מוחקים את מפתח החתימה הישן (זה שכבר לא פעיל) מה-IdP.
  2. מורידים את מסמך ה-XML של המטא-נתונים של SAML מה-IdP.
  3. מעדכנים את המשאב של הספק של מאגר זהויות של כוח עבודה באמצעות מסמך המטא-נתונים של SAML. Cloud de Confiance דוחה טענות נכוֹנוּת (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

אילוץ על מחיקת מפתחות

‫Cloud de Confiance תדחה טענות נכוֹנוּת (assertion) שנחתמו באמצעות מפתח שנמחק.

המסוף

כדי להגדיר ספק שתומך ב-SAML באמצעות מסוף Cloud de Confiance :

  1. במסוף Cloud de Confiance , עוברים לדף Workforce Identity Pools:

    כניסה לדף Workforce Identity Pools

  2. בטבלה Workforce Identity Pools (מאגרי זהויות של כוח עבודה), בוחרים את המאגר שרוצים ליצור עבורו את הפלאגין שמתממשק עם שירותים חיצוניים.
  3. בקטע ספקים, לוחצים על הוספת ספק.
  4. ברשימה Select a Provider vendor (בחירת ספק), בוחרים את ספק ה-IdP.

    אם ספק הזהויות שלכם לא מופיע ברשימה, בוחרים באפשרות ספק זהויות כללי.

  5. בקטע Select an authentication protocol (בחירת פרוטוקול אימות), בוחרים באפשרות SAML.
  6. בקטע Create a provider, מבצעים את הפעולות הבאות:
    1. בשדה שם, מזינים שם לספק.
    2. אופציונלי: בשדה Description, מזינים תיאור לספק.
    3. בקטע IDP metadata file (XML) (קובץ מטא-נתונים של IdP‏ (XML)), בוחרים את קובץ ה-XML של המטא-נתונים שיצרתם קודם במדריך הזה.
    4. כדי ליצור פלאגין שמתממשק עם שירותים חיצוניים שמופעל, מוודאים שהאפשרות הפעלת פלאגין שמתממשק עם שירותים חיצוניים מופעלת.
    5. לוחצים על Continue.
  7. בקטע Share your provider information, מעתיקים את כתובות ה-URL. ב-IdP, מגדירים את כתובת ה-URL הראשונה כמזהה הישות, שמזהה את האפליקציה שלכם ב-IdP. מגדירים את כתובת ה-URL השנייה ככתובת ה-URI להפניה אוטומטית, שמציינת ל-IdP לאן לשלוח את אסימון האישור אחרי הכניסה.
  8. לוחצים על Continue.
  9. בקטע Configure provider (הגדרת ספק), בקטע Detailed logging (רישום מפורט ביומן), לוחצים על המתג Enable attribute value audit logging (הפעלת רישום ביומן של ביקורת על ערכי מאפיינים).

    איחוד שירותי אימות הזהות של כוח עבודה מבצע רישום מפורט ביומן הביקורת של מידע שמתקבל מ-IdP ב-Logging. רישום מפורט של ביקורת יכול לעזור לכם לפתור בעיות בהגדרות של ספק הזהויות של כוח העבודה. במאמר שגיאות כלליות במיפוי מאפיינים מוסבר איך לפתור בעיות במיפוי מאפיינים באמצעות רישום מפורט ביומן הביקורת. למידע על התמחור של Logging, ראו תמחור של Google Cloud Observability.

    כדי להשבית את יומני הביקורת המפורטים של ספק מאגר זהויות של כוח עבודה, משאירים את המתג הפעלת יומני ביקורת של ערכי מאפיינים מושבת כשיוצרים את הספק. כדי להשבית את רישום הביקורת המפורט, אפשר גם לעדכן את הספק.

  10. כדי ליצור את הספק, לוחצים על Submit (שליחה).

אחרי שיוצרים את הספק, מופנים לדף המאפיינים של הספק.

כדי להגדיר מיפויים ותנאים של מאפיינים:

  1. כשמוצגת בקשה, נכנסים ל-IdP החיצוני כדי לאמת את מיפויי ברירת המחדל של המאפיינים.
  2. בדף של מאפייני הספק, אפשר לראות ולערוך את מיפויי המאפיינים והתנאים:
    1. כדי להוסיף או לערוך מיפויים של מאפיינים:
      1. לוחצים על הוספת מיפוי כדי להוסיף מיפוי חדש, או עורכים את המיפויים הקיימים.
      2. בשדה Google n, כאשר n הוא מספר, בוחרים מפתח Cloud de Confiance נתמך.
      3. בשדה המתאים SAML n, מזינים את שם המאפיין של ספק ה-IdP או ביטוי CEL – לדוגמה:
        ‫
        google.subject=assertion.subject
        attribute.costcenter=assertion.attributes.costcenter[0]
        בדוגמה הזו, מאפיין ה-IdP‏ assertion.subject ממופה ל-google.subject ומאפיין ה-IdP‏ assertion.attributes.costcenter[0] ממופה ל-attribute.costcenter.
    2. כדי להוסיף תנאי למאפיין:
      1. לוחצים על הוספת תנאי.
      2. בשדה Attribute Conditions, מזינים תנאי בפורמט CEL. לדוגמה: כדי להגביל את המאפיין ipaddr לטווח מסוים של כתובות IP, אפשר להגדיר את התנאי assertion.attributes.ipaddr.startsWith('98.11.12.'). התנאי הזה מבטיח שרק משתמשים עם כתובת IP שמתחילה ב-98.11.12. יוכלו להיכנס באמצעות ספק הזהויות הזה לכוח העבודה.
  3. כדי לאמת את המיפויים, לוחצים על Save and refetch token (שמירה ואחזור מחדש של הטוקן).
  4. כדי להשלים את ההגדרה, לוחצים על שמירה ויציאה.

אימות ההגדרה של הספק

לפני שבודקים את תהליך הכניסה של משתמשי הקצה, אפשר לוודא שההגדרה של הספק נכונה ושהוא Cloud de Confiance by S3NS יכול להחליף אסימונים עם ספק הזהויות.

בדף Validate your provider attributes במסוף Cloud de Confiance יש כלי לצפייה במאפיינים שמאפשר לבדוק את ההגדרה באופן אינטראקטיבי ולנפות באגים בביטויים של Common Expression Language‏ (CEL). אפשר להשתמש בכלי להצגת מאפיינים כדי:

  • אפשר לראות את המאפיינים הגולמיים שנשלחו בהצהרה של ספק הזהויות.
  • מוודאים שמיפויי המאפיינים והתנאים משנים את המאפיינים האלה בצורה נכונה.
  • ניפוי באגים של ביטויי CEL מורכבים בזמן אמת.

כדי לוודא שהגדרתם את הספק בצורה נכונה:

  1. כדי להפעיל את תהליך הכניסה מבוסס הדפדפן לאיחוד שירותי אימות הזהות של כוח עבודה, מוסיפים את https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/POOL_ID/providers/PROVIDER_ID לרשימת ה-URI של ההפניה האוטומטית המותרים ב-IdP.
  2. במסוף Cloud de Confiance , עוברים אל Workforce Identity Pools.

    כניסה לדף Workforce Identity Pools
  3. ברשימת המאגרים, לוחצים על שם המאגר שרוצים לאמת.
  4. בדף פרטי מאגר כוח העבודה, לוחצים על השם של ספק הזהויות שרוצים לאמת.
  5. בדף פרטי הספק, לוחצים על ניפוי באגים של טוקן IdP.
  6. בתיבת הדו-שיח Sign in (כניסה), נכנסים ל-IdP בתור משתמש לבדיקה.

בדף Validate your provider attributes (אימות מאפייני הספק) מוצגים המאפיינים הממופים והתוצאה של תנאי המאפיין.

בקטע Mapped attributes from your IdP token (מאפיינים ממופים מאסימון ה-IdP) מוצג איך מאפייני Google, כמו google.subject, מאוכלסים מאסימון ה-IdP על סמך הגדרת המיפוי. אם המיפוי שגוי, מופיע סמל שגיאה.

בקטע Attribute condition מוצגת התוצאה הבוליאנית של התנאי. אם התנאי מקבל את הערך false, הכניסה נחסמת.

כדי לראות את אסימון ההצהרה המלא, לוחצים על הצגת האסימון המלא. כאן מוצג אובייקט ה-JSON הגולמי מ-IdP. כדי להפנות למאפיין ברמה העליונה במיפויים, משתמשים בפורמט assertion.PROPERTY_NAME.

עריכת הגדרת הספק

כדי לתקן שגיאות, אפשר לערוך את ההגדרה:

  1. בדף Validate your provider attributes (אימות מאפייני הספק), לוחצים על Edit (עריכה).
  2. מבצעים את השינויים הנדרשים.
  3. כדי להתחיל בדיקה חדשה ולראות את התוצאות המעודכנות, לוחצים על שמירה ואחזור מחדש של טוקן.

מזהים של חשבונות משתמשים בכוח העבודה במדיניות הרשאות

בטבלה הבאה מפורטים מזהי החשבונות הראשיים שמשמשים כדי להקצות תפקידים למשתמשים ספציפיים ולקבוצות של משתמשים.

זהויות פורמט של מזהה
זהות יחידה במאגר זהויות של כוח עבודה 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, תצטרכו גם למחוק במפורש את המשאבים האלה ב- Cloud de Confiance. לשם כך, אפשר לעיין במאמר בנושא מחיקת המשתמשים באיחוד שירותי אימות הזהויות של כוח העבודה והנתונים שלהם.

יכול להיות שמשאבים מסוימים ימשיכו להיות משויכים למשתמש שנמחק. הסיבה לכך היא שמחיקת משאבים ומטא-נתונים של משתמשים דורשת פעולה ארוכת טווח. אחרי שמתחילים למחוק את הזהות של משתמש, תהליכים שהמשתמש התחיל לפני המחיקה יכולים להמשיך לפעול עד שהם מסתיימים או עד שמבטלים אותם.

המאמרים הבאים