בדף הזה מוסבר איך לשלוט בגישה למופעי Filestore.
באמצעות פרוטוקול NFSv4.1, אפשר להשתמש ב-Kerberos כדי לאבטח את הגישה למופעי Filestore. מידע נוסף זמין במאמר מידע על פרוטוקולים נתמכים.
לחלופין, אפשר להשתמש באפשרויות של Linux כדי לשלוט בגישה ל-NFS, ובניהול זהויות והרשאות גישה (IAM) כדי לשלוט בגישה לפעולות של מופעים, כמו יצירה, עריכה, צפייה ומחיקה של מופעים. במדריך הבא מוסבר איך לבצע כל אחת מהמשימות האלה.
הגדרות ייצוא של שיתוף קבצים
לשיתוף קבצים ב-Filestore מוקצות הגדרות ברירת המחדל הבאות: /etc/exports
- רשימת הלקוחות – שמזהה את הלקוחות שמורשים להתחבר לשיתוף הקבצים – מכילה כל כתובת IP פנימית ברשת ה-VPC שבחרתם עבור מופע Filestore. כתובות IP פנימיות יכולות להיות כל טווח שמפורט בטווחים של תת-רשתות. עם זאת, אם יש לכם לקוחות בטווחים של תת-רשתות שאינם RFC 1918, אתם צריכים להעניק להם גישה למכונת Filestore באופן מפורש באמצעות בקרת גישה מבוססת-IP.
- האפשרות
rwמוגדרת, כך ששיתוף הקבצים מאפשר גם פעולות קריאה וגם פעולות כתיבה. - האפשרות למיפוי מזהי משתמשים
no_root_squashמופעלת, ולכן כל המשתמשים והקבוצות, כולל משתמש Root, צפויים להיות זהים גם במופע של Filestore וגם בלקוח. - כל שאר האפשרויות משתמשות בערכי ברירת המחדל של
/etc/exports.
מופעים ברמה בסיסית
מופעים של SSD בסיסי ו-HDD בסיסי יוצרים שיתוף מיוצא עם התווית /config/google-prober, שמשמש לתמיכה בתהליכי בדיקה פנימיים, שבתורם מאמתים את הגישה, העמידות או הביצועים. השיתוף מיוצא לרשימת לקוחות שנגישה רק לכתובת ה-IP של המופע, באמצעות אותן הגדרות שצוינו בקטע הקודם. השיתוף נגיש רק לבוחנים שמארחים את המופע או שמקורם במופע, ולא נגיש מחוץ למופע. המכונה מייצאת את השיתוף בלי קשר להחלת בקרת גישה מבוססת-IP. משתמשים יכולים לראות את השיתוף שיוצא באמצעות הפקודה showmount -e.
בקרת גישה מבוססת-IP
כדי לשנות את הגדרות הייצוא האלה, אפשר ליצור כללי בקרת גישה באמצעות מסוף Google Cloud או לציין קובץ תצורה בפורמט JSON במהלך יצירת המופע באמצעות ה-CLI של gcloud. פרטים נוספים זמינים במאמר בנושא הגדרת בקרת גישה לפי כתובת IP.
אפשר גם להוסיף כללים חדשים לבקרת גישה או לשנות כללים קיימים אחרי שיוצרים את המופע. פרטים נוספים מופיעים במאמר בנושא עריכת מופעים.
הרשאות שיתוף קבצים
כשיוצרים אינסטנס של Filestore, שיתוף הקבצים של האינסטנס הזה מקבל הרשאות קובץ POSIX כברירת מחדל של rwxr-xr-x. ההרשאות האלה אומרות שבמופע Filestore, רק למשתמשי root בלקוחות מחוברים יש גישת קריאה וכתיבה לשיתוף הקבצים. לשאר המשתמשים יש הרשאת קריאה בלבד כברירת מחדל. משתמשי הבסיס בחשבון הלקוח יכולים לשנות הרשאות ובעלים.
הגדרת גישה לשיתוף קבצים
כשמפעילים התקן לשיתוף קבצים, אפשר להשתמש באפשרויות ההפעלה ובהגדרות /etc/fstab כדי לקבוע אם אפשר לכתוב בהתקן לשיתוף קבצים ואם אפשר להריץ בו קבצים. אחרי שטוענים את שיתוף הקבצים, אפשר להשתמש בפקודות Linux רגילות כמו chmod ו-setfacl כדי להגדיר הרשאות לקבצים ולשיתוף הקבצים. רק חבילות בסיסיות תומכות ב-setfacl.
הגדרת הרשאות עקביות
כדי למנוע הרחבת הרשאות, מומלץ מאוד להגדיר הרשאות עקביות לכל משתמש בכל הלקוחות שמתחברים לאותו מופע של Filestore. אם שיתוף קבצים מותקן ביותר מלקוח אחד, ולמשתמש יש הרשאות Root בלקוח אחד אבל לא באחרים, יכול להיות שיתרחש תרחיש של הסלמת הרשאות:
- משתמש מגדיר את המאפיין
setuidבקובץ הפעלה מהלקוח שבו למשתמש יש גישת שורש. - לאחר מכן המשתמש מעלה את קובץ ההפעלה לשיתוף הקבצים.
- המשתמש מפעיל את הקובץ שהועלה כמשתמש על כל לקוח שבו למשתמש יש לפחות הרשאת קריאה.
התרחיש הזה אפשרי כי הביט setuid מאפשר למשתמש להריץ קובץ באמצעות ההרשאות של בעל הקובץ, שבמקרה הזה הוא root.
הרשאות חופפות
עכשיו יש תמיכה בהרשאות חופפות במופעים אזוריים, במופעים של אזורים ובמופעים ארגוניים.
אם מוגדרים שני כללים נפרדים לבקרת גישה עבור תת-רשתות חופפות של כתובות IP, הכלל שמוגדר לתת-הרשת הקטנה יותר מקבל עדיפות.
לדוגמה, אם קובץ הגדרות JSON מכיל כלל שמעניק גישת קריאה וכתיבה לרשת המשנה של כתובת IPv4 10.0.0.0/24, וכלל נפרד מעניק גישת קריאה בלבד לרשת המשנה של כתובת IPv4 10.0.0.0/28, מערכת Filestore מזהה את הכלל של רשת המשנה הקטנה יותר ומחיל אותו קודם. הכלל השני יחול על החלקים הנותרים של תת-הרשת של כתובות ה-IP שהוגדרה. בדוגמה הזו, ללקוח שמשתמש בכתובת IPv4 10.0.0.20 מוענקות הרשאות קריאה וכתיבה, וללקוח שמשתמש בכתובת 10.0.0.12 מוענקות הרשאות קריאה בלבד:
{
"--file-share":
{
"capacity": "2048",
"name": "my_vol",
"nfs-export-options": [
{
"access-mode": "READ_WRITE",
"ip-ranges": [
"10.0.0.0/24"
],
"squash-mode": "ROOT_SQUASH",
"anon_uid": 1003,
"anon_gid": 1003
},
{
"access-mode": "READ_ONLY",
"ip-ranges": [
"10.0.0.0/28"
],
"squash-mode": "NO_ROOT_SQUASH"
}
]
}
}
בכפוף לתנאים הבאים:
אין תמיכה בהרשאות חופפות לרשתות משנה זהות של IPv4, ומוחזרת שגיאה.
אין תמיכה בהרשאות חופפות במופעי SSD בסיסיים או במופעי HDD בסיסיים.
המאמרים הבאים
- הגדרת בקרת גישה לפי כתובת IP או דוגמה.
- יצירת מופעים.
- עריכת מופעים
- פתרון בעיות נפוצות בחיבור או ברשת של Filestore