הגדרת OS Login

במאמר הזה מוסבר איך מגדירים את OS Login.

שירות OS Login מאפשר לכם לשלוט בגישה למכונות וירטואליות (VM) על סמך הרשאות IAM. מידע נוסף על OS Login זמין במאמר מידע על OS Login.

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

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

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

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud

    gcloud

    1. התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  • הגדרת אזור ותחום כברירת מחדל
  • Terraform

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.

    1. התקינו את ה-CLI של Google Cloud.

    2. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

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

      gcloud auth application-default login

      אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.

      אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

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

מגבלות

אין תמיכה ב-OS Login במקרים הבאים:
  • פרופילים של OS Login בגודל כולל של יותר מ-32 KiB. פרופיל OS Login כולל פרטי חשבון על פי POSIX ומפתחות ציבוריים של SSH.
  • מכונות וירטואליות שמשתמשות בתמונות של מערכות ההפעלה הבאות:
    • ‫Windows Server ו-SQL Server.
    • Fedora CoreOS. כדי לנהל את הגישה למכונות וירטואליות שנוצרו באמצעות התמונות האלה, משתמשים במערכת ההפעלה Fedora CoreOS.
    • ‫SLES 16. כדי לנהל את הגישה למכונות וירטואליות שנוצרו באמצעות התמונות האלה, משתמשים במטא-נתונים של SSH.

כדי לוודא שיש תמיכה ב-OS Login בהפצות ספציפיות של Linux, אפשר לעיין בפרטים על מערכת ההפעלה.

הקצאת תפקידים ב-IAM ל-OS Login

מקצים את כל תפקידי ה-IAM הנדרשים למשתמשים שמתחברים למכונות וירטואליות שמופעל בהן OS Login.

תפקיד משתמשים נדרשים רמת ההרשאה
roles/compute.osLogin או roles/compute.osAdminLogin כל המשתמשים

בפרויקט או במופע.

אם משתמש צריך גישת SSH מ Google Cloud המסוף או מ-Google Cloud CLI, צריך להקצות לו את התפקידים האלה ברמת הפרויקט, או בנוסף להקצות לו תפקיד ברמת הפרויקט שכולל את ההרשאה compute.projects.get.

roles/iap.tunnelResourceAccessor כל המשתמשים שנדרשת להם גישת SSH באמצעות העברת TCP של IAP

בפרויקט או במופע.

roles/iam.serviceAccountUser כל המשתמשים, אם למכונה הווירטואלית יש חשבון שירות בדף חשבון שירות.
roles/compute.osLoginExternalUser משתמשים מארגון אחר מזה של מכונת ה-VM שאליה הם מתחברים

בארגון.

אדמין ארגוני צריך להקצות את התפקיד הזה.

הפעלה של OS Login

כדי להפעיל את השירות OS Login במכונה וירטואלית אחת או בכל המכונות הווירטואליות בפרויקט, צריך להגדיר את enable-oslogin לערך TRUE במטא-נתונים של הפרויקט או של המכונה.

כשמגדירים מטא-נתונים של OS Login, ‏ Compute Engine מוחק את הקבצים authorized_keys של המכונה הווירטואלית ולא מקבל יותר חיבורים ממפתחות SSH ששמורים במטא-נתונים של הפרויקט או המכונה.

הפעלת OS Login בכל המכונות הווירטואליות בפרויקט

כדי להפעיל את השירות OS Login בכל המכונות הווירטואליות בפרויקט, מגדירים את הערך הבא במטא-נתונים של הפרויקט:

  • מקש: enable-oslogin
  • ערך: TRUE

הפעלת OS Login במכונה וירטואלית אחת

כדי להפעיל את השירות OS Login במכונה וירטואלית אחת, מגדירים את הערך הבא במטא-נתונים של המכונה:

  • מקש: enable-oslogin
  • ערך: TRUE

הפעלת OS Login במהלך יצירת מכונה וירטואלית

מפעילים את OS Login בזמן יצירת מכונה וירטואלית באמצעות מסוף Google Cloud או ה-CLI של gcloud.

המסוף

כדי ליצור מכונה וירטואלית שבה מופעל OS Login בזמן ההפעלה, צריך ליצור מכונה וירטואלית מאימג' ציבורי ולציין את ההגדרות הבאות:

  1. מרחיבים את הקטע אפשרויות מתקדמות.
  2. מרחיבים את הקטע Security.
  3. מרחיבים את הקטע Manage access.
  4. בוחרים את האפשרות Control VM access through IAM permissions.
  5. לוחצים על Create כדי ליצור את המכונה הווירטואלית ולהפעיל אותה.

gcloud

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. כדי ליצור מכונה וירטואלית שבה מופעל OS Login בהפעלה, מריצים את הפקודה gcloud compute instance create הבאה:

    gcloud compute instances create VM_NAME \
       --image-family=IMAGE_FAMILY \
       --image-project=IMAGE_PROJECT \
       --metadata enable-oslogin=TRUE
    

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

    • VM_NAME: השם של ה-VM החדש.
    • IMAGE_FAMILY: משפחת התמונות של מערכת הפעלה מסוג Linux. כך נוצרת מכונה וירטואלית מתמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לכל משפחות התמונות הציבוריות, אפשר לעיין בפרטים על מערכת ההפעלה.
    • IMAGE_PROJECT: פרויקט התמונה שמכיל את משפחת התמונות. לכל מערכת הפעלה יש פרויקט תמונות משלה. במאמר פרטים על מערכת ההפעלה מופיעים כל הפרויקטים של תמונות ציבוריות.

