מתן גישה ליציאות ספציפיות ב-Cloud Workstations

אפשר להשתמש בתנאי 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.

המסוף

כדי להעניק גישה מותנית לתחנת העבודה:

  1. במסוף Google Cloud , עוברים לדף Cloud Workstations > Workstations.

    אל Workstations

  2. מוצאים את תחנת העבודה ולוחצים על סמל האפשרויות הנוספות more_vert בתפריט, ואז בוחרים באפשרות הוספת משתמשים.

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

  3. כדי להעניק גישה מותנית, מזינים את כתובת האימייל של חשבון המשתמש. לדוגמה, 222larabrown@gmail.com.

  4. מוודאים שהתפקיד Cloud Workstations User נבחר.

  5. מעדכנים את התנאי ב-IAM כדי להעניק גישה ספציפית ליציאה:

    1. לוחצים על הוספת תנאי IAM.

    2. מציינים כותרת כמו Port WORKSTATIONS_PORT.

    3. בכרטיסייה Condition Editor, מזינים את התנאי הבא:

    destination.port == WORKSTATIONS_PORT
    

    עורך התנאים של IAM עם תנאי של יציאת יעד 8081

    1. לוחצים על שמירה כדי לסיים את הענקת הגישה המותנית ליציאה הספציפית ל-Principal.

gcloud

  1. מקבלים את מדיניות ה-IAM של תחנת העבודה באמצעות הפקודה workstations get-iam-policy של gcloud CLI. הפקודה הזו מוציאה את המדיניות לקובץ: /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
    
  2. כדי לתת הרשאת גישה מותנית לחשבון ראשי, מוסיפים את ביטוי התנאי המודגש הבא לקובץ המדיניות שהורדתם בשלב הקודם.

    אסור לשנות את ה-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: היציאה של תחנת העבודה שבה שרת ההדגמה מאזין.
  3. מגדירים את מדיניות ה-IAM של תחנת העבודה באמצעות הפקודה workstations set-iam-policy של gcloud CLI.

    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: שם הדומיין שמוגדר כברירת מחדל לתחנת עבודה.

החשבון הראשי לא יוכל לגשת ליציאות אחרות של תחנת העבודה שאין לו גישה אליהן.