אפשר להשתמש בתנאי IAM כדי להעניק גישה ליציאות ספציפיות של תחנת עבודה. האפשרות הזו שימושית לשיתוף גישה מוגבלת ליציאות ספציפיות של תחנות עבודה. לדוגמה, אתם יכולים להשתמש בתנאי IAM כדי להעניק גישה לשרת הדגמה שפועל ביציאה של תחנת עבודה.
תחנות עבודה בענן תומכות במאפיין destination.port IAM Conditions.
למידע נוסף על תנאים ב-IAM, תוכלו לקרוא את המאמרים הבאים:
לפני שמתחילים
כדי להעניק גישה ליציאות של תחנות עבודה בודדות, צריך לקבל את התפקיד Cloud Workstations Policy Admin (אדמין של מדיניות Cloud Workstations) (roles/workstations.policyAdmin) בתחנת העבודה.
בדיקת תפקידים ב-IAM בתחנת העבודה
צריך לוודא שיש לכם את התפקידים Cloud Workstations User (משתמש ב-Cloud Workstations) (roles/workstations.user) ו-Cloud Workstations Policy Admin (אדמין מדיניות ב-Cloud Workstations) (roles/workstations.policyAdmin) בתחנת העבודה. אם לא, צריך לבקש מהאדמין של Cloud Workstations בארגון להקצות לכם את התפקידים האלה בתחנת העבודה.
הפעלת שרת הדגמה בתחנת עבודה
כדי להתחיל ולהתחבר לתחנות העבודה, אפשר להיעזר במדריך הפעלת תחנת עבודה. מריצים את הפקודה הבאה בתחנת העבודה כדי להפעיל שרת הדגמה ביציאה של תחנת העבודה.
python3 -m http.server WORKSTATIONS_PORT
מחליפים את מה שכתוב בשדות הבאים:
-
WORKSTATIONS_PORT: היציאה שבה שרת ההדגמה יאזין. לדוגמה, אפשר להשתמש ב-8081.
עדכון מדיניות IAM מותנית של תחנת עבודה
כדי להעניק גישה ליציאה של תחנת עבודה, אפשר להשתמש בפקודה iam policies של Google Cloud המסוף או gcloudה-CLI.
המסוף
כדי להעניק גישה מותנית לתחנת העבודה:
במסוף Google Cloud , עוברים לדף Cloud Workstations > Workstations.
מוצאים את תחנת העבודה ולוחצים על סמל האפשרויות הנוספות more_vert בתפריט, ואז בוחרים באפשרות הוספת משתמשים.

