ניהול ספקים ומאגרים של זהויות של עומסי העבודה

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

אפשר לנהל את המאגרים והספקים באמצעות מסוף Google Cloud , באמצעות Google Cloud CLI או באמצעות API בארכיטקטורת REST.

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

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

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

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

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

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

ההרשאות הנדרשות

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

  • כדי לעיין במאגרים וספקים של זהויות של כוח עבודה:
    • iam.googleapis.com/workloadIdentityPoolProviders.get
    • iam.googleapis.com/workloadIdentityPoolProviders.list
    • iam.googleapis.com/workloadIdentityPools.get
    • iam.googleapis.com/workloadIdentityPools.list
  • כדי ליצור, לעדכן ולמחוק מאגרים וספקים:
    • iam.googleapis.com/workloadIdentityPoolProviders.create
    • iam.googleapis.com/workloadIdentityPoolProviders.delete
    • iam.googleapis.com/workloadIdentityPoolProviders.undelete
    • iam.googleapis.com/workloadIdentityPoolProviders.update
    • iam.googleapis.com/workloadIdentityPools.create
    • iam.googleapis.com/workloadIdentityPools.delete
    • iam.googleapis.com/workloadIdentityPools.undelete
    • iam.googleapis.com/workloadIdentityPools.update

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

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

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

יצירת מאגרים

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

המסוף

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

לדף Workload Identity Pools

gcloud

מפעילים את הפקודה gcloud iam workload-identity-pools create.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.create().

הצגת רשימה של מאגרים

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

המסוף

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

לדף Workload Identity Pools

gcloud

מפעילים את הפקודה gcloud iam workload-identity-pools list.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.list().

קבלת פרטי מאגר

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

המסוף

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

    לדף Workload Identity Pools

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

gcloud

מפעילים את הפקודה gcloud iam workload-identity-pools describe.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.get().

עדכון מאגר

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

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

המסוף

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

    לדף Workload Identity Pools

  2. מאתרים את מאגר הזהויות של עומסי עבודה שרוצים לערוך.

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

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

    1. בדף פרטי המאגר, לצד השם המוצג, לוחצים על סמל העריכה.

    2. בתיבת הדו-שיח עריכת השם המוצג של המאגר שמופיעה, מעדכנים את השם המוצג.

    3. לוחצים על Save.

  5. כדי להשבית או להפעיל את מאגר הזהויות של כוח עבודה, לוחצים על המתג Status ואז על Disable או על Enable.

  6. כדי לערוך את התיאור:

    1. בקטע תיאור, לצד טקסט התיאור, לוחצים על עריכה.

    2. מעדכנים את התיאור.

    3. לוחצים על Save.

gcloud

מפעילים את הפקודה gcloud iam workload-identity-pools update.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.patch().

מחיקת מאגר

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

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

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

המסוף

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

    לדף Workload Identity Pools

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

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

gcloud

מפעילים את הפקודה gcloud iam workload-identity-pools delete.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.delete().

ביטול מחיקה של מאגר

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

כדי לבטל מחיקה של מאגר:

המסוף

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

    לדף Workload Identity Pools

  2. לוחצים על המתג Show deleted pools and providers.

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

  4. לוחצים על Restore. המאגר והספקים שלו משוחזרים.

gcloud

מפעילים את הפקודה gcloud iam workload-identity-pools undelete.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.undelete().

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

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

יצירת ספק

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

המסוף

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

    לדף Workload Identity Pools

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

  3. לוחצים על Add provider.

  4. בוחרים את סוג הספק שרוצים ליצור:

    • AWS: ספק זהויות של Amazon Web Services‏ (AWS).
    • OpenID Connect (OIDC): ספק זהויות תואם OIDC. זה כולל את Microsoft Azure.
  5. מזינים שם לספק.

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

  6. ממלאים את שאר השדות לספק:

    • AWS: מזינים את מזהה החשבון ב-AWS.
    • OIDC: מזינים את כתובת ה-URL של המנפיק. במקרה של Azure, כתובת ה-URL של המנפיק בנויה בתבנית https://sts.windows.net/AZURE_TENANT_ID. לגבי ספקים אחרים, כדאי לעיין במסמכי התיעוד של הספק.

    בסיום, לוחצים על Continue.

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

  8. אופציונלי: כדי לציין תנאי של מאפיינים שמציין את הזהויות שאפשר לאמת, לוחצים על Add condition ומזינים ביטוי חוקי ב-Common Expression Language‏ (CEL). למידע נוסף, קראו את המאמר תנאים של מאפיינים.

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

gcloud

כדי ליצור ספק AWS, מריצים את הפקודה gcloud iam workload-identity-pools providers create-aws.

כדי ליצור ספק OIDC, מריצים את הפקודה gcloud iam workload-identity-pools providers create-oidc. זה כולל את Microsoft Azure.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.providers.create().

הצגה של רשימת הספקים

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

המסוף

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

    לדף Workload Identity Pools

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

gcloud

מפעילים את הפקודה gcloud iam workload-identity-pools providers list.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.providers.list().

הצגת ספק

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

המסוף

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

    לדף Workload Identity Pools

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

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

gcloud

מפעילים את הפקודה gcloud iam workload-identity-pools providers describe.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.providers.get().

עדכון ספק

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

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

המסוף

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

    לדף Workload Identity Pools

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

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

  4. עורכים את הפרטים של הספק ולוחצים על Save.

gcloud

כדי לעדכן ספק AWS, מריצים את הפקודה gcloud iam workload-identity-pools providers update-aws.

כדי לעדכן ספק OIDC, מריצים את הפקודה gcloud iam workload-identity-pools providers update-oidc. זה כולל את Microsoft Azure.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.providers.patch().

מחיקת ספק

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

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

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

המסוף

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

    לדף Workload Identity Pools

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

  3. מאתרים את הספק שרוצים למחוק בחלונית Providers ולוחצים על Delete כדי למחוק אותו.

  4. כדי למחוק את הספק, לוחצים על Delete.

gcloud

מפעילים את הפקודה gcloud iam workload-identity-pools providers delete.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.providers.delete().

ביטול מחיקה של ספק

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

המסוף

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

    לדף Workload Identity Pools

  2. לוחצים על המתג Show deleted pools and providers.

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

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

  5. לוחצים על Restore. הספק משוחזר.

gcloud

מפעילים את הפקודה gcloud iam workload-identity-pools providers undelete.

REST

קוראים לפונקציה projects.locations.workloadIdentityPools.providers.undelete().

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

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

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

הגדרת הגבלות על ספקי הזהויות

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

כדי לקבוע אילו ספקי זהויות מורשים, מפעילים את אילוץ הרשימה constraints/iam.workloadIdentityPoolProviders במדיניות של הארגון. האילוץ הזה מציין את מזהי ה-URI של המנפיקים של הספקים המורשים. אפשר להפעיל את האילוץ הזה באמצעות Google Cloud מסוף או Google Cloud CLI.

כדי לאפשר איחוד רק מ-AWS, יוצרים אילוץ יחיד עם ה-URI https://sts.amazonaws.com. הדוגמה הבאה מציגה איך ליצור את האילוץ הזה באמצעות ה-CLI של gcloud:

gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \
     https://sts.amazonaws.com --organization=ORGANIZATION_NUMBER

אפשר גם לציין לאילו מזהיי חשבונות AWS יש גישה לGoogle Cloud משאבים. כדי לציין את מזהי החשבונות, משתמשים באילוץ הרשימה constraints/iam.workloadIdentityPoolAwsAccounts:

gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolAwsAccounts \
    ACCOUNT_ID --organization=ORGANIZATION_NUMBER

כדי לאפשר איחוד רק מספק OIDC אחד, יוצרים אילוץ יחיד עם המזהה issuer_uri של הספק המורשה. למשל, הדוגמה הבאה מציגה איך לאפשר איחוד רק מדייר (tenant) ספציפי של Azure:

gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \
     https://sts.windows.net/AZURE_TENANT_ID --organization=ORGANIZATION_NUMBER

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

כדי לאפשר את האיחוד של ספקי זהויות של SAML, יוצרים אילוץ שמאפשר להשתמש במילת המפתח המיוחדת KEY_UPLOAD.

gcloud resource-manager org-policies allow constraints/iam.workloadIdentityPoolProviders \
     KEY_UPLOAD --organization=ORGANIZATION_NUMBER

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

כדי לחסום את האיחוד מכל הספקים:

  1. יוצרים קובץ YAML שמכיל את ההגדרות הבאות:

    constraint: constraints/iam.workloadIdentityPoolProviders
    listPolicy:
      allValues: DENY
  2. מעבירים את הקובץ בהפעלת הפקודה gcloud resource-manager org-policies set-policy:

    gcloud resource-manager org-policies set-policy FILE_NAME.yaml \
        --organization=ORGANIZATION_NUMBER

הגבלת יצירת מפתחות לחשבון שירות

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

כדי להשבית את היצירה של מפתחות לחשבון שירות, אוכפים את האילוץ הבוליאני iam.disableServiceAccountKeyCreation במדיניות הארגון. בנוסף, אפשר לאכוף את האילוץ הבוליאני iam.disableServiceAccountKeyUpload כדי להשבית גם את ההעלאה של מפתחות ציבוריים של חשבונות שירות.

אפשר להפעיל את האילוצים האלה באמצעות Google Cloud המסוף או ה-CLI של gcloud. לדוגמה, הפקודות הבאות מאפשרות את שני האילוצים ב-CLI של gcloud:

gcloud resource-manager org-policies enable-enforce \
    constraints/iam.disableServiceAccountKeyCreation \
    --organization=ORGANIZATION_NUMBER
gcloud resource-manager org-policies enable-enforce \
    constraints/iam.disableServiceAccountKeyUpload \
    --organization=ORGANIZATION_NUMBER

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

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

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

מידע נוסף על איחוד שירותי אימות הזהות של עומסי עבודה