הפעלת איחוד שירותי אימות הזהות של עומסי עבודה ב-AKS וב-EKS

במאמר הזה מוסבר איך להפעיל איחוד זהויות של עומסי עבודה (WIF) בהתקנות Apigee Hybrid בפלטפורמות AKS ו-EKS באמצעות אסימונים של חשבונות שירות מוקרנים ב-Kubernetes.

להתקנות ב-GKE, פועלים לפי ההוראות במאמר הפעלת Workload Identity ב-GKE.

פלטפורמה שיטה מומלצת פרטים
GKE Workload Identity שילוב מובנה של GKE/Google Cloud.
‫AKS / EKS איחוד שירותי אימות הזהות של עומסי עבודה בדף הזה (טוקנים של חשבון שירות מוקצה).
‫AKS / EKS עם ספק זהויות (IdP) בהתאמה אישית אימות Sidecar משתמשים באיחוד שירותי אימות הזהות של עומסי עבודה עם אימות מבוסס-sidecar.

סקירה כללית

איחוד שירותי אימות הזהות של עומסי עבודה מאפשר לאפליקציות שפועלות מחוץ ל-Google Cloud להתחזות לחשבון שירות של Google Cloud Platform (כלומר לפעול בשמו) באמצעות פרטי כניסה מספק זהויות חיצוני (IDP).

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

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

סיכום ההליך

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

  1. מגדירים את Google Cloud: יוצרים את מאגר הזהויות של עומסי העבודה ואת ספק OIDC.
  2. יצירת קובצי הגדרות של פרטי כניסה: יצירת קובצי JSON להחלפת פרטי כניסה.
  3. הגדרת Apigee Hybrid: מעדכנים את overrides.yaml ומחילים את השינויים באמצעות Helm.
  4. הענקת הרשאות IAM: קישור חשבונות שירות של Kubernetes לחשבונות שירות של Google.

אם כבר השלמתם את ההגדרה של Google Cloud ויש לכם את קובצי ההגדרה של פרטי הכניסה, אתם יכולים לדלג אל הגדרת Apigee Hybrid.

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

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

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

ההנחיות האלה מניחות שכבר הגדרתם את ההתקנה של Apigee hybrid. חשבונות השירות של IAM וחשבונות השירות של Kubernetes נוצרים במהלך ההתקנה הראשונית. במאמר התמונה הגדולה מופיעה סקירה כללית על התקנת Apigee hybrid.

במקרה של התקנות ב-AKS, צריך לוודא שהפעלתם את מנפיק OpenID Connect‏ (OIDC). צריך להפעיל את התכונה הזו כדי שאיחוד שירותי אימות הזהות של עומסי עבודה יוכל לגשת למטא-נתונים של OpenID Connect ול-JSON Web Key Set‏ (JWKS) של האשכול.

