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

במאמר הזה מוסבר איך להגדיר איחוד שירותי אימות הזהות של כוח העבודה באמצעות PingOne Advanced Identity Cloud ‏ (AIC) כספק זהויות (IdP) ולנהל את הגישה אלGoogle Cloud. אחרי שמגדירים את ספק הזהויות PingOne AIC, משתמשים מאוחדים יכולים לגשת לשירותי Google Cloud שמבוססים על איחוד שירותי אימות הזהות של כוח העבודה באמצעות פרוטוקול SAML 2.0.

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

  1. מוודאים שהגדרתם Google Cloud ארגון.
  2. התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

    gcloud init

    אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

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

עלויות

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

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

כדי לקבל את ההרשאות שנדרשות להגדרת איחוד שירותי אימות הזהות של כוח העבודה, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד IAM Workforce Pool Admin (roles/iam.workforcePoolAdmin) בארגון. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

אם אתם מגדירים הרשאות בסביבת פיתוח או בסביבת בדיקה – אבל לא בסביבת ייצור – אתם יכולים להעניק את התפקיד הבסיסי 'בעלים' (roles/owner) בניהול זהויות והרשאות גישה (IAM). התפקיד הזה כולל גם הרשאות לשימוש באיחוד שירותי אימות הזהות של כוח עבודה.

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

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

המסוף

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

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

    כניסה לדף Workforce Identity Pools

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

  3. לוחצים על יצירת מאגר ומבצעים את הפעולות הבאות:

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

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

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

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

יצירה של אפליקציית PingOne AIC

בקטע הזה מוסבר איך ליצור שילוב אפליקציה של PingOne AIC.

יצירת IdP מתארח

  1. בקטע Native Consoles > Access Management, עוברים אל Realms > REALM_NAME > Dashboard ולוחצים על SAML Applications.
  2. לוחצים על הוספת ספק ישויות > מתארח.
  3. מזינים מזהה ישות. שומרים את הערך הזה לשימוש מאוחר יותר.

    1. מוודאים שהערך של Entity Provider Base URL (כתובת הבסיס של ספק הישות) נכון. מערכת Advanced Identity Cloud משתמשת בערך הזה לכל נקודות הקצה שקשורות ל-SAML 2.0.
    2. בקטע Meta Aliases, מציינים ערך שמתאים לכתובת URL במאפיין Identity Provider Meta Alias. הכינוי הזה חייב להיות ייחודי במעגל האמון.
    3. לוחצים על יצירה.
    4. בכרטיסייה Assertion Processing (עיבוד הצהרות), בקטע Attribute Mapper (מיפוי מאפיינים), ממפים את שמות מאפייני ה-SAML לשמות המאפיינים המקומיים. שמות מאפייני ה-SAML הם השמות שמשמשים בטענת הנכונות (assertion).
    5. לוחצים על הוספה או על עדכון לכל מיפוי.
    6. לוחצים על שמירת השינויים.

שימוש במאפיינים

בקטע הזה מוסבר איך להשתמש במאפיינים מטענת הנכונות (assertion) של SAML.

בדוגמאות הבאות, מאפיינים בטענת הנכוֹנוּת (assertion) של SAML ממופים למאפיינים מקומיים:

מאפיין SAML מאפיין מקומי
IDPEmail mail
FirstName givenName
groups groups

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

ייצוא מטא-נתונים של ספק

אפשר לגשת למטא-נתונים של SAML 2.0 של הספק המתארח באחת מהדרכים הבאות:

  • באמצעות REST

    מריצים את הפקודה הבאה:

    curl --output METADATA_XML \
        "https://TENANT_ENV_FQDN/am/ExportSamlMetadata?entityid=ENTITY_ID&realm=/REALM"
    
  • בדפדפן

    פותחים את כתובת ה-URL של המטא-נתונים של סביבת הדייר בדפדפן כדי להוריד את קובץ ה-XML: https://TENANT_ENV_FQDN/am/ExportSamlMetadata?entityid=ENTITY_ID&realm=/REALM

  1. שומרים את קובץ ה-XML במחשב המקומי.

