במאמר הזה מוסבר איך מגדירים 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 של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות, צריך לוודא ש נכנסתם ל-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/iam.serviceAccountUser |
כל המשתמשים, אם למכונה הווירטואלית יש חשבון שירות | בחשבון השירות. |
הפעלה של OS Login
כדי להפעיל את השירות OS Login במכונה וירטואלית אחת או בכל המכונות הווירטואליות בפרויקט, צריך להגדיר את enable-oslogin לערך TRUE במטא-נתונים של הפרויקט או של המכונה.
כשמגדירים מטא-נתונים של OS Login, Compute Engine מוחק את הקבצים authorized_keys של המכונה הווירטואלית ולא מקבל יותר חיבורים ממפתחות SSH ששמורים במטא-נתונים של הפרויקט או המכונה.
enable-oslogin לערך TRUE, צריך להגדיר גם את enable-oslogin-certificates לערך TRUE.
הפעלת 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 משתמש בערך שלgoogle.posix_username מיפוי המאפיינים כשם המשתמש.
מידע נוסף על שמות משתמשים זמין במאמר איך OS Login פועל.
פתרון בעיות ב-OS Login
כדי למצוא שיטות לאבחון ולפתרון שגיאות ב-OS Login, ראו פתרון בעיות ב-OS Login.
המאמרים הבאים
- הסבר על חיבורי SSH למכונות וירטואליות של Linux ב-Compute Engine.
- איך משתמשים באישורי SSH (גרסת טרום-השקה) כדי להתחבר למכונות וירטואליות