הגדרת האפשרות לשימוש באיחוד זהויות של עומסי עבודה (WIF) באשכול

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

    gcloud config set project PROJECT_ID
  3. מפעילים את Security Token Service API:

    כדי לוודא ש-Security Token Service API מופעל, מריצים את הפקודה הבאה:

    gcloud services list --enabled --project PROJECT_ID | grep sts.googleapis.com

    אם ה-API לא מופעל:

    המסוף

    מפעילים את Security Token Service API, אם הוא עדיין לא מופעל.

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

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

    להפעלת ה-API

    שורת הפקודה

    מפעילים את ה-API באמצעות הפקודה הבאה:

    gcloud services enable sts.googleapis.com --project PROJECT_ID
  4. יוצרים את הספק ואת מאגר הזהויות של עומסי העבודה.

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

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

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

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

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

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

    1. קובעים את כתובת ה-URL של מנפיק אשכול ה-AKS:

      AKS

      az aks show -n NAME -g RESOURCE_GROUP --query "oidcIssuerProfile.issuerUrl" -otsv

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

      • ‫NAME: שם האשכול.
      • ‫RESOURCE_GROUP: קבוצת המשאבים של האשכול.

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

      אם הפקודה לא מחזירה כתובת URL של מנפיק, צריך לוודא שהפעלתם את התכונה מנפיק OIDC.

      EKS

      aws eks describe-cluster --name NAME --query "cluster.identity.oidc.issuer" --output text
      

      מחליפים את NAME בשם האשכול.

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

      ‫Kubernetes אחר

      1. מתחברים לאשכול Kubernetes ומשתמשים ב-`kubectl` כדי לקבוע את כתובת ה-URL של מנפיק האישורים באשכול:
        kubectl get --raw /.well-known/openid-configuration | jq -r .issuer
        

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

    2. אופציונלי: אם אי אפשר לגשת לשרת ה-OIDC שלכם באופן ציבורי, מורידים את קבוצת מפתחות ה-JSON Web Key Set‏ (JWKS) של האשכול:
      kubectl get --raw /openid/v1/jwks > cluster-jwks.json
      

      כדי לבדוק אם ספק ה-OIDC שלכם זמין לציבור, אתם צריכים להיות מסוגלים לגשת לכתובת ה-URL של הספק באמצעות פקודת CURL ולקבל תגובה 200.

    3. יצירת מאגר זהויות חדש של עומסי עבודה:
      gcloud iam workload-identity-pools create POOL_ID \
        --location="global" \
        --description="DESCRIPTION" \
        --display-name="DISPLAY_NAME"
                  

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

      • ‫POOL_ID: המזהה הייחודי של המאגר.
      • ‫DISPLAY_NAME: (אופציונלי) שם המאגר.
      • ‫DESCRIPTION: (אופציונלי) תיאור של המאגר שנבחר. התיאור הזה מופיע כשמעניקים גישה לזהויות במאגר.

      לדוגמה:

      gcloud iam workload-identity-pools create my-wi-pool --display-name="My workload pool" --description="My workload pool description"
    4. מוסיפים את האשכול כספק של מאגר זהויות של עומסי עבודה. בוחרים את הפקודה ליצירת הפלאגין שמתממשק עם שירותים חיצוניים בהתאם לשאלה אם המוסד המנפיק OIDC נגיש לציבור או לא נגיש לציבור:

      גלוי לכולם

      אם הנפקן של OIDC נגיש לציבור, יוצרים את הספק באמצעות הפקודה הבאה:

      gcloud iam workload-identity-pools providers create-oidc WORKLOAD_PROVIDER_ID \
        --location="global" \
        --workload-identity-pool="POOL_ID" \
        --issuer-uri="ISSUER" \
        --attribute-mapping="google.subject=assertion.sub"

      לא נגיש לציבור

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

        gcloud iam workload-identity-pools providers create-oidc WORKLOAD_PROVIDER_ID \
        --location="global" \
        --workload-identity-pool="POOL_ID" \
        --issuer-uri="ISSUER" \
        --jwks-file="cluster-jwks.json" \
        --attribute-mapping="google.subject=assertion.sub"

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

      • WORKLOAD_PROVIDER_ID: מזהה ייחודי לפי בחירתכם של ספק מאגר הזהויות של עומסי העבודה.
      • ‫POOL_ID: מזהה מאגר הזהויות של עומסי העבודה שיצרתם קודם.
      • ‫ISSUER: משתמשים בכתובת ה-URL של המנפיק שנקבעה קודם לכן עבור ה-URI של המנפיק .

      ‫attribute-mapping="google.subject=assertion.sub" ממפה את הנושא ב-Kubernetes לנושא ב-IAM.