ייבוא Google כספק SP מרוחק

  1. מכינים את Google Cloud קובץ ה-XML של המטא-נתונים של ספק השירות. משתמשים בתבנית הבאה ומחליפים את ערכי ה-placeholder:

    <?xml version="1.0" encoding="UTF-8"?>
    <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID">
       <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
          <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
          <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
          <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID" index="0" isDefault="true"/>
       </md:SPSSODescriptor>
    </md:EntityDescriptor>
    
  2. מייבאים את המטא-נתונים באחת מהדרכים הבאות:

    • במסוף

      1. במסוף Admin של PingOne AIC, עוברים אל SAML Applications (אפליקציות SAML).
      2. לוחצים על הוספת ספק ישויות > מרחוק.
      3. מעלים את קובץ ה-XML של מטא-נתוני Google Cloud ספק השירות שיצרתם.
      4. לוחצים על יצירה.
    • באמצעות REST

      1. ממירים את המטא-נתונים של ה-XML למחרוזת בקידוד base64url.
      2. קבלת טוקן גישה
      3. מריצים את הפקודה הבאה:

        curl --request POST \
            --header 'authorization: Bearer ACCESS_TOKEN' \
            --header 'Content-Type: application/json' \
            --header 'Accept-API-Version: resource=1.0' \
            --data-raw '{"standardMetadata": "BASE64URL_ENCODED_METADATA"}' \
            'https://TENANT_ENV_FQDN/am/json/realms/root/realms/alpha/realm-config/saml2/remote?_action=importEntity'
        

יצירת מעגל מהימן (CoT)

  1. עוברים אל תחומים > REALM_NAME > אפליקציות > פדרציה > מעגלי אמון.
  2. לוחצים על הוספת מעגל מהימן.
  3. מזינים שם ולוחצים על יצירה.
  4. בדף Circle of Trust, בנכס Entity Providers, בוחרים את ספק הזהויות המתארח ואת Google Cloud ספק השירות המרוחק.
  5. לוחצים על שמירת השינויים.

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

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

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

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

    gcloud

    1. שומרים את המטא-נתונים של SAML מאפליקציית PingOne AIC.

    2. כדי ליצור את הספק של מאגר הזהויות של כוח העבודה ב-SAML, מריצים את הפקודה הבאה:

      gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
          --workforce-pool="WORKFORCE_POOL_ID" \
          --display-name="DISPLAY_NAME" \
          --description="DESCRIPTION" \
          --idp-metadata-path="XML_METADATA_PATH" \
          --attribute-mapping="ATTRIBUTE_MAPPING" \
          --attribute-condition="ATTRIBUTE_CONDITION" \
          --location=global
      

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

      • ‫WORKFORCE_PROVIDER_ID: מזהה הספק.
      • WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה.
      • ‫DISPLAY_NAME: שם מוצג.
      • ‫DESCRIPTION: תיאור.
      • ‫XML_METADATA_PATH: הנתיב לקובץ המטא-נתונים בפורמט XML שייצאתם מ-PingOne AIC.
      • ‫ATTRIBUTE_MAPPING: מיפוי המאפיינים. לדוגמה, google.subject=assertion.subject,google.groups=assertion.attributes.groups,attribute.department=assertion.attributes.department[0].
      • ‫ATTRIBUTE_CONDITION: תנאי למאפיין (לא חובה). לדוגמה, כדי להגביל את המאפיין ipaddr לטווח מסוים של כתובות IP, אפשר ליצור את התנאי assertion.ipaddr.startsWith('98.11.12.').

      מידע נוסף זמין במאמר בנושא מיפוי מאפיינים.

      הפקודה הזו מקצה את subject, ‏groups ו-department בטענת הנכונות (assertion) של SAML למאפיינים google.subject, ‏google.groups ו-attribute.department בהתאמה. בנוסף, באמצעות התנאי למאפיין אפשר להבטיח שרק משתמשים בטווח מסוים של כתובות IP יוכלו להיכנס באמצעות ספק הזהויות הזה לכוח העבודה.

    המסוף

    כדי להגדיר את פלאגין שמתממשק עם שירותים חיצוניים של SAML באמצעות המסוף Google Cloud , בצע את הפעולות הבאות:

    1. במסוף Google Cloud , עוברים לדף Workforce Identity Pools: מעבר אל Workforce Identity Pools
    2. בטבלה Workforce Identity Pools (מאגרי זהויות של כוח עבודה), בוחרים את המאגר שרוצים ליצור עבורו את הספק.
    3. בקטע ספקים, לוחצים על הוספת ספק.
    4. ברשימה Select a Provider vendor בוחרים באפשרות Generic Identity Provider.
    5. בקטע Select an authentication protocol, בוחרים באפשרות SAML.
    6. בקטע Create a provider, מבצעים את הפעולות הבאות:
      1. בשדה שם, מזינים שם לספק.
      2. אופציונלי: בשדה Description, מזינים תיאור לספק.
      3. בקטע IDP metadata file (XML) (קובץ מטא-נתונים של IdP‏ (XML)), בוחרים את קובץ ה-XML של המטא-נתונים שייצאתם מ-PingOne AIC.
      4. כדי ליצור פלאגין שמתממשק עם שירותים חיצוניים שמופעל, מוודאים שהאפשרות הפעלת פלאגין שמתממשק עם שירותים חיצוניים מופעלת.
      5. לוחצים על Continue.
    7. בקטע שיתוף פרטי הספק, לוחצים על המשך.
    8. אופציונלי: כדי להפעיל רישום מפורט ביומן הביקורת, בקטע Configure provider (הגדרת הספק), בDetailed logging (רישום מפורט), לוחצים על המתג Enable attribute value audit logging (הפעלת רישום ביומן הביקורת של ערכי מאפיינים).

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

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

    9. כדי ליצור את הספק, לוחצים על שליחה.

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

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

    1. כשמוצגת בקשה, נכנסים לחשבון ב-IdP החיצוני כדי לאמת את מיפויי ברירת המחדל של המאפיינים.
    2. בדף 'מאפיינים של הספק', אפשר לראות ולערוך את מיפויי המאפיינים והתנאים:

      1. כדי להוסיף או לערוך מיפויים של מאפיינים:

        1. לוחצים על הוספת מיפוי כדי להוסיף מיפוי חדש, או עורכים את המיפויים הקיימים.
        2. בשדה Google n, כאשר n הוא מספר, בוחרים מפתח שנתמך על ידי Google Cloud.
        3. בשדה SAML n המתאים, מזינים את שם מאפיין ה-IdP או ביטוי CEL – לדוגמה:

          google.subject=assertion.subject,
          google.groups=assertion.attributes['https://example.com/aliases'],
          attribute.costcenter=assertion.attributes.costcenter[0]
          
      2. כדי להוסיף תנאי מאפיין:

        1. לוחצים על הוספת תנאי.
        2. בשדה Attribute Conditions, מזינים תנאי בפורמט CEL – לדוגמה, assertion.attributes.ipaddr.startsWith('98.11.12.').
    3. כדי לאמת את המיפויים, לוחצים על Save and refetch token (שמירה ואחזור מחדש של טוקן).

    4. כדי להשלים את ההגדרה, לוחצים על שמירה ויציאה.