Terraform

אפשר להחיל את ערכי המטא-נתונים על הפרויקטים או על מכונות וירטואליות באמצעות אחת מהאפשרויות הבאות:

  • אפשרות 1: מגדירים את enable-oslogin במטא-נתונים ברמת הפרויקט, כך שההגדרה תחול על כל המכונות הווירטואליות בפרויקט.

    משתמשים במשאב Terraform‏ google_compute_project_metadata ומגדירים ערך של מטא-נתונים שבו oslogin=TRUE:

    resource "google_compute_project_metadata" "default" {
      metadata = {
        enable-oslogin = "TRUE"
      }
    }

    אפשרות אחרת היא להגדיר את enable-oslogin לערך FALSE כדי להשבית את OS Login.

  • אפשרות 2: מגדירים את enable-oslogin במטא-נתונים של מכונה וירטואלית חדשה או קיימת.

    משתמשים במשאב Terraform‏ google_compute_instance ומגדירים את oslogin=TRUE. מחליפים את oslogin_instance_name בשם של המכונה הווירטואלית.

    resource "google_compute_instance" "oslogin_instance" {
      name         = "oslogin-instance-name"
      machine_type = "f1-micro"
      zone         = "us-central1-c"
      metadata = {
        enable-oslogin : "TRUE"
      }
      boot_disk {
        initialize_params {
          image = "debian-cloud/debian-11"
        }
      }
      network_interface {
        # A default network is created for all GCP projects
        network = "default"
        access_config {
        }
      }
    }

    לחלופין, אפשר להגדיר את enable-oslogin לערך FALSE כדי להחריג את המכונה הווירטואלית משימוש ב-OS Login.

השבתה של OS Login

כדי להשבית את OS Login, מגדירים את enable-oslogin לערך FALSE במטא-נתונים של הפרויקט או של המכונה.

כש-OS Login מושבת, אפשר להתחבר למכונות הווירטואליות באמצעות מפתחות SSH ששמורים במטא-נתונים.

השבתה של OS Login בכל המכונות הווירטואליות בפרויקט

כדי להשבית את OS Login בכל המכונות הווירטואליות בפרויקט, מגדירים את הערך הבא במטא-נתונים של הפרויקט:

  • מקש: enable-oslogin
  • ערך: FALSE

השבתה של OS Login במכונה וירטואלית אחת

כדי להשבית את OS Login במכונה וירטואלית אחת, מגדירים את הערך הבא במטא-נתונים של המכונה:

  • מקש: enable-oslogin
  • ערך: FALSE

אם מגדירים את enable-oslogin לערך FALSE במטא-נתונים של המכונה, השירות OS Login מושבת במכונה הווירטואלית, גם אם enable-oslogin מוגדר לערך TRUE במטא-נתונים של הפרויקט.

התחברות למכונות וירטואליות שמופעל בהן OS Login

כדי להתחבר למכונות וירטואליות שמופעל בהן OS Login, משתמשים בשיטות שמתוארות במאמר התחברות למכונות וירטואליות של Linux.

כשמתחברים למכונות וירטואליות שמופעל בהן OS Login, מערכת Compute Engine משתמשת בשם המשתמש שהאדמין בארגון הגדיר עבורכם. אם האדמין בארגון שלכם לא הגדיר לכם שם משתמש,‏ Compute Engine ייצור שם משתמש בפורמט USERNAME_DOMAIN_SUFFIX. מידע נוסף על שמות משתמשים זמין במאמר איך OS Login פועל.

הפעלת OS Login עם אימות דו-שלבי

כדי להוסיף שכבת אבטחה, אתם יכולים לדרוש מהמשתמשים להשתמש באימות דו-שלבי (2FA) כשהם מתחברים למכונות וירטואליות שמופעל בהן OS Login. אם אתם מתכננים להשתמש ב-OS Login עם אימות דו-שלבי, המשתמשים צריכים להגדיר אימות דו-שלבי בחשבונות שלהם. מידע על שיטות אימות דו-שלבי נתמכות זמין במאמר מידע על OS Login.

לפני שמפעילים אימות דו-שלבי, צריך לוודא ש-OS Login מופעל כמו שמתואר במאמר בנושא הפעלת OS Login. כדי להפעיל אימות דו-שלבי ב-OS Login, צריך להגדיר את ערך המטא-נתונים הבא במטא-נתונים של המכונה או של הפרויקט:

  • מקש: enable-oslogin-2fa
  • ערך: TRUE

כדי לאכוף אימות דו-שלבי ב-OS Login, צריך להגדיר את המטא-נתונים של OS Login ‏ (enable-oslogin) ושל אימות דו-שלבי ב-OS Login ‏ (enable-oslogin-2fa) לערך TRUE.

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

פתרון בעיות ב-OS Login

כדי למצוא שיטות לאבחון ולפתרון שגיאות ב-OS Login, ראו פתרון בעיות ב-OS Login.

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