כדי להעניק גישה מותנית, מזינים את כתובת האימייל של חשבון המשתמש. לדוגמה,
222larabrown@gmail.com.מוודאים שהתפקיד Cloud Workstations User נבחר.
מעדכנים את התנאי ב-IAM כדי להעניק גישה ספציפית ליציאה:
לוחצים על הוספת תנאי IAM.
מציינים כותרת כמו Port WORKSTATIONS_PORT.
בכרטיסייה Condition Editor, מזינים את התנאי הבא:
destination.port == WORKSTATIONS_PORT
- לוחצים על שמירה כדי לסיים את הענקת הגישה המותנית ליציאה הספציפית ל-Principal.
gcloud
מקבלים את מדיניות ה-IAM של תחנת העבודה באמצעות הפקודה
workstations get-iam-policyשלgcloudCLI. הפקודה הזו מוציאה את המדיניות לקובץ:/tmp/WORKSTATIONS_NAME.yaml. אם הקובץ קיים, הוא יוחלף.gcloud workstations get-iam-policy WORKSTATIONS_NAME \ --cluster=WORKSTATIONS_CLUSTER_NAME \ --config=WORKSTATIONS_CONFIG_NAME \ --region=LOCATION \ --project=WORKSTATIONS_PROJECT_ID \ > /tmp/WORKSTATIONS_NAME.yamlמחליפים את מה שכתוב בשדות הבאים:
-
WORKSTATIONS_NAME: השם של תחנת העבודה. -
WORKSTATIONS_CONFIG_NAME: השם של תצורת תחנת העבודה. -
WORKSTATIONS_CLUSTER_NAME: השם של אשכול תחנות העבודה. -
LOCATION: שם האזור של אשכול תחנות העבודה. -
WORKSTATIONS_PROJECT_ID: מזהה הפרויקט של Cloud Workstations שמכיל את תחנת העבודה.
פורמט ה-YAML של המדיניות מורד אל
/tmp/WORKSTATIONS_NAME.yaml:bindings: - members: - user:222larabrown@gmail.com role: roles/workstations.user etag: BwYdnV9Eg7Y= version: 1-
כדי לתת הרשאת גישה מותנית לחשבון ראשי, מוסיפים את ביטוי התנאי המודגש הבא לקובץ המדיניות שהורדתם בשלב הקודם.
אסור לשנות את ה-etag. חשוב לוודא שהגרסה מצוינת כ-
3, כי המדיניות הזו כוללת את השדהcondition.לדוגמה:
bindings: - members: - user:YOUR_ID role: roles/workstations.user - condition: expression: destination.port == WORKSTATIONS_PORT title: Port WORKSTATIONS_PORT members: - user:PRINCIPAL role: roles/workstations.user etag: BwYlui8uSXo= version: 3מחליפים את מה שכתוב בשדות הבאים:
-
YOUR_ID: מזהה הכניסה שלכם. לדוגמה,222larabrown@gmail.com. -
PRINCIPAL: חשבון המשתמש שרוצים לשתף איתו את הגישה ליציאה WORKSTATIONS_PORT של תחנת העבודה. לדוגמה,baklavainthebalkans@gmail.com. -
WORKSTATIONS_PORT: היציאה של תחנת העבודה שבה שרת ההדגמה מאזין.
-
מגדירים את מדיניות ה-IAM של תחנת העבודה באמצעות הפקודה
workstations set-iam-policyשלgcloudCLI.gcloud workstations set-iam-policy WORKSTATIONS_NAME \ --cluster=WORKSTATIONS_CLUSTER_NAME \ --config=WORKSTATIONS_CONFIG_NAME \ --region=LOCATION \ --project=WORKSTATIONS_PROJECT_ID \ /tmp/WORKSTATIONS_NAME.yamlמחליפים את מה שכתוב בשדות הבאים:
-
WORKSTATIONS_NAME: השם של תחנת העבודה. -
WORKSTATIONS_CONFIG_NAME: השם של תצורת תחנת העבודה. -
WORKSTATIONS_CLUSTER_NAME: השם של אשכול תחנות העבודה. -
LOCATION: שם האזור של אשכול תחנות העבודה. -
WORKSTATIONS_PROJECT_ID: מזהה הפרויקט של Cloud Workstations שמכיל את תחנת העבודה.
-
אחרי שמדיניות ה-IAM של תחנת העבודה תעודכן, החשבון הראשי יוכל לגשת ליציאה שצוינה בתחנת העבודה.
שיתוף כתובת ה-URL של תחנת העבודה
למשתמש הראשי תהיה גישה ליציאה שצוינה באמצעות כתובת ה-URL הבאה של תחנת העבודה:
https://WORKSTATIONS_PORT-WORKSTATIONS_NAME.WORKSTATIONS_CLUSTER_NAME.cloudworkstations.dev
ה-placeholders מייצגים את הנתונים הבאים:
-
WORKSTATIONS_PORT: היציאה שבה שרת ההדגמה מאזין. -
WORKSTATIONS_NAME: שם תחנת העבודה. -
WORKSTATIONS_CLUSTER_NAME: מזהה האשכול שנוצר באופן אקראי. -
cloudworkstations.dev: שם הדומיין שמוגדר כברירת מחדל לתחנת עבודה.
החשבון הראשי לא יוכל לגשת ליציאות אחרות של תחנת העבודה שאין לו גישה אליהן.