ניהול הגישה למשאבים Google Cloud

בקטע הזה מוסבר איך לנהל את הגישה ל Google Cloud משאבים עבור משתמשי PingOne AIC.

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

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

שימוש במאפיינים של מחלקה ממופה

כדי להקצות את התפקיד Storage Admin (roles/storage.admin) לכל הזהויות במחלקה ספציפית בפרויקט TEST_PROJECT_ID, מריצים את הפקודה הבאה:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/attribute.department/DEPARTMENT_VALUE"

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

  • ‫TEST_PROJECT_ID: מזהה הפרויקט.
  • WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה.
  • ‫DEPARTMENT_VALUE: הערך הממופה של attribute.department.

שימוש בקבוצות ממופות

כדי להקצות את התפקיד Storage Admin (roles/storage.admin) לכל הזהויות בקבוצה GROUP_ID בפרויקט TEST_PROJECT_ID, מריצים את הפקודה הבאה:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"

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

  • ‫TEST_PROJECT_ID: מזהה הפרויקט.
  • WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה.
  • ‫GROUP_ID: קבוצה בהצהרה הממופה google.groups.

כניסה לחשבון ובדיקת גישה

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

כניסה

כניסה לחשבון במסוף (איחוד)

כדי להיכנס למסוף Google Cloud איחוד שירותי אימות הזהות של כוח עבודה, שנקרא גם המסוף (מאוחד), מבצעים את הפעולות הבאות:

  1. עוברים לדף הכניסה של המסוף (איחוד).

    כניסה למסוף (איחוד)

  2. מזינים את שם הספק בפורמט הבא:
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
  3. כשמתבקשים, מזינים את פרטי הכניסה ל-PingOne AIC.

