במאמר הזה מוסבר איך לעדכן את הקטגוריות של Cloud Storage עבור משתמש Cloud FTP, כולל הקטגוריות שהמשתמש יכול לגשת אליהן וההרשאות שיש למשתמש.
ככלל, אלה השלבים לעדכון הדליים של משתמש:
- מעדכנים את התפקידים ב-IAM עבור חשבון השירות של המשתמש.
- ממפים את הספריות של המשתמשים לדליים המעודכנים.
לפני שמתחילים
יוצרים קטגוריה אחת או יותר של Cloud Storage לאחסון הנתונים שהמשתמש יעבוד איתם, אם הקטגוריות עדיין לא קיימות. אפשר להעניק למשתמש גישה לעד 10 קטגוריות.
התפקידים הנדרשים
כדי לקבל את ההרשאה שנדרשת לעדכון משתמשי SFTP, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM FTP Admin (roles/ftp.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה ftp.users.update, שנדרשת כדי לעדכן משתמשי SFTP.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים אחרים שמוגדרים מראש.
עדכון תפקידי IAM בחשבון שירות של משתמש
אם משנים את הדליים שלמשתמש יש גישה אליהם, או אם משנים את ההרשאה שיש למשתמש למיפוי קיים של ספרייה, צריך לעדכן את חשבון השירות של המשתמש בתפקידים הרלוונטיים ב-IAM. מבצעים את הפעולות הבאות:
מוצאים את כתובת האימייל של חשבון השירות של המשתמש. הוראות מפורטות מופיעות במאמר בנושא קבלת פרטים על משתמש.
אם מוסיפים קטגוריות חדשות למיפוי הספריות או מגדילים את הגישה לקטגוריות קיימות, צריך לבצע את הפעולות הבאות:
מקצים לעצמכם את התפקיד 'צפייה בקטגוריית אחסון' (
roles/storage.bucketViewer) בקטגוריה, אם התפקיד עדיין לא הוקצה לכם:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member="user:ADMINISTRATOR_EMAIL" \ --role="roles/storage.bucketViewer"
מחליפים את מה שכתוב בשדות הבאים:
ADMINISTRATOR_EMAIL: כתובת האימייל של הגורם הראשי שיוצר את משתמש ה-SFTP. אם אתם יוצרים את המשתמש (ולא את האפליקציה), הערך הזה הוא כתובת האימייל שבה אתם משתמשים כדי לגשת אל Google Cloud.
BUCKET_NAME: שם הקטגוריה.
אם עדיין אין לכם את התפקיד 'צפייה באובייקט אחסון' (
roles/storage.objectViewer) בקטגוריה, מקצים לעצמכם את התפקיד הזה:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member="user:ADMINISTRATOR_EMAIL" \ --role="roles/storage.objectViewer"
מקצים לחשבון השירות של המשתמש את תפקידי ה-IAM שנדרשים לגישה למאגרי המידע:
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member="serviceAccount:SERVICE_ACCOUNT" \ --role="ROLE_TO_GRANT"
מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_ACCOUNT: כתובת האימייל של חשבון השירות של המשתמש.
ROLE_TO_GRANT: תפקיד ה-IAM שרוצים להקצות. מציינים אחד מהתפקידים הבאים:- כדי להגדיר הרשאת גישה לקריאה בלבד, משתמשים בתפקיד
roles/storage.objectViewer. - כדי לקבל גישת קריאה וכתיבה, צריך להשתמש בתפקיד
roles/storage.objectAdmin.
- כדי להגדיר הרשאת גישה לקריאה בלבד, משתמשים בתפקיד
-
חוזרים על השלבים הקודמים לכל מאגר שהמשתמש צריך לגשת אליו.
אם מסירים דליים ממיפוי הספרייה או מצמצמים את הגישה לדליים קיימים, צריך לבטל את הגישה מחשבון השירות של המשתמש:
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME \ --member="serviceAccount:SERVICE_ACCOUNT" \ --role="ROLE_TO_REVOKE"
מחליפים את
ROLE_TO_REVOKEבתפקיד IAM שרוצים לבטל.חוזרים על השלב הזה לכל דלי ולכל תפקיד IAM שלמשתמש כבר לא צריכה להיות גישה אליהם.
עדכון של דליים של משתמש
REST
כדי לעדכן את הדליים של משתמש SFTP, משתמשים בשיטה servers.users.patch.
בפרמטר השאילתה updateMask, מציינים את השדה storageDirectoryMappings.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט של השרת ב- Google Cloud .
- LOCATION_ID: המיקום של השרת, למשל
us-west1. - SERVER_ID: מזהה השרת.
- USERNAME: שם המשתמש של משתמש ה-SFTP.
- BUCKET_NAME: השם של מאגר (bucket) שלמשתמש ה-SFTP יש גישה אליו, למשל
example-bucket. השמטה שלgs://. - (אופציונלי) BUCKET_PREFIX: הנתיב של תיקייה בתוך קטגוריית ה-bucket שרוצים להגדיר כתיקיית השורש למיפוי הספרייה הזו. אם לא מציינים את הערך הזה, Cloud FTP משתמש בשורש של הדלי.
-
DIRECTORY: הנתיב של ספריית הנחיתה הלוגית שמוצג למשתמש ה-SFTP. לדוגמה,
/home/uploads. אם לא מציינים את הערך הזה, Cloud FTP מגדיר את ספריית הנחיתה ל-/.אם ממפים כמה דליים או תיקיות, צריך לספק נתיב ייחודי לספרייה לכל מיפוי.
אין תמיכה בספריות לוגיות מוטמעות. אם מספקים כמה מיפויים לספרייה, צריך לספק את הספריות במבנה שטוח ולא במבנה מקונן. לדוגמה, צריך להשתמש ב-
/dir1וב-/dir2במקום ב-/dir1וב-/dir1/dir2. - SFTP_PERMISSION: רמת הגישה לספרייה. כדי להגדיר הרשאת קריאה בלבד, צריך להגדיר את הערך
READ_ONLY. כדי להגדיר גישת קריאה וכתיבה, צריך להגדיר את הערךREAD_WRITE.
כדי לתת למשתמש גישה לכמה קטגוריות, צריך לספק כמה מיפויי קטגוריות ברשימה storageDirectoryMappings.
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://ftp.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/servers/SERVER_ID/users/USERNAME?updateMask=storageDirectoryMappings
תוכן בקשת JSON:
{
"storageDirectoryMappings": [
{
"bucket": "BUCKET_NAME",
"bucketPrefix": "BUCKET_PREFIX",
"directory": "DIRECTORY",
"permission": "SFTP_PERMISSION"
}
]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
התגובה מזהה פעולה ממושכת. העדכון של המשתמש יימשך כמה שניות.
אם למשתמש יש חיבור SFTP פעיל, יכול להיות שהוא יצטרך להתנתק ואז להתחבר מחדש כדי שהגדרות הבאקט המעודכנות ייכנסו לתוקף.