במאמר הזה מוסבר איך להגדיר זהויות מנוהלות של עומסי עבודה ל-Compute Engine באמצעות ה-CLI של gcloud. בנוסף, מוסבר במאמר איך להגדיר הקצאת הרשאות אוטומטית וניהול מחזור חיים של זהויות מנוהלות של עומסי עבודה ב-Compute Engine באמצעות Certificate Authority Service, שמאפשר לכם ליצור חיבורי TLS הדדיים (mTLS) בין עומסי עבודה.
כדי לבקש גישה לזהויות מנוהלות של עומסי עבודה ב-Compute Engine, צריך למלא את טופס בקשת הגישה.
לפני שמתחילים
יוצרים או בוחרים Cloud de Confiance פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Cloud de Confiance פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Cloud de Confiance שיוצרים. -
בוחרים את הפרויקט שיצרתם: Cloud de Confiance
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Cloud de Confiance .
שליחת בקשה לגישה לגרסת Preview של זהויות מנוהלות של עומסי עבודה ב-Compute Engine
מידע על הנפקת אישורים באמצעות Certificate Authority Service
איך מאמתים עומסי עבודה ב-Compute Engine באמצעות זהויות מנוהלות של עומסי עבודה
מפעילים את ממשקי ה-API של IAM ושל Certificate Authority Service:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable iam.googleapis.com
privateca.googleapis.com מגדירים את Google Cloud CLI כך שישתמש בפרויקט שנוסף לרשימת ההיתרים לחיוב ולמכסות.
gcloud config set billing/quota_project PROJECT_ID
מחליפים את PROJECT_ID במזהה הפרויקט שנוסף לרשימת ההיתרים של התכונה 'תצוגה מקדימה של זהות מנוהלת של עומס עבודה'.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירה של זהויות מנוהלות של עומסי עבודה ולהקצאה של אישורים מנוהלים של זהויות של עומסי עבודה, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
כדי ליצור ולהגדיר זהויות מנוהלות של עומסי עבודה:
- אדמין של מאגר זהויות של עומסי עבודה ב-IAM (
roles/iam.workloadIdentityPoolAdmin) - אדמין בחשבון שירות (
roles/iam.serviceAccountAdmin)
- אדמין של מאגר זהויות של עומסי עבודה ב-IAM (
-
כדי ליצור ולהגדיר מאגרי CA:
אדמין של שירות CA (
roles/privateca.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
לחלופין, התפקיד הבסיסי 'בעלים' ב-IAM (roles/owner) כולל גם הרשאות להגדרה של זהויות מנוהלות של עומסי עבודה.
בסביבת ייצור לא מומלץ להקצות תפקידים בסיסיים, אבל אפשר להעניק אותם בסביבת פיתוח או בסביבת בדיקה.
סקירה כללית
כדי להשתמש בזהויות מנוהלות של עומסי עבודה באפליקציות, צריך לבצע את המשימות הבאות:
אדמין לענייני אבטחה:
- יוצרים מאגר זהויות של עומסי עבודה.
- הגדרת CA (כדי לבחור אפשרות CA, להגדיר CAs ולעדכן את המאגר).
- יוצרים זהויות מנוהלות של עומסי עבודה במאגר הזהויות של עומסי העבודה.
- מגדירים מדיניות אימות של עומס עבודה ויוצרים חשבון שירות.
אדמין של Compute:
מפעילים זהויות מנוהלות של עומסי עבודה לעומסי עבודה שפועלים ב-Compute Engine:
יצירת מאגר זהויות של עומסי עבודה
כדי להגדיר זהויות מנוהלות של עומסי עבודה, צריך ליצור מאגר במצב
TRUST_DOMAIN.gcloud iam workload-identity-pools create POOL_ID \ --location="global" \ --mode="TRUST_DOMAIN"
מחליפים את POOL_ID במזהה הייחודי של המאגר. המזהה צריך להיות באורך של 4 עד 32 תווים, להכיל רק תווים אלפאנומריים באותיות קטנות ומקפים, ולהתחיל ולהסתיים בתו אלפאנומרי. אחרי שיוצרים מאגר זהויות של עומסי עבודה, אי אפשר לשנות את המזהה שלו.
כדי לוודא שמאגר זהויות של עומסי עבודה נוצר במצב
TRUST_DOMAIN, מריצים את הפקודהworkload-identity-pools describe.gcloud iam workload-identity-pools describe POOL_ID \ --location="global"
הפלט אמור להיראות כך:
mode: TRUST_DOMAIN name: projects/PROJECT_NUMBER/locations/global/workloadIdentityPools/POOL_ID state: ACTIVE
אם
mode: TRUST_DOMAINלא מופיע בפלט פקודה, צריך לוודא שהפרויקט שלכם נוסף לרשימת ההיתרים של התכונה'תצוגה מקדימה של זהויות עומס עבודה מנוהלות' ושהגדרתם נכון את ה-CLI של gcloud כך שישתמש בפרויקט הנכון לחיוב ולמכסת השימוש. מוודאים שעדכנתם לגרסה העדכנית של ה-CLI של gcloud.
בחירת אפשרות של רשות אישורים
כדי לחתום על אישורי העומס, בוחרים את האפשרות של רשות האישורים (CA) שהכי מתאימה לתרחיש השימוש:
CA שמוגדר כברירת מחדל ומנוהל על ידי Google: אפשרות זו מתאימה לפתרון מנוהל לחלוטין ללא עלות. רשות האישורים שמוגדרת כברירת מחדל מספקת שורש משותף של אמון לכל המשתמשים ב-Cloud de Confiance .
CA בהתאמה אישית: משתמשים באפשרות הזו כדי להגדיר תשתית מפתח ציבורי (PKI) משלכם באמצעות Certificate Authority Service. האפשרות הזו מתאימה אם אתם צריכים שורש אמון מותאם אישית או אם אתם צריכים לאחסן מפתחות חתימה במודול אבטחה לחומרה (HSM) כדי לעמוד בדרישות התאימות. החיוב על Certificate Authority Service הוא נפרד מהחיוב על ניהול זהויות של עומסי עבודה. מידע נוסף מופיע במאמר בנושא תמחור של שירות CA.
הגדרת רשות אישורים
רשות אישורים שמוגדרת כברירת מחדל
כדי לקשר את רשות האישורים שמוגדרת כברירת מחדל למאגר הזהויות של עומסי העבודה, מעדכנים את מאגר הזהויות של עומסי העבודה באמצעות הדגל use-default-shared-ca.
gcloud iam workload-identity-pools update TRUST_DOMAIN_NAME \
--location="global" \
--use-default-shared-ca \
--project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
TRUST_DOMAIN_NAME: השם של דומיין האמון. -
PROJECT_ID: מזהה הפרויקט.
CA בהתאמה אישית
כדי להגדיר זהויות מנוהלות של עומסי עבודה באמצעות רשות אישורים (CA) בהתאמה אישית, מבצעים את השלבים הבאים:
- הגדרת CA Service להנפקת אישורים לזהויות מנוהלות של עומסי עבודה
- קישור רשויות האישורים למאגר הזהויות של עומסי העבודה.
- איך נותנים הרשאה לזהויות מנוהלות של עומסי עבודה לבקש אישורים ממאגר רשויות האישורים
הגדרת שירות CA להנפקת אישורים לזהויות מנוהלות של עומסי עבודה
יצירת ההגדרה המומלצת לרשויות אישורים (CA) מסוג root ו-subordinate באמצעות מאגרי Certificate Authority Service. מאגר רשויות האישורים המשניות מנפיק מכונות וירטואליות עם אישורי זהות של עומסי עבודה מסוג X.509.
מאגרי ה-CA שמוגדרים להנפקת אישורים למכונות וירטואליות של Compute Engine באמצעות זהויות מנוהלות של עומסי עבודה חייבים להיות באותו אזור כמו המכונה הווירטואלית. אם רוצים לתכנן ארכיטקטורה מרובת אזורים כדי להבטיח עמידות בפני הפסקות אזוריות, מומלץ להגדיר מאגר משני של רשויות אישורים (CA) של Certificate Authority Service לכל אחד מהאזורים של עומס העבודה. כך, כל מכונה וירטואלית של Compute Engine יכולה להפנות למאגר של רשות אישורים משנית של Certificate Authority Service באזור.
אחרי שמגדירים את מאגרי ה-CA, מאשרים לזהויות המנוהלות של עומסי העבודה לבקש ולקבל את האישורים החתומים ממאגרי ה-CA.
הגדרת מאגר רשויות אישורים (CA) עליונות
משתמשים בממשק Google Cloud CLI כדי להגדיר מאגר של רשויות אישורים (CA) בסיסיות ב-Certificate Authority Service.
אי אפשר להעביר או לייצא מאגר של רשויות אישורים אחרי שהוא נוצר.
יוצרים את מאגר רשויות האישורים (CA) העליונות ברמת Enterprise על ידי הפעלת הפקודה
gcloud privateca pools create. המסלול Enterprise מיועד להנפקת אישורים לטווח ארוך בכמויות קטנות.gcloud privateca pools create ROOT_CA_POOL_ID \ --location=REGION \ --tier=enterprise
מחליפים את מה שכתוב בשדות הבאים:
- ROOT_CA_POOL_ID: מזהה ייחודי של מאגר רשויות האישורים הבסיסיות. המזהה יכול להיות באורך של עד 64 תווים, והוא חייב להכיל רק תווים אלפאנומריים באותיות קטנות וגדולות, קווים תחתונים או מקפים. מזהה המאגר חייב להיות ייחודי באזור.
- REGION: האזור שבו נמצא מאגר רשויות האישורים (CA) העליונות.
מידע נוסף זמין במאמר בנושא יצירת מאגרי CA.
מריצים את הפקודה
gcloud privateca roots createכדי ליצור רשות אישורים (CA) עליונה במאגר רשויות האישורים העליונות. יכול להיות שתתבקשו להפעיל את רשות האישורים הבסיסית אם זו רשות האישורים היחידה במאגר רשויות האישורים הבסיסיות.לדוגמה, אפשר להשתמש בפקודה שדומה לפקודה הבאה כדי ליצור רשות אישורים (CA) בסיסית.
gcloud privateca roots create ROOT_CA_ID \ --pool=ROOT_CA_POOL_ID \ --subject "CN=ROOT_CA_CN, O=ROOT_CA_ORGANIZATION" \ --key-algorithm="ec-p256-sha256" \ --max-chain-length=1 \ --location=REGION
מחליפים את מה שכתוב בשדות הבאים:
- ROOT_CA_ID: שם ייחודי של רשות האישורים הבסיסית. השם של רשות האישורים יכול להיות באורך של עד 64 תווים, והוא חייב להכיל רק תווים אלפאנומריים באותיות קטנות וגדולות, קווים תחתונים או מקפים. השם של ה-CA חייב להיות ייחודי באזור.
- ROOT_CA_POOL_ID: מזהה המאגר של רשות האישורים (CA) הבסיסית.
- ROOT_CA_CN: השם הנפוץ של רשות הבסיס להנפקת אישורים.
- ROOT_CA_ORGANIZATION: הארגון של רשות האישורים הבסיסית.
- REGION: האזור שבו נמצא מאגר רשויות האישורים (CA) העליונות.
מידע נוסף זמין במאמר בנושא יצירת רשות אישורי בסיס. מידע נוסף על השדות
subjectשל רשות האישורים זמין במאמר בנושא נושא.אופציונלי: חוזרים על השלבים הקודמים כדי ליצור עוד רשות אישורים בסיסית במאגר רשויות האישורים הבסיסיות. האפשרות הזו יכולה להיות שימושית לרוטציה של רשויות אישורים (CA) בסיסיות.
הגדרת רשויות אישורים משניות
משתמשים בממשק Google Cloud CLI כדי ליצור מאגר של רשויות אישורים משניות ורשות אישורים משנית ב-Certificate Authority Service.
אם יש לכם כמה תרחישים להנפקת אישורים, אתם יכולים ליצור רשות אישורים משנית לכל אחד מהתרחישים האלה. בנוסף, הוספה של כמה רשויות CA משניות למאגר רשויות CA עוזרת להשיג איזון עומסים טוב יותר של בקשות לאישורים.
משתמשים בפקודה gcloud privateca pools create כדי ליצור מאגר של רשויות אישורים משניות.
יוצרים את מאגר רשויות האישורים המשני ברמת DevOps. השכבה הזו מיועדת להנפקת אישורים בכמויות גדולות ולטווח קצר.
gcloud privateca pools create SUBORDINATE_CA_POOL_ID \ --location=REGION \ --tier=devops
מחליפים את מה שכתוב בשדות הבאים:
- SUBORDINATE_CA_POOL_ID: מזהה ייחודי של מאגר ה-CA המשני. המזהה יכול להכיל עד 64 תווים, והוא חייב לכלול רק תווים אלפאנומריים (אותיות קטנות וגדולות), קווים תחתונים או מקפים. מזהה המאגר חייב להיות ייחודי באזור.
- REGION: האזור שבו רוצים ליצור את מאגר רשויות האישורים המשניות.
מידע נוסף זמין במאמר בנושא יצירת מאגרי CA.
כדי ליצור רשות אישורים משנית במאגר רשויות האישורים המשניות, מריצים את הפקודה
gcloud privateca subordinates create. לא לשנות את מצב ההנפקה מבוסס-ההגדרות שמוגדר כברירת מחדל.לדוגמה, אפשר להשתמש בפקודה שדומה לפקודה הבאה כדי ליצור רשות אישורים משנית.
gcloud privateca subordinates create SUBORDINATE_CA_ID \ --pool=SUBORDINATE_CA_POOL_ID \ --location=REGION \ --issuer-pool=ROOT_CA_POOL_ID \ --issuer-location=REGION \ --subject="CN=SUBORDINATE_CA_CN, O=SUBORDINATE_CA_ORGANIZATION" \ --key-algorithm="ec-p256-sha256" \ --use-preset-profile=subordinate_mtls_pathlen_0
מחליפים את מה שכתוב בשדות הבאים:
- SUBORDINATE_CA_ID: שם ייחודי לרשות האישורים המשנית. השם יכול להיות באורך של עד 64 תווים, והוא חייב להכיל רק תווים אלפאנומריים, אותיות קטנות וגדולות, קווים תחתונים או מקפים. השם של רשות האישורים חייב להיות ייחודי באזור.
- SUBORDINATE_CA_POOL_ID: השם של מאגר רשויות האישורים המשניות.
- REGION: האזור שבו נמצא מאגר CA המשני.
- ROOT_CA_POOL_ID: מזהה המאגר של רשות האישורים (CA) הבסיסית.
- REGION: האזור של מאגר רשויות האישורים הבסיסיות.
- SUBORDINATE_CA_CN: השם הנפוץ של רשות האישורים המשנית.
- SUBORDINATE_CA_ORGANIZATION: השם של הארגון המנפיק של רשות האישורים המשנית.
מידע נוסף זמין במאמר בנושא יצירת מאגרי CA. מידע נוסף על השדות
subjectשל רשות האישורים זמין במאמר בנושא נושא.
קישור רשויות האישורים למאגר הזהויות של עומסי העבודה
אחרי שיוצרים את היררכיית ה-CA, מקשרים את ה-CA למאגר הזהויות של עומס העבודה על ידי עדכון המאגר בכל אחת מההגדרות של הנפקת אישורים של ה-CA.
יוצרים קובץ
issuance-config.yamlעם התוכן הבא:inlineCertificateIssuanceConfig: caPools: REGION: projects/PROJECT_ID/locations/REGION/caPools/SUBORDINATE_CA_POOL_ID keyAlgorithm: RSA_2048 lifetime: 86400s rotationWindowPercentage: 50
מחליפים את מה שכתוב בשדות הבאים בקובץ:
-
REGION: האזור שבו נמצא מאגר רשויות האישורים המשניות. -
PROJECT_ID: המזהה של הפרויקט שמכיל את מאגר ה-CA המשני. -
SUBORDINATE_CA_POOL_ID: המזהה של מאגר ה-CA המשני.
-
מריצים את הפקודה הבאה כדי לעדכן את מאגר הזהויות של עומסי עבודה:
gcloud iam workload-identity-pools update POOL_ID \ --location="global" \ --inline-certificate-issuance-config-file=ISSUANCE_CONFIG_FILE
מחליפים את מה שכתוב בשדות הבאים:
-
POOL_ID: המזהה הייחודי של המאגר. -
ISSUANCE_CONFIG_FILE: הנתיב לקובץissuance-config.yaml.
-
איך מאשרים לזהויות מנוהלות של עומסי עבודה לבקש אישורים ממאגר ה-CA
לזהויות המנוהלות של כוח העבודה נדרשות הרשאות כדי לבקש אישורים משירות רשות האישורים ולקבל את האישורים הציבוריים.
מקצים את תפקיד ה-IAM CA Service Workload Certificate Requester (
roles/privateca.workloadCertificateRequester) לזהות העומס המנוהלת בכל מאגר CA משני. הפקודהgcloud privateca pools add-iam-policy-bindingהבאה מאשרת לזהות המנוהלת של כוח העבודה לבקש אישורים משרשראות האישורים של CA Service.gcloud privateca pools add-iam-policy-binding SUBORDINATE_CA_POOL_ID \ --location=REGION \ --role=roles/privateca.workloadCertificateRequester \ --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/name/locations/global/workloadIdentityPools/POOL_ID/*"
מחליפים את מה שכתוב בשדות הבאים:
- SUBORDINATE_CA_POOL_ID: המזהה של מאגר CA המשני.
- REGION: האזור של מאגר CA משני.
- PROJECT_NUMBER: מספר הפרויקט שמכיל את מאגר הזהויות של עומסי העבודה.
- POOL_ID: המזהה של מאגר הזהויות של עומסי עבודה.
מקצים את תפקיד ה-IAM CA Service Pool Reader (
roles/privateca.poolReader) במאגרי CA משניים לזהות המנוהלת של עומס העבודה. כך מאשרים לזהות המנוהלת של כוח העבודה לקבל את אישורי X.509 החתומים משרשראות האישורים של רשות האישורים.gcloud privateca pools add-iam-policy-binding SUBORDINATE_CA_POOL_ID \ --location=REGION \ --role=roles/privateca.poolReader \ --member="principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/name/locations/global/workloadIdentityPools/POOL_ID/*"
מחליפים את מה שכתוב בשדות הבאים:
- SUBORDINATE_CA_POOL_ID: המזהה של מאגר CA המשני.
- REGION: האזור של מאגר CA משני.
- PROJECT_NUMBER: מספר הפרויקט שמכיל את מאגר הזהויות של עומסי העבודה.
- POOL_ID: המזהה של מאגר הזהויות של עומסי עבודה.
יצירת זהויות מנוהלות של עומסי עבודה
זהויות מנוהלות של עומסי עבודה מאפשרות Cloud de Confiance by S3NS להקצות באופן אוטומטי הרשאות לזהויות במאגר הזהויות של עומסי העבודה, לעומסי העבודה שלכם. זהויות של עומסי עבודה מוגדרות במאגר זהויות של עומסי עבודה, ומאורגנות בגבולות אדמיניסטרטיביים שנקראים מרחבי שמות.
יצירת מרחב שמות
הפקודה workload-identity-pools namespaces create מאפשרת ליצור מרחב שמות במאגר זהויות של עומסי עבודה.
gcloud iam workload-identity-pools namespaces create NAMESPACE_ID \
--workload-identity-pool="POOL_ID" \
--location="global"
מחליפים את מה שכתוב בשדות הבאים:
-
NAMESPACE_ID: המזהה הייחודי של מרחב השמות. המזהה צריך להיות באורך של 2 עד 63 תווים, להכיל רק תווים אלפאנומריים באותיות קטנות ומקפים, ולהתחיל ולהסתיים בתו אלפאנומרי. אחרי שיוצרים מרחב שמות, אי אפשר לשנות את המזהה שלו. -
POOL_ID: מזהה מאגר הזהויות של עומסי העבודה שיצרתם קודם.
יצירת זהות מנוהלת של עומס עבודה
הפקודה workload-identity-pools managed-identities create מאפשרת ליצור זהות מנוהלת של עומס עבודה במרחב שמות של מאגר זהויות של עומס עבודה.
gcloud iam workload-identity-pools managed-identities create MANAGED_IDENTITY_ID \
--namespace="NAMESPACE_ID" \
--workload-identity-pool="POOL_ID" \
--location="global"
מחליפים את מה שכתוב בשדות הבאים:
-
MANAGED_IDENTITY_ID: המזהה הייחודי של הזהות המנוהלת. המזהה צריך להיות באורך של 2 עד 63 תווים, להכיל רק תווים אלפאנומריים קטנים ומקפים, ולהתחיל ולהסתיים בתו אלפאנומרי. אחרי שיוצרים זהות מנוהלת של עומס עבודה, אי אפשר לשנות את המזהה שלה. -
NAMESPACE_ID: מזהה מרחב השמות שיצרתם קודם. -
POOL_ID: מזהה מאגר הזהויות של עומסי העבודה שיצרתם קודם.
המזהה של הזהות המנוהלת של עומס העבודה הוא מזהה SPIFFE, והפורמט שלו הוא:
spiffe://POOL_ID.global.PROJECT_NUMBER.workload.id.goog/ns/NAMESPACE_ID/sa/MANAGED_IDENTITY_ID
הגדרת מדיניות אימות של עומס עבודה
בקטע הזה מוסבר איך מגדירים מדיניות אימות. המדיניות הזו קובעת באילו מאפיינים משתמש Cloud de Confiance IAM כדי לאמת את הזהות של עומס העבודה. אחרי האימות, עומס העבודה של השיחות יכול לקבל אישורים.
האימות מבוסס על אחד מהמאפיינים הבאים של עומס העבודה:
- מזהה מופע של מכונת VM
- כתובת האימייל בחשבון השירות המצורף
- מזהה UID של חשבון השירות המצורף
הגדרת מדיניות אימות של עומסי עבודה באמצעות כללי אימות
כדי ליצור מדיניות אימות שמאפשרת לעומס העבודה להשתמש בזהות המנוהלת, מבצעים את הפעולות הבאות:
מחליטים אם רוצים ליצור מדיניות אימות שתאפשר לעומס העבודה לאמת את הזהות המנוהלת באמצעות חשבון השירות המצורף או באמצעות מזהה המופע.
יוצרים קובץ מדיניות אימות בפורמט JSON.
אופציונלי: כדי לקבל פרטי כניסה של X.509 במכונת Compute Engine, צריך להפעיל חשבון שירות מצורף. מומלץ לצרף חשבון שירות חדש לעומס העבודה. לשם כך, קודם יוצרים אותו באמצעות הפקודה הבאה:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
מחליפים את
SERVICE_ACCOUNT_NAMEבשם של חשבון השירות.יוצרים קובץ מדיניות אימות בפורמט JSON שמאמת על סמך כתובת האימייל בחשבון השירות, מזהה המשתמש (UID) של חשבון השירות או מזהה המופע.
כתובת אימייל של חשבון שירות
כדי ליצור קובץ מדיניות אימות שמאמת על סמך כתובת האימייל בחשבון השירות, יוצרים קובץ עם התוכן הבא:
{ "attestationRules": [ { "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.email/SERVICE_ACCOUNT_EMAIL" } ], }מחליפים את מה שכתוב בשדות הבאים:
-
WORKLOAD_PROJECT_NUMBER: מספר הפרויקט שמכיל את המכונה הווירטואלית או את חשבון השירות
כדי לקבל את מספר הפרויקט שמכיל את הזהות המנוהלת או את חשבון השירות שיצרתם, מריצים את הפקודה הבאה:
gcloud projects describe $(gcloud config get-value project) \ --format="value(projectNumber)"SERVICE_ACCOUNT_EMAIL: כתובת האימייל של חשבון השירות שמצורף למכונה הווירטואלית
מזהה חשבון השירות
כדי ליצור קובץ מדיניות אימות שמאמת על סמך ה-UID של חשבון השירות, יוצרים קובץ עם התוכן הבא:
{ "attestationRules": [ { "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.uid/SERVICE_ACCOUNT_UID" } ], }מחליפים את מה שכתוב בשדות הבאים:
-
WORKLOAD_PROJECT_NUMBER: מספר הפרויקט שמכיל את המכונה הווירטואלית או את חשבון השירות
כדי לקבל את מספר הפרויקט שמכיל את הזהות המנוהלת או את חשבון השירות שיצרתם, מריצים את הפקודה הבאה:
gcloud projects describe $(gcloud config get-value project) \ --format="value(projectNumber)"-
SERVICE_ACCOUNT_UID: ה-UID של חשבון השירות שמצורף למכונה הווירטואלית
כדי לקבל את המזהה הייחודי של חשבון השירות, מריצים את הפקודה הבאה:
gcloud iam service-accounts describe SERVICE_ACCOUNT_EMAIL\ --format="value(uniqueId)"מזהה מופע
כדי ליצור קובץ מדיניות אימות שמאמת על סמך מזהה המופע, יוצרים קובץ עם התוכן הבא:
{ "attestationRules": [ { "googleCloudResource": "//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/uid/zones/ZONE/instances/INSTANCE_ID" } ], }מחליפים את מה שכתוב בשדות הבאים:
-
WORKLOAD_PROJECT_NUMBER: מספר הפרויקט שמכיל את המכונה הווירטואלית או את חשבון השירות
כדי לקבל את מספר הפרויקט שמכיל את הזהות המנוהלת או את חשבון השירות שיצרתם, מריצים את הפקודה הבאה:
gcloud projects describe $(gcloud config get-value project) \ --format="value(projectNumber)"-
INSTANCE_ID: מזהה המכונה הווירטואלית של Compute Engine
הערך של מזהה המכונה צריך להיות מזהה של מכונת Compute Engine קיימת. כדי לקבל את מזהה המכונה, מריצים את הפקודה הבאה:
gcloud compute instances describe INSTANCE_NAME --zone=ZONE --format="get(id)"
-
INSTANCE_NAME: השם של מכונת Compute Engine -
ZONE: האזור של מכונת Compute Engine
-
יוצרים את מדיניות האימות באמצעות קובץ ה-JSON של המדיניות שיצרתם קודם במסמך הזה:
gcloud iam workload-identity-pools managed-identities set-attestation-rules MANAGED_IDENTITY_ID \ --namespace=NAMESPACE_ID \ --workload-identity-pool=POOL_ID \ --policy-file=PATH_TO_POLICY_JSON_FILE \ --location=global
מחליפים את מה שכתוב בשדות הבאים:
-
MANAGED_IDENTITY_ID: המזהה הייחודי של הזהות המנוהלת. המזהה צריך להיות באורך של 2 עד 63 תווים, להכיל רק תווים אלפאנומריים קטנים ומקפים, ולהתחיל ולהסתיים בתו אלפאנומרי. אחרי שיוצרים זהות מנוהלת של עומס עבודה, אי אפשר לשנות את המזהה שלה. -
NAMESPACE_ID: מזהה מרחב השמות שיצרתם קודם. -
POOL_ID: מזהה מאגר הזהויות של עומסי העבודה שיצרתם קודם. -
PATH_TO_POLICY_JSON_FILE: הנתיב לקובץ ה-JSON שמייצג את מדיניות האימות שיצרתם קודם.
אפשר גם לעדכן את המדיניות על ידי הוספה או הסרה של כללי אישור בנפרד. כדי להוסיף אישור למדיניות האישורים, מריצים את הפקודה הבאה:
gcloud iam workload-identity-pools managed-identities add-attestation-rule MANAGED_IDENTITY_ID \ --namespace=NAMESPACE_ID \ --workload-identity-pool=POOL_ID \ --google-cloud-resource='//compute.googleapis.com/projects/WORKLOAD_PROJECT_NUMBER/type/Instance/attached_service_account.uid/SERVICE_ACCOUNT_UID' \ --location=global
-
כדי לראות את רשימת כללי האימות או להסיר אותם, מריצים את הפקודות הבאות:
gcloud iam workload-identity-pools managed-identities list-attestation-rules --help gcloud iam workload-identity-pools managed-identities remove-attestation-rule --help
אופציונלי: הפעלת איחוד מהימן בין מאגרי זהויות של עומסי עבודה
כדי להפעיל אימות הדדי של עומסי עבודה בדומיינים שונים של אמון, אפשר להגדיר איחוד של אמון.
יוצרים קובץ
trust-config.yamlעם התוכן הבא:inlineTrustConfig: additionalTrustBundles: POOL_ID.global.PROJECT_NUMBER.workload.id.goog: trustAnchors: - pemCertificate: "-----BEGIN CERTIFICATE-----\nPEM_ENCODED_CERTIFICATE\n-----END CERTIFICATE-----"
מחליפים את מה שכתוב בשדות הבאים בקובץ:
-
POOL_ID: המזהה של מאגר זהויות של עומסי עבודה שרוצים ליצור איתו פדרציה. -
PROJECT_NUMBER: מספר הפרויקט של מאגר זהויות של עומסי עבודה שאליו רוצים ליצור פדרציה. -
PEM_ENCODED_CERTIFICATE: אישור ה-CA הבסיסי בקידוד PEM של מאגר הזהויות של עומסי עבודה שרוצים ליצור איתו פדרציה.
-
כדי לעדכן את מאגר הזהויות של עומסי עבודה באמצעות הגדרת האמון, מריצים את הפקודה הבאה:
gcloud iam workload-identity-pools update POOL_ID \ --location="global" \ --inline-trust-config-file=TRUST_CONFIG_FILE
מחליפים את מה שכתוב בשדות הבאים:
-
POOL_ID: המזהה הייחודי של המאגר. -
TRUST_CONFIG_FILE: הנתיב לקובץtrust-config.yaml.
-