כניסה מבוססת דפדפן ל-Google Cloud CLI

כדי להיכנס ל-CLI של gcloud באמצעות הדפדפן:

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

‫Linux ו-macOS

gcloud iam workforce-pools create-login-config \
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \
    --output-file=LOGIN_CONFIG_PATH

‏Windows (PowerShell)

gcloud iam workforce-pools create-login-config `
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID `
    --output-file=LOGIN_CONFIG_PATH

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

  • ‫WORKFORCE_POOL_ID: המזהה של מאגר הזהויות של כוח העבודה.
  • ‫WORKFORCE_PROVIDER_ID: המזהה של ספק איחוד שירותי אימות הזהות של כוח העבודה.
  • ‫LOGIN_CONFIG_PATH: הנתיב שבו ייכתב קובץ התצורה להתחברות. לדוגמה, login-config.json.

קובץ הגדרות הכניסה מכיל את נקודות הקצה (endpoints) שבהן ה-CLI של gcloud משתמש כדי להפעיל את תהליך האימות בדפדפן ולהגדיר את הקהל לספק הזהויות שהוגדר במאגר הזהויות של כוח העבודה. הקובץ לא מכיל מידע סודי.

התוכן של קובץ התצורה לכניסה נראה כך:

{
  "universe_domain": "googleapis.com",
  "universe_cloud_web_domain": "cloud.google",
  "type": "external_account_authorized_user_login_config",
  "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
  "auth_url": "https://auth.cloud.google/authorize",
  "token_url": "https://sts.googleapis.com/v1/oauthtoken",
  "token_info_url": "https://sts.googleapis.com/v1/introspect"
}

מפנים לקובץ התצורה לכניסה באמצעות משתנה סביבה, מאפיין בהגדרות האישיות הפעילות של ה-CLI של gcloud, או משתמשים בו ישירות באמצעות הפקודה gcloud auth login:

משתנה הסביבה

כדי להשתמש בקובץ התצורה שמשמש לכניסה באמצעות משתנה סביבה, מבצעים את ההוראות הבאות:

  1. מגדירים את משתנה הסביבה CLOUDSDK_AUTH_LOGIN_CONFIG_FILE לנתיב של קובץ התצורה להתחברות.
  2. מריצים את הפקודה הבאה:

    gcloud auth login
  3. ה-CLI של gcloud מפנה למשתנה הסביבה כדי למצוא את קובץ התצורה של הכניסה, ואז מתחיל את תהליך האימות. פועלים בהתאם להליך שבדפדפן כדי לאמת את ה-CLI של gcloud ולאשר לו גישה למשאבים בשמכם עבור פקודות עתידיות.

כדי להפסיק להשתמש בקובץ התצורה שמשמש לכניסה לפקודות gcloud auth login, מוחקים את משתנה הסביבה CLOUDSDK_AUTH_LOGIN_CONFIG_FILE.

ההגדרה של ה-CLI של gcloud

כדי להשתמש בקובץ התצורה שמשמש לכניסה עם מאפיין תצורה של ה-CLI של gcloud:

  1. מגדירים את המאפיין auth/login_config_file של ההגדרות האישיות הפעילות של ה-CLI של gcloud לנתיב של קובץ התצורה לכניסה באמצעות הפקודה הבאה:

    gcloud config set auth/login_config_file LOGIN_CONFIG_PATH
  2. מריצים את הפקודה הבאה:

    gcloud auth login
  3. ה-CLI של gcloud מפנה למאפיין ההגדרות כדי למצוא את קובץ ההגדרות של הכניסה, ואז מתחיל את תהליך האימות. פועלים בהתאם להליך שבדפדפן כדי לאמת את ה-CLI של gcloud ולאשר לו גישה למשאבים בשמכם עבור פקודות עתידיות.

כדי להפסיק להשתמש בקובץ התצורה שמשמש לכניסה לפקודות gcloud auth login, מבטלים את הגדרת המאפיין באמצעות הפקודה הבאה:

gcloud config unset auth/login_config_file

gcloud auth login

