במדריך הבא מתואר פרוטוקול NFSv4.1.
Filestore מציע תמיכה בפרוטוקול NFSv4.1 למכונות שנוצרו ברמות השירות הבאות:
- אזורי
- אזורי
- Enterprise
אפשר לשלב את היכולת הזו עם Managed Service for Microsoft Active Directory (שירות מנוהל ל-Microsoft AD) כדי לתמוך בעומסי עבודה שדורשים אימות של לקוח ושרת, בדיקות שלמות של נתוני הודעות והצפנה של נתונים במעבר. אלה יכולות שלא היו זמינות בעבר ב-Filestore.
האימות נתמך באמצעות LDAP ו-Kerberos וכולל את סוגי האבטחה (ההגדרות) הבאים:
- אימות לקוח ושרת (
krb5). - בדיקות שלמות ההודעה (
krb5i). כולל את היכולות של ההגדרה הקודמת. - הצפנת נתונים במעבר (
krb5p). כולל את היכולות של ההגדרה הקודמת.
שירות מנוהל ל-Microsoft AD הוא הפתרון המנוהל במלואו Google Cloud היחיד שתומך גם ב-LDAP וגם ב-Kerberos, שהם דרישות לפרוטוקול NFSv4.1 ולשיפורים באבטחה ובפרטיות שלו. השילוב עם שירות מנוהל ל-Microsoft AD הוא לא חובה, אבל מומלץ מאוד כדי לנהל את חשבונות המשתמשים, את הקבוצות ואת ההרשאות שמשתנות, וכדי לספק חוויית משתמש אופטימלית. Google Cloud
האם כדאי להשתמש ב-NFSv4.1?
ארגונים גדולים רבים מסתמכים על מערכות מדור קודם לפעולות עסקיות קריטיות. מערכות רבות כאלה דורשות אימות והצפנה של נתונים בזמן ההעברה לאחסון קבצים ברשת. פרוטוקול NFSv3 לא תוכנן עם אימות. השילוב של פרוטוקול NFSv4.1 של Filestore עם שירות מנוהל ל-Microsoft AD עכשיו עומד בדרישה הקריטית הזו של המשתמשים.
מידע נוסף על היתרונות של NFSv4.1 זמין במאמר מידע על פרוטוקולים נתמכים.
הסבר על רשימות של בקרת גישה (ACL) שמבוססות על רשת ב-NFSv4.1.
ב-NFSv3, יש תמיכה רק בטעם האבטחה sys. ההגדרה הזו נותנת אמון במשתמש uid וב-gid שסופקו על ידי הלקוח במהלך ההרכבה.
בפרוטוקול Filestore NFSv4.1, יש כמה סוגים של אבטחת רשת ACL או הגדרות:
krb5הלקוח מאומת באמצעות כרטיס Kerberos, שעובר אימות מול שרת Kerberos של שירות מנוהל ל-Microsoft AD.
krb5iכולל את האימות שסופק על ידי
krb5וגם משתמש ב-Kerberos כדי להריץ בדיקות שלמות של הודעות בכל תעבורת הרשת אל המופע וממנו.krb5pהוא כולל את האימות שמסופק על ידי
krb5ואת בדיקות תקינות ההודעות שלkrb5i, וגם משתמש ב-Kerberos להצפנת נתונים במעבר.
כדי להשתמש באפשרויות האלה, צריך לשלב את השירות המנוהל ל-Microsoft Active Directory. למידע נוסף, אפשר לקרוא את המאמר יצירת אירוע Filestore עם שירות מנוהל ל-Microsoft AD.
אם לא מציינים דומיין של שירות מנוהל ל-Microsoft Active Directory, נתמך רק הטעם sys של האבטחה.
מידע נוסף זמין במאמר בנושא מגבלות של NFSv4.1.
טעינת מופעי Filestore NFSv4.1 בלקוחות Linux
השלבים הבאים מסבירים איך לטעון מופעים בלקוחות Linux.
הרכבה באמצעות
sec=sysלהרשאות NFS רגילות:sudo mount -vvvv -t nfs4 -o vers=4.1,sec=sys,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINTהרכבה באמצעות
sec=krb5לאימות מבוסס-Kerberos:sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINTהרכבה עם
sec=krb5iלאימות מבוסס Kerberos ולבדיקות שלמות ההודעה:sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5i,rw \ FILESTORE-INSTANCE-FQDN:/INSTANCE_SHARE_POINT /MOUNT_POINTהרכבה עם
sec=krb5pלאימות מבוסס-Kerberos, בדיקות תקינות והצפנה במעבר:sudo mount -vvvv -t nfs4 -o vers=4.1,sec=krb5p,rw \ FILESTORE-INSTANCE-FQ DN:/INSTANCE_SHARE_POINT /MOUNT_POINTמחליפים את מה שכתוב בשדות הבאים:
- FILESTORE-INSTANCE-FQDN הוא שם הדומיין שמוגדר במלואו, שבו נמצאת מכונת Filestore.
- INSTANCE_SHARE_POINT הוא שם שיתוף הקבצים של מופע Filestore שאליו רוצים להתחבר.
- MOUNT_POINT היא נקודת הטעינה או שם הספרייה שבה רוצים לבצע את הטעינה.
הגדרת לקוח Linux
מופע Filestore של NFSv4.1 מאפשר ללקוחות לבצע פעולות NFS באמצעות מגוון טעמי אבטחה. ההגדרות האלה נקבעות על ידי האדמין של המכונה באמצעות רשימות ACL ברשת במכונת Filestore NFSv4.1, במהלך היצירה או אם מתבצע עדכון אחרי היצירה.
הטעם sys של האבטחה משתמש באימות Unix רגיל, בעוד שהטעמים krb5, krb5i ו-krb5p משתמשים באימות מבוסס Kerberos.
הגרסאות krb5, krb5i ו-krb5p מחייבות שהלקוחות יהיו מחוברים לאותו שירות מנוהל ל-Microsoft AD כמו מופע Filestore.
מבצעים את השלבים הבאים שמתאימים לסביבה שלכם.
קובץ אימג' של Ubuntu
- מתחברים באמצעות SSH למכונה של Compute Engine.
מריצים את הפקודות הבאות כדי להצטרף לדומיין של שירות מנוהל ל-Microsoft AD.
מריצים את פקודת ההגדרה הבאה:
sudo apt-get update \ sudo apt-get -y -qq install adcli realmd sssd sssd-tools packagekit krb5-user \ nfs-common expect retryכשמוצגת בקשה לתחום, מחליפים את הערך הקיים בדומיין של שירות מנוהל ל-Microsoft AD שבו נעשה שימוש במופע Filestore. מזינים את הערך באותיות רישיות, ואז מקישים על מקש החץ כדי לבחור באפשרות אישור, ואז מקישים על Enter.
כשמתבקשים להזין מארחים, משאירים את השדה ריק וממשיכים.
מבצעים את אחד מהשלבים הבאים:
למכונות וירטואליות עם שם מארח באורך של עד 15 תווים, מריצים את הפקודה הבאה:
sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no MANAGED_AD_DOMAIN_NAMEמחליפים את מה שכתוב בשדות הבאים:
- JOIN_DOMAIN_USER הוא השם של חשבון המשתמש שמשמש להצטרפות לדומיין.
- MANAGED_AD_DOMAIN_NAME הוא שם הדומיין של שירות מנוהל ל-Microsoft AD שבו רוצים להשתמש.
למכונות וירטואליות עם שם מארח באורך של יותר מ-15 תווים, מריצים את הפקודה הבאה:
sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no \ --user-principal=host/`hostname -f`@MANAGED_AD_REALM_NAME MANAGED_AD_DOMAIN_NAMEמחליפים את מה שכתוב בשדות הבאים:
- JOIN_DOMAIN_USER הוא השם של חשבון המשתמש שמשמש להצטרפות לדומיין.
- MANAGED_AD_REALM_NAME הוא שם התחום של שירות Managed Microsoft AD שבו רוצים להשתמש.
- MANAGED_AD_DOMAIN_NAME הוא שם הדומיין של שירות מנוהל ל-Microsoft AD שבו רוצים להשתמש.
מעדכנים את ההגדרה של Kerberos. מעדכנים את
/etc/krb5.confבהגדרת התחום הנדרשת ובמיפוי של התחום לתחום:[realms] DOMAIN_NAME = { kdc = DOMAIN_NAME default_domain = DOMAIN_NAME } [domain_realm] .domain_name_lowercase = DOMAIN_NAME domain_name_lowercase = DOMAIN_NAMEמחליפים את מה שכתוב בשדות הבאים:
- DOMAIN_NAME הוא שם הדומיין שבו רוצים להשתמש, שמוזן באותיות רישיות.
- domain_name_lowercase הוא שם הדומיין שבו רוצים להשתמש, שמוזן באותיות קטנות.
דוגמה:
[realms] FILE.DEMO.LOCAL = { kdc = FILE.DEMO.LOCAL default_domain = FILE.DEMO.LOCAL } [domain_realm] .file.demo.local = FILE.DEMO.LOCAL file.demo.local = FILE.DEMO.LOCALמריצים את שירות rpc-gssd. מוסיפים את
No-Stripערך המאפיין ל[General]section בתוך/etc/idmapd.conf:[General] No-Strip = bothמריצים את הפקודה הבאה:
sudo systemctl restart rpc-gssd
תמונה של Centos
- מתחברים באמצעות SSH למכונה של Compute Engine.
הצטרפות לדומיין של Managed Microsoft AD:
sudo yum update \ sudo yum install -y adcli realmd sssd samba-common-tools krb5-workstation nfs-utils \ bind-utils openldap-clientsמבצעים את אחד מהשלבים הבאים:
במכונות וירטואליות שאורך שם המארח שלהן הוא עד 15 תווים, מריצים את הפקודה הבאה:
sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no MANAGED_AD_DOMAIN_NAMEמחליפים את מה שכתוב בשדות הבאים:
- JOIN_DOMAIN_USER הוא השם של חשבון המשתמש שמשמש להצטרפות לדומיין.
- MANAGED_AD_DOMAIN_NAME הוא שם הדומיין של שירות מנוהל ל-Microsoft AD שבו רוצים להשתמש.
במכונות וירטואליות עם שם מארח באורך של יותר מ-15 תווים, מריצים את הפקודה הבאה:
sudo realm join -vU JOIN_DOMAIN_USER --automatic-id-mapping=no \ --user-principal=host/`hostname -f`@MANAGED_AD_REALM_NAME MANAGED_AD_DOMAIN_NAMEמחליפים את מה שכתוב בשדות הבאים:
- JOIN_DOMAIN_USER הוא השם של חשבון המשתמש שמשמש להצטרפות לדומיין.
- MANAGED_AD_REALM_NAME הוא שם התחום של שירות Managed Microsoft AD שבו רוצים להשתמש.
- MANAGED_AD_DOMAIN_NAME הוא שם הדומיין של שירות מנוהל ל-Microsoft AD שבו רוצים להשתמש.
מוודאים ששירות sssd פועל:
sudo systemctl status sssdמריצים את השירות rpc-gssd. מוסיפים את הערכים הבאים מתחת לערך של מאפיין
No-Stripבקטע[General]בתוך/etc/idmapd.conf:[General] No-Strip = bothמריצים את הפקודה הבאה. הפקודה הזו עוזרת לוודא שלקוח ה-NFS לא יסיר את שם הדומיין משם המארח של שרת ה-NFS. מידע נוסף זמין במאמרים NFS Ganesha List Archives ו-Arch Linux Archive.
sudo systemctl start rpc-gssd
המאמרים הבאים
- עריכת מופע Filestore
- יצירת מכונה וירטואלית ברשת VPC משותפת בפרויקטים של שירותים
- יצירת אירוע Filestore עם Private Service Connect