במאמר הזה מוסבר איך מגדירים OS Login.
שירות OS Login מאפשר לכם לשלוט בגישה למכונות וירטואליות (VM) על סמך הרשאות IAM. מידע נוסף על OS Login זמין במאמר מידע על OS Login.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אתם לא צריכים לעשות את זה.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
מגבלות
אי אפשר להשתמש ב-OS Login עם:- פרופילים של OS Login בגודל כולל של יותר מ-32 KiB. הפרופיל ב-OS Login כולל פרטי חשבון POSIX ומפתחות ציבוריים של SSH.
- מכונות וירטואליות של Compute שמשתמשות בתמונות של מערכות ההפעלה הבאות:
- Windows Server ו-SQL Server.
- Fedora CoreOS. כדי לנהל את הגישה למכונות Compute Engine שנוצרו באמצעות קובצי האימג' האלה, משתמשים במערכת ההפעלה Fedora CoreOS.
- SLES 16. כדי לנהל את הגישה למכונות Compute שנוצרו באמצעות קובצי האימג' האלה, משתמשים ב-SSH שמבוסס על מטא-נתונים.
כדי לוודא שיש תמיכה ב-OS Login בהפצות לינוקס ספציפיות, אפשר לעיין בפרטים על מערכת ההפעלה.
הקצאת תפקידי IAM ל-OS Login
מקצים את כל תפקידי ה-IAM הנדרשים למשתמשים שמתחברים למכונות וירטואליות שמופעל בהן OS Login.
| תפקיד | משתמשים נדרשים | רמת ההרשאה |
|---|---|---|
roles/compute.osLogin
או roles/compute.osAdminLogin |
כל המשתמשים |
אם משתמש צריך גישת SSH מ- Google Cloud console או מ-Google Cloud CLI, צריך להקצות לו את התפקידים האלה ברמת הפרויקט, או בנוסף להקצות לו תפקיד ברמת הפרויקט שכולל את ההרשאה |
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 בזמן ההפעלה, יוצרים מכונה וירטואלית מקובץ אימג' שגלוי לכולם ומציינים את ההגדרות הבאות:
- מרחיבים את הקטע אפשרויות מתקדמות.
- מרחיבים את הקטע Security.
- מרחיבים את הקטע Manage access.
- בוחרים את האפשרות Control VM access through IAM permissions.
- לוחצים על Create כדי ליצור את המכונה הווירטואלית ולהפעיל אותה.
gcloud
-
מפעילים את Cloud Shell במסוף Google Cloud .
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
כדי ליצור מכונה וירטואלית שבה מופעל 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:אפשרות אחרת היא להגדיר את
enable-osloginלערךFALSEכדי להשבית את OS Login.אפשרות 2: מגדירים את
enable-osloginבמטא-נתונים של מכונה וירטואלית חדשה או קיימת.משתמשים במשאב Terraform
google_compute_instanceומגדירים אתoslogin=TRUE. מחליפים אתoslogin_instance_nameבשם של המכונה הווירטואלית.לחלופין, אתם יכולים להגדיר את
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)
כדי להגביר את האבטחה, אתם יכולים לדרוש מהמשתמשים להשתמש באימות דו-שלבי (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.
המאמרים הבאים
- הסבר על חיבורי SSH למכונות וירטואליות של Linux ב-Compute Engine.
- איך משתמשים באישורי SSH (גרסת טרום-השקה) כדי להתחבר למכונות וירטואליות
- איך משתמשים ב-SSH עם מפתחות אבטחה (גרסת טרום-השקה (Preview)) כדי להגביל עוד יותר את הגישה למכונות וירטואליות.