כדי להשתמש ישירות בקובץ התצורה לכניסה באמצעות הפקודה gcloud auth login, פועלים לפי ההוראות הבאות:

  • אם השתמשתם בדגל --activate כשייצרתם את קובץ התצורה לכניסה, מריצים את הפקודה הבאה:

    gcloud auth login
  • אם לא השתמשתם בדגל --activate כשייצרתם את קובץ התצורה לכניסה, מריצים את הפקודה הבאה:

    ‫Linux ו-macOS

    gcloud auth login \
        --login-config=LOGIN_CONFIG_PATH

    ‏Windows (PowerShell)

    gcloud auth login `
        --login-config=LOGIN_CONFIG_PATH

    מחליפים את LOGIN_CONFIG_PATH בנתיב של קובץ התצורה להתחברות.

הפקודה gcloud auth login שומרת את פרטי הגישה בספריית הבית. המשתמש המאומת הופך למשתמש הפעיל בהגדרות האישיות הפעילות של ה-CLI של gcloud. אלא אם משנים את ברירת המחדל, ה-CLI של gcloud משתמש בפרטי הכניסה המאוחסנים האלה כדי לגשת אל Google Cloud.

כניסה באמצעות דפדפן ללא GUI ל-CLI של gcloud

כדי להיכנס ל-PingOne AIC באמצעות ה-CLI של gcloud באמצעות פרוטוקול SAML:

  1. נכנסים עם חשבון משתמש לאפליקציית PingOne AIC ומקבלים את התגובה ב-SAML.
  2. שומרים את התגובה ב-SAML שמוחזרת על ידי PingOne AIC במיקום מאובטח במחשב המקומי. מאחסנים את הנתיב במשתנה סביבה – לדוגמה: SAML_ASSERTION_PATH=/tmp/saml_assertion.xml.
  3. יוצרים קובץ תצורה:

    gcloud iam workforce-pools create-cred-config \
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \
        --subject-token-type=urn:ietf:params:oauth:token-type:saml2 \
        --credential-source-file=SAML_ASSERTION_PATH \
        --workforce-pool-user-project=PROJECT_ID \
        --output-file=config.json
    

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

    • ‫SAML_ASSERTION_PATH: הנתיב לקובץ של טענת הנכונות ב-SAML.
    • ‫PROJECT_ID: מזהה הפרויקט.
  4. קובץ התצורה שייווצר יהיה דומה לזה:

    {
      "type": "external_account",
      "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
      "subject_token_type": "urn:ietf:params:oauth:token-type:saml2",
      "token_url": "https://sts.googleapis.com/v1/token",
      "credential_source": {
        "file": "SAML_ASSERTION_PATH"
      },
      "workforce_pool_user_project": "PROJECT_ID"
    }
    
  5. כדי להיכנס ל-CLI של gcloud באמצעות החלפת אסימונים, מריצים את הפקודה הבאה:

    gcloud auth login --cred-file=config.json
    

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

    Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_ID].

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

    gcloud auth list
    

בדיקת גישה

אתם יכולים לגשת לשירותים של Google Cloud שמאפשרים איחוד שירותי אימות הזהות של כוח העבודה, שקיבלתם אליהם גישה. מוקדם יותר במדריך הזה הקציתם את התפקיד Storage Admin לכל הזהויות במחלקה או בקבוצה ספציפית בפרויקט TEST_PROJECT_ID. כדי לבדוק אם יש לכם גישה, אתם יכולים להציג את הרשימה של הקטגוריות של Cloud Storage.

כניסה לחשבון במסוף (איחוד)

כדי לאמת את הגישה במסוף (איחוד), מבצעים את הפעולות הבאות:

  1. נכנסים לדף Cloud Storage.
  2. מוודאים שאפשר לראות את רשימת הקטגוריות הקיימות של הפרויקט TEST_PROJECT_ID.

‫CLI של gcloud

כדי לראות את הקטגוריות והאובייקטים של Cloud Storage בפרויקט שיש אליו גישה, מריצים את הפקודה הבאה:

gcloud alpha storage ls --project="TEST_PROJECT_ID"

לחשבון המשתמש צריכה להיות ההרשאה serviceusage.services.use בפרויקט שהוגדר בסשן של ה-CLI של gcloud: ‏PROJECT_ID.

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