יצירת קובצי התצורה של פרטי הכניסה

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

  1. כדי להציג את רשימת חשבונות השירות ב-IAM (שנקראים גם 'חשבונות שירות של Google'), מריצים את הפקודה הבאה:
    gcloud iam service-accounts list --project PROJECT_ID

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

    Prod

    לסביבות ייצור:

    DISPLAY NAME                 EMAIL                                                              DISABLED
    apigee-cassandra             apigee-cassandra@my_project_id.iam.gserviceaccount.com             False
    apigee-mart                  apigee-mart@my_project_id.iam.gserviceaccount.com                  False
    apigee-metrics               apigee-metrics@my_project_id.iam.gserviceaccount.com               False
    apigee-runtime               apigee-runtime@my_project_id.iam.gserviceaccount.com               False
    apigee-synchronizer          apigee-synchronizer@my_project_id.iam.gserviceaccount.com          False
    apigee-udca                  apigee-udca@my_project_id.iam.gserviceaccount.com                  False
    apigee-watcher               apigee-watcher@my_project_id.iam.gserviceaccount.com               False
    

    אם אתם משתמשים במונטיזציה ב-Apigee hybrid בגרסה v1.14.3 ואילך, תצטרכו גם ליצור את קובץ התצורה של פרטי הכניסה לחשבון השירות apigee-mint-task-scheduler.

    DISPLAY NAME                 EMAIL                                                              DISABLED
    ...
    apigee-mint-task-scheduler   apigee-mint-task-scheduler@my_project_id.iam.gserviceaccount.com   False
    ...

    Non-prod

    לסביבות שאינן סביבות ייצור:

    DISPLAY NAME         EMAIL                                                      DISABLED
    apigee-non-prod      apigee-non-prod@my_project_id.iam.gserviceaccount.com      False
    
  2. יוצרים קובץ הגדרות של פרטי כניסה לכל חשבון שירות של IAM ברשימה הקודמת. תצטרכו את קובצי ההגדרות של פרטי הכניסה האלה כדי להגדיר את Apigee hybrid לשימוש באיחוד שירותי אימות הזהות של עומסי עבודה:

    קוד

    gcloud iam workload-identity-pools create-cred-config \
      projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/providers/WORKLOAD_PROVIDER_ID \
      --service-account=SERVICE_ACCOUNT_EMAIL \
      --credential-source-file=/var/run/service-account/token \
      --credential-source-type=text \
      --output-file=SERVICE_ACCOUNT_NAME-credential-configuration.json
      

    דוגמה

    gcloud iam workload-identity-pools create-cred-config \
      projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider \
      --service-account=apigee-cassandra@myhybridporg.iam.gserviceaccount.com \
      --credential-source-file=/var/run/service-account/token \
      --credential-source-type=text \
      --output-file=apigee-cassandra-credential-configuration.json
      

    כאשר:

    • ‫PROJECT_NUMBER: מספר הפרויקט שמכיל את מאגר הזהויות של עומסי העבודה. צריך להזין את מספר הפרויקט ולא את מזהה הפרויקט.
    • ‫POOL_ID: המזהה של מאגר זהויות של עומסי עבודה
    • WORKLOAD_PROVIDER_ID: מזהה הספק של מאגר הזהויות של כוח העבודה
    • ‫SERVICE_ACCOUNT_EMAIL: כתובת האימייל של חשבון השירות, אם הגדרתם את חשבון השירות של Kubernetes להשתמש בהתחזות לחשבון שירות של IAM.

    קובץ התצורה של פרטי הכניסה מאפשר ל[ספריות הלקוח ב-Cloud](/apis/docs/cloud-client-libraries), ל-CLI של gcloud ול-Terraform לקבוע את הפרטים הבאים:

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

    הגדרת Apigee Hybrid לשימוש באיחוד זהויות של עומסי עבודה (WIF)

    1. מעתיקים או מעבירים כל קובץ פלט (SERVICE_ACCOUNT_NAME-credential-configuration.json) לספריות התרשימים הבאות (או לספריות המשנה שלהן). אלה הקבצים שיצרתם בשלב יצירת קובצי התצורה של פרטי הכניסה.

      Prod

      חשבון שירות ספריית תרשימי Helm של Apigee
      apigee-cassandra apigee-datastore/
      apigee-mart apigee-org/
      apigee-metrics apigee-telemetry/
      apigee-mint-task-scheduler
      (אם משתמשים ב-Monetization for Apigee hybrid)
      apigee-org/
      apigee-runtime apigee-env/
      apigee-synchronizer apigee-env/
      apigee-udca apigee-org/
      apigee-env/
      apigee-watcher apigee-org/

      Non-prod

      חשבון שירות תרשים Helm של Apigee
      apigee-non-prod apigee-datastore/
      apigee-telemetry/
      apigee-org/
      apigee-env/
    2. מבצעים את השינויים הגלובליים הבאים בקובץ ההחלפות של האשכול:

      קוד

      gcp:
        workloadIdentity:
          enabled: false # must be set to false to use Workload Identity Federation
        federatedWorkloadIdentity:
          enabled: true
          audience: "AUDIENCE"
          credentialSourceFile: "/var/run/service-account/token"
      

      דוגמה

      gcp:
        workloadIdentity:
          enabled: false
        federatedWorkloadIdentity:
          enabled: true
          audience: "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider"
          credentialSourceFile: "/var/run/service-account/token"
      

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

      לדוגמה, בקובץ apigee-udca-credential-configuration.json הבא:

      {
        "universe_domain": "googleapis.com",
        "type": "external_account:,"
        "audience": "//iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider",
        "subject_token_type": "urn:ietf:params:oauth: token-type:jwt",
        "token_url": "https://sts.googleapis.com/v1/token",
        "service
        "impersonation_url": "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/apigee-udca@myhybridproject.iam.gserviceaccount.com:generateAccessToken",
        "credential_source": {
          "file": "/var/run/service-account/token",
          "format": {
            "type": "text"
          }
        }
      }

      ערך הקהל הוא //iam.googleapis.com/projects/123123123123/locations/global/workloadIdentityPools/my-wi-pool/providers/my-wi-provider.

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

      קובץ אישור

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

      envs:
      - name: ENVIRONMENT_NAME
        serviceAccountPaths:
          synchronizer: apigee-synchronizer-credential-configuration.json
          runtime: apigee-runtime-credential-configuration.json
          udca: apigee-udca-credential-configuration.json
      
      mart:
        serviceAccountPath: apigee-mart-credential-configuration.json
      
      connectAgent:
        serviceAccountPath: apigee-mart-credential-configuration.json
      
      metrics:
        serviceAccountPath: apigee-metrics-credential-configuration.json
      
      mintTaskScheduler: # Required for Monetization for Apigee hybrid (v1.14.3 and later)
        serviceAccountPath: apigee-mint-task-scheduler-credential-configuration.json
      
      udca:
        serviceAccountPath: apigee-udca-credential-configuration.json
      
      watcher:
        serviceAccountPath: apigee-watcher-credential-configuration.json
      

      סוד של K8s

      1. יוצרים סוד חדש של Kubernetes באמצעות קובץ מקור פרטי הכניסה לכל קובץ תצורה של פרטי כניסה.
        kubectl create secret -n APIGEE_NAMESPACE generic SECRET_NAME --from-file="client_secret.json=CREDENTIAL_CONFIGURATION_FILE"

        לדוגמה:

        kubectl create secret -n apigee generic udca-workoad-identity-secret --from-file="client_secret.json=./apigee-udca-credential-configuration.json"
      2. מחליפים את הערך של serviceAccountRef בסוד החדש. לדוגמה:
        udca:
          serviceAccountRef: udca-workoad-identity-secret
        

      Vault

      מעדכנים את המפתח של חשבון השירות, SAKEY, לכל חשבון שירות ב-Vault עם קובץ מקור פרטי הכניסה המתאים. התהליך דומה לכל הרכיבים. לדוגמה, עבור UDCA:

      SAKEY=$(cat .apigee-udca-credential-configuration.json); kubectl -n APIGEE_NAMESPACE exec vault-0 -- vault kv patch secret/apigee/orgsakeys udca="$SAKEY"

      מידע נוסף זמין בכתובת Storing service account keys in Hashicorp Vault.

    4. מחילים את השינויים על כל רכיב מושפע באמצעות הפקודה helm upgrade:

      אם עדכנתם את המפתחות של חשבון השירות של Vault, תצטרכו לעדכן את התרשים apigee-operator.

      helm upgrade operator apigee-operator/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f overrides.yaml
      

      מעדכנים את שאר התרשימים המושפעים בסדר הבא:

      helm upgrade datastore apigee-datastore/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f overrides.yaml
      
      helm upgrade telemetry apigee-telemetry/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f overrides.yaml
      
      helm upgrade $ORG_NAME apigee-org/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        -f overrides.yaml
      

      מעדכנים את התרשים apigee-env לכל סביבה, ומחליפים את $ENV_RELEASE_NAME ואת $ENV_NAME בכל פעם:

      helm upgrade $ENV_RELEASE_NAME apigee-env/ \
        --namespace APIGEE_NAMESPACE \
        --atomic \
        --set env=$ENV_NAME \
        -f overrides.yaml
      

      רשימה של הרכיבים והתרשימים התואמים שלהם זמינה במאמר בנושא הפניה ל-Helm של Apigee hybrid.

    מתן גישה לחשבונות שירות של Kubernetes

    1. מריצים את הפקודה הבאה כדי ליצור רשימה של חשבונות שירות של Kubernetes:
      kubectl get sa -n APIGEE_NAMESPACE
    2. נותנים לחשבונות השירות של Kubernetes גישה להתחזות לחשבונות השירות המשויכים ב-IAM, כמו שמוצג בטבלה הבאה. בטבלה מוצגים שמות חשבונות השירות של Apigee IAM שמוגדרים כברירת מחדל. אם אתם משתמשים בשמות מותאמים אישית של חשבונות שירות, אתם צריכים להשתמש בחשבונות השירות התואמים ב-IAM:
      חשבונות שירות ב-Kubernetes חשבון שירות ב-IAM
      חשבונות שירות של Kubernetes ברמת הארגון
      apigee-connect-agent-ORG_NAME-ORG_HASH_ID apigee-mart
      apigee-mart-ORG_NAME-ORG_HASH_ID apigee-mart
      apigee-metrics-apigee-telemetry apigee-metrics
      apigee-open-telemetry-collector-apigee-telemetry apigee-metrics
      apigee-mint-task-scheduler-ORG_NAME-ORG_HASH_ID
      (אם משתמשים במונטיזציה ל-Apigee Hybrid בגרסה v1.14.3 ואילך)
      apigee-mint-task-scheduler
      apigee-udca-ORG_NAME-ORG_HASH_ID apigee-udca
      apigee-watcher-ORG_NAME-ORG_HASH_ID apigee-watcher
      חשבונות שירות של Kubernetes ברמת הסביבה
      apigee-runtime-ORG_NAME-ENV_NAME-ENV_HASH_ID apigee-runtime
      apigee-synchronizer-ORG_NAME-ENV_NAME-ENV_HASH_ID apigee-synchronizer
      גיבוי ושחזור של Cassandra (אם מופעל)
      apigee-cassandra-backup-sa apigee-cassandra
      apigee-cassandra-restore-sa apigee-cassandra

      כאשר:

      • ‫ORG_NAME: 15 התווים הראשונים של שם הארגון.
      • ‫ORG_HASH_ID: מזהה גיבוב ייחודי של השם המלא של הארגון.
      • ‫ENV_NAME: 15 התווים הראשונים של שם הסביבה.
      • ‫ENV_HASH_ID: מזהה גיבוב ייחודי של שמות הארגון והסביבה.

      לדוגמה:

      • apigee-connect-agent-myhybridorg-123abcd
      • apigee-runtime-myhybridorg-prodenv-234bcde

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

      gcloud iam service-accounts add-iam-policy-binding \
        IAM_SA_NAME@PROJECT_ID.iam.gserviceaccount.com \
          --member="principal://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID/subject/MAPPED_SUBJECT" \
          --role=roles/iam.workloadIdentityUser

      כאשר:

      • ‫IAM_SA_NAME: השם של חשבון השירות.
      • ‫PROJECT_ID: מזהה הפרויקט שמשויך לארגון Apigee.
      • ‫PROJECT_NUMBER: מספר הפרויקט שבו יצרתם את מאגר הזהויות של עומסי העבודה.
      • ‫POOL_ID: המזהה של מאגר הזהויות של עומסי העבודה.
      • ‫MAPPED_SUBJECT: חשבון השירות של Kubernetes מתוך ההצהרה באסימון המזהה שמיפיתם ל-google.subject. לדוגמה, אם מיפיתם את google.subject=assertions.sub וטוקן של מזהה מכיל את "sub": "system:serviceaccount:default:my-kubernetes-serviceaccount", אז MAPPED_SUBJECT הוא system:serviceaccount:default:my-kubernetes-serviceaccount.

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