כל קובץ, תיקייה ואחסון שיתופי ב-Google Drive משויכים
הרשאות. כל משאב
מזהה את ההרשאה עבור type
ספציפי (משתמש, קבוצה, דומיין, כל אחד)
וגם role
, למשל 'תגובה' או 'Reader'. לדוגמה, לקובץ יכול להיות
הרשאה שנותנת למשתמש מסוים (type=user
) גישת קריאה בלבד
(role=reader
) בעוד שהרשאה אחרת מעניקה לחברים בקבוצה ספציפית
(type=group
) יכולת להוסיף תגובות לקובץ (role=commenter
).
רשימה מלאה של התפקידים והפעולות המותרות על ידי כל אחד מהם זמינה בקישור הבא: תפקידים הרשאות.
תרחישים של שיתוף משאבים ב-Drive
יש חמישה סוגים שונים של תרחישי שיתוף:
כדי לשתף קובץ מ'האחסון שלי', למשתמש צריך להיות
role=writer
אוrole=owner
.אם הערך הבוליאני
writersCanShare
מוגדר ל-False
עבור הקובץ, למשתמש חייב להיותrole=owner
.אם למשתמש עם
role=writer
יש גישה זמנית בכפוף ל- תאריך ושעת התפוגה שלו, הם לא יוכלו לשתף את הקובץ. לקבלת מידע נוסף מידע נוסף זמין בקטע הגדרת תאריך תפוגה להגבלת קובץ גישה.
כדי לשתף תיקייה ב'אחסון שלי', המשתמש צריך:
role=writer
אוrole=owner
.אם הערך הבוליאני
writersCanShare
מוגדר ל-False
עבור הקובץ, למשתמש חייב להיותrole=owner
עם הרשאות רבות יותר.אסור להעניק גישה זמנית (לפי תאריך ושעת התפוגה) בתיקיות 'האחסון שלי' עם
role=writer
. לקבלת מידע נוסף מידע נוסף, ראה מגדירים תאריך תפוגה כדי להגביל את הגישה לקבצים.
כדי לשתף קובץ באחסון שיתופי, למשתמש צריך להיות
role=writer
,role=fileOrganizer
אוrole=organizer
.- ההגדרה
writersCanShare
לא חלה על פריטים בתיקיות אחסון שיתופי. מבחינתו הוא תמיד מוגדר לערךTrue
.
- ההגדרה
כדי לשתף תיקייה באחסון שיתופי, למשתמש צריך להיות
role=organizer
.- אם ההגבלה
sharingFoldersRequiresOrganizerPermission
האחסון השיתופי שהוגדר הואFalse
, משתמשים שיש להםrole=fileOrganizer
יכולים לשתף תיקיות באחסון השיתופי.
- אם ההגבלה
כדי לנהל את החברים באחסון השיתופי, למשתמש צריך להיות
role=organizer
. רק משתמשים וקבוצות יכולים להיות חברים בתיקיות אחסון שיתופי.
הגדרת תאריך תפוגה כדי להגביל את הגישה לקבצים
כאשר עובדים עם אנשים על פרויקט רגיש, כדאי לשקול להגביל את הגישה שלהם לקבצים מסוימים ב-Drive לאחר פרק זמן של בזמן האימון. לקבצים בתיקיית 'האחסון שלי' אפשר להגדיר תאריך תפוגה: להגביל או להסיר את הגישה לקובץ הזה.
כדי להגדיר את תאריך התפוגה:
- שימוש ב
permissions.create
הגדירו אותה ומגדיריםpermissions.expirationTime
(יחד עם שאר שדות החובה). מידע נוסף זמין במאמר הבא: יוצרים הרשאה. - שימוש ב
permissions.update
ה-method ומגדירים את השדהpermissions.expirationTime
(ביחד עם השדה השני) שדות חובה). מידע נוסף זמין במאמר שינוי הרשאות.
השדה expirationTime
מציין מתי יפוג תוקף ההרשאה באמצעות RFC 3339
תאריך-שעה
הקצר הזה. התשובות שלך יעזרו לנו להשתפר. זמני התפוגה כפופים למגבלות הבאות:
- אפשר להגדיר אותן רק לפי הרשאות של משתמשים וקבוצות.
- השעה חייבת להיות בעתיד.
- המועד לא יכול להיות יותר משנה בשנה.
מידע נוסף על תאריך התפוגה זמין במאמרים הבאים:
- הגדרת תאריך תפוגה לגישה לקבצים
- הוספת תאריך תפוגה הקצר הזה. התשובות שלך יעזרו לנו להשתפר.
הפצת הרשאות
רשימות ההרשאות של תיקייה מופצות למטה, וכל קובצי הצאצא וגם התיקיות מקבלות בירושה הרשאות מההורה. בכל פעם שההרשאות או ההיררכיה משתנה, ההפצה מתרחשת באופן רקורסיבי דרך כל תיקיות. לדוגמה, אם קובץ קיים בתיקייה, והתיקייה מועברת בתיקייה אחרת, ההרשאות בתיקייה החדשה יועברו לקובץ. אם התיקייה החדשה מעניקה למשתמש בקובץ תפקיד חדש, כגון 'כתיבה', זה משנה את התפקיד הישן.
לעומת זאת, אם קובץ יורש את role=writer
מתיקייה והוא מועבר אל
תיקייה אחרת שמספקת שם של 'קורא' זהו, הקובץ יורש עכשיו
role=reader
.
אי אפשר להסיר הרשאות שהועברו בירושה מקובץ או מתיקייה באחסון שיתופי. במקום זאת, צריך להתאים את ההרשאות האלה ברמת ההורה הישיר או העקיף של ההורה שהם עברו בירושה. אפשר להסיר הרשאות שעברו בירושה מפריטים 'האחסון שלי' או 'קבצים ששותפו איתי'.
לעומת זאת, אפשר לבטל הרשאות שעברו בירושה בקובץ או בתיקייה בתיקייה '
ב-Drive. לכן, אם קובץ יורש את הכתובת role=writer
מקובץ 'My'
תיקייה ב-Drive, אפשר להגדיר את role=reader
בקובץ כדי להקטין אותה
רמת ההרשאה.
יכולות
משאב ההרשאות לא בסופו של דבר
קובעת את היכולת של המשתמש הנוכחי לבצע פעולות בקובץ או בתיקייה.
במקום זאת, משאב קבצים מכיל אוסף של
שדות capabilities
בוליאניים המשמשים כדי לציין אם פעולה יכולה להיות
שמבוצעות בקובץ או בתיקייה. Google Drive API מגדיר את השדות האלה על סמך
משאב ההרשאות של המשתמש הנוכחי, שמשויך לקובץ או לתיקייה.
לדוגמה, כשאלכס מתחבר לאפליקציה ומנסה לשתף קובץ, התפקיד של אלכס
נבדק אם יש הרשאות לקובץ. אם התפקיד מאפשר להם לשתף קובץ,
הערכים capabilities
שקשורים לקובץ, כמו canShare
, ימולאו
יחסית לתפקיד. אם אלכס רוצה לשתף את הקובץ, האפליקציה בודקת את
capabilities
כדי לוודא שהערך של canShare
מוגדר לערך true
.
דוגמה לאחזור קובץ capabilities
זמינה במאמר אימות משתמש
הרשאות.
יצירת הרשאה
שני השדות הבאים נחוצים כשיוצרים הרשאה:
type
–type
מציין את היקף ההרשאה (user
,group
,domain
, אוanyone
). הרשאה עםtype=user
חלה על משתמש מסוים, הרשאה עםtype=domain
חלה על כל מי שבדומיין הספציפי.role
– השדהrole
משמש לזיהוי הפעולות שמכשירtype
יכול לבצע. לדוגמה, הרשאה עםtype=user
ו-role=reader
מעניקה למשתמש ספציפי הרשאת קריאה בלבד לקובץ או לתיקייה. או הרשאה דרךtype=domain
ו-role=commenter
מאפשר לכל אחד בדומיין להוסיף תגובות לקובץ. עבור רשימה מלאה של התפקידים והפעולות המותרות על ידי כל אחד מהם, עיינו תפקידים הרשאות.
כשיוצרים הרשאה שבה נעשה שימוש ב-type=user
או ב-type=group
, צריך גם
יש לספק emailAddress
כדי להתקשר
המשתמש או הקבוצה הספציפיים שקיבלו את ההרשאה.
כשיוצרים הרשאה שבה type=domain
צריך לספק גם
domain
לקישור דומיין ספציפי
את ההרשאה.
כדי ליצור הרשאה:
- משתמשים בשיטה
permissions.create
ל-fileId
של הקובץ או התיקייה המשויכים. - בגוף הבקשה, מציינים את
type
ואתrole
. - אם הערך הוא
type=user
אוtype=group
, צריך לצייןemailAddress
. אםtype=domain
, מספקיםdomain
.
הצג דוגמה
דוגמת הקוד הבאה מראה איך ליצור הרשאה. התשובה תחזיר מופע של משאב Permission
, כולל permissionId
שהוקצה.
שליחת בקשה
POST https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions
{ "requests": [ { "type": "user", "role": "commenter", "emailAddress": "alex@altostrat.com" } ] }
תגובה
{
"kind": "drive#permission",
"id": "PERMISSION_ID
",
"type": "user",
"role": "commenter"
}
שימוש בקהלי יעד
קהלי יעד הם קבוצות של אנשים – כמו מחלקות או צוותים – שאפשר ליצור להמליץ למשתמשים לשתף איתם את הפריטים שלהם. אפשר לעודד את המשתמשים לשתף פריטים עם קהל ספציפי או מוגבל יותר במקום את כולו של הארגון. משתמשי היעד יכולים לעזור לך לשפר את האבטחה והפרטיות של את הנתונים, ולהקל על המשתמשים לשתף אותם כראוי. לקבלת מידע נוסף מידע נוסף, ראה מידע על היעד קהלים הקצר הזה. התשובות שלך יעזרו לנו להשתפר.
כדי להשתמש בקהלי יעד:
במסוף Google Admin, נכנסים לתפריט > ספרייה > משתמשי היעד.
צריך להיכנס באמצעות חשבון עם הרשאות סופר-אדמין כדי לבצע את המשימה הזו.
ברשימת משתמשי היעד, לוחצים על השם של קהל היעד. שפת תרגום איך יוצרים קהל יעד? אפשר למצוא מידע נוסף בקטע יצירת קהל יעד קהל
מעתיקים את המזהה הייחודי מכתובת ה-URL של קהל היעד:
https://admin.google.com/ac/targetaudiences/ID
.יוצרים הרשאה עם
type=domain
, ומגדירים את השדהdomain
לערךID.audience.googledomains.com
.
כדי לראות איך משתמשים מקיימים אינטראקציה עם משתמשי היעד, אפשר לעיין במאמר חוויית המשתמש של הקישור שיתוף הקצר הזה. התשובות שלך יעזרו לנו להשתפר.
אחזור כל ההרשאות לקובץ, לתיקייה או לאחסון שיתופי
משתמשים בשיטה permissions.list
כדי
מאחזרים את כל ההרשאות לקובץ, לתיקייה או לאחסון שיתופי.
הצג דוגמה
דוגמת הקוד הבאה מראה איך לקבל את כל ההרשאות. התשובה תחזיר רשימה של הרשאות.
שליחת בקשה
GET https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions
תגובה
{
"kind": "drive#permissionList",
"permissions": [
{
"id": "PERMISSION_ID
",
"type": "user",
"kind": "drive#permission",
"role": "commenter"
}
]
}
אימות הרשאות המשתמשים
כשהאפליקציה פותחת קובץ, צריך לבדוק את יכולות הקובץ ולעבד אותו.
ממשק המשתמש כדי לשקף את ההרשאות של המשתמש הנוכחי. לדוגמה, אם המשתמש
אין יכולת canComment
בקובץ, יכולת להגיב
צריך להיות מושבת בממשק המשתמש.
למידע נוסף על capabilities
ראו יכולות
שלמעלה.
כדי לבדוק את היכולות, צריך להתקשר אל files.get
עם
fileId
והפרמטר fields
מוגדרים לשדה capabilities
. עבור
מידע נוסף על החזרת שדות באמצעות הפרמטר fields
:
החזרת שדות ספציפיים בקובץ.
הצג דוגמה
דוגמת הקוד הבאה מראה איך לאמת הרשאות של משתמשים. התשובה תחזיר רשימה של יכולות שיש למשתמש בקובץ. כל יכולת תואמת לפעולה פרטנית שהמשתמשים יכולים לבצע. חלק מהשדות יאוכלסו רק בפריטים שבתיקיות האחסון השיתופי.
שליחת בקשה
GET https://www.googleapis.com/drive/v3/files/FILE_ID
?fields=capabilities
תגובה
{ "capabilities": { "canAcceptOwnership": false, "canAddChildren": false, "canAddMyDriveParent": false, "canChangeCopyRequiresWriterPermission": true, "canChangeSecurityUpdateEnabled": false, "canComment": true, "canCopy": true, "canDelete": true, "canDownload": true, "canEdit": true, "canListChildren": false, "canModifyContent": true, "canModifyContentRestriction": true, "canModifyLabels": true, "canMoveChildrenWithinDrive": false, "canMoveItemOutOfDrive": true, "canMoveItemWithinDrive": true, "canReadLabels": true, "canReadRevisions": true, "canRemoveChildren": false, "canRemoveMyDriveParent": true, "canRename": true, "canShare": true, "canTrash": true, "canUntrash": true } }
לזהות את מקור התפקיד לקבצים באחסון השיתופי תיקיות
כדי לשנות את התפקיד בקובץ או בתיקייה, צריך לדעת מה מקור התפקיד. בתיקיות אחסון שיתופי, מקור התפקיד יכול להתבסס על החברות באחסון השיתופי ב-Drive, בתפקיד בתיקייה או בקובץ.
לזהות את מקור התפקיד של אחסון שיתופי או של פריטים באחסון השיתופי
נהיגה, להתקשר אל permissions.get
עם
fileId
, permissionId
והפרמטר fields
מוגדרים
השדה permissionDetails
. כדי למצוא את permissionId
, צריך להשתמש
permissions.list
עם fileId
. שפת תרגום
מאחזרים את השדה permissionDetails
בבקשה של permissions.list
, מגדירים את
הפרמטר fields
ל-permissions/permissionDetails
.
בשדה הזה מפורטות כל ההרשאות הישירות וההרשאות לקבצים שהועברו בירושה למשתמש, קבוצה או דומיין.
הצג דוגמה
בדוגמה הבאה אפשר לראות איך מגדירים את מקור התפקיד. התשובה תחזיר את הערך permissionDetails
של משאב Permission
. בשדה inheritedFrom
מוצג מזהה הפריט שממנו ההרשאה עוברת בירושה.
שליחת בקשה
GET https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions/PERMISSION_ID
?fields=permissionDetails&supportsAllDrives=true
תגובה
{
"permissionDetails": [
{
"permissionType": "member",
"role": "commenter",
"inheritedFrom": "INHERITED_FROM_ID
",
"inherited": true
},
{
"permissionType": "file",
"role": "writer",
"inherited": false
}
]
}
שינוי ההרשאות
כדי לשנות את ההרשאות בקובץ או בתיקייה, אפשר לשנות את התפקיד שהוקצה:
קוראים לפונקציה
permissions.update
באמצעותpermissionId
מההרשאה לשינוי וה-fileId
עבור של קובץ, תיקייה או אחסון שיתופי שמשויכים אליהם. כדי למצוא אתpermissionId
, צריך להשתמשpermissions.list
עםfileId
.בבקשה, מזהים את
role
החדש.
אפשר גם לתת הרשאות לקבצים ספציפיים או לתיקיות באחסון השיתופי
אם המשתמש או הקבוצה כבר חברים. לדוגמה, לאלכס יש role=commenter
כחלק מהחברות שלו באחסון שיתופי. עם זאת, האפליקציה שלך יכולה להעניק לאלכס
role=writer
לקובץ באחסון שיתופי. במקרה הזה, מכיוון שהתפקיד החדש
מתירני יותר מאשר התפקיד המוענק דרך חברות שלהם,
הרשאה הופכת לתפקיד בפועל של הקובץ או התיקייה.
הצג דוגמה
דוגמת הקוד הבאה מראה איך לשנות הרשאות בקובץ או בתיקייה מ'תגובה' ל'כותב'. התשובה תחזיר מופע של משאב Permission
.
שליחת בקשה
PATCH https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions/PERMISSION_ID
{ "requests": [ { "role": "writer" } ] }
תגובה
{
"kind": "drive#permission",
"id": "PERMISSION_ID
",
"type": "user",
"role": "writer"
}
ביטול הגישה לקובץ או לתיקייה
כדי לבטל את הגישה לקובץ או לתיקייה, קוראים לפונקציה
delete
עם fileId
ועם
permissionId
כדי למחוק את ההרשאה.
לפריטים בתיקייה 'האחסון שלי' ייתכן למחוק נתונים שעברו בירושה הרשאה. מחיקה של הרשאה שעברה בירושה מבטלת את הגישה לפריט. פריטי צאצא, אם יש כאלה.
לגבי פריטים באחסון שיתופי, אי אפשר לבטל את ההרשאות שהועברו בירושה. עדכון או במקום זאת, צריך לבטל את ההרשאה בקובץ או בתיקיית ההורה.
הפעולה delete
משמשת גם למחיקת הרשאות שהוחלו ישירות על
את הקובץ או התיקייה באחסון השיתופי.
הצג דוגמה
דוגמת הקוד הבאה מראה איך לבטל גישה על ידי מחיקת permissionId
. אם הביצוע יהיה תקין, גוף התגובה יהיה ריק. כדי לאשר שההרשאה הוסרה, צריך להשתמש ב-permissions.list
עם fileId
.
שליחת בקשה
DELETE https://www.googleapis.com/drive/v3/files/FILE_ID
/permissions/PERMISSION_ID
להעביר את הבעלות על הקובץ לחשבון Google Workspace אחר באותו ארגון
בעלות על קבצים שקיימים בתיקייה 'האחסון שלי' ניתן להעברה מ: חשבון Google Workspace אחד לחשבון אחר באותו ארגון. ארגון שבבעלותו שותף Drive הוא הבעלים של הקבצים שבו. לכן, אין תמיכה בהעברת בעלות לקבצים ולתיקיות שבתיקיות האחסון השיתופי. מארגנים של אחסון שיתופי יכולים להעביר אותו פריטים מהאחסון השיתופי הזה אל 'האחסון שלי' משלהם איזה מעביר את הבעלות אליהם.
כדי להעביר בעלות על קובץ מ'האחסון שלי', מבצעים אחת מהפעולות הבאות: הבאים:
יצירה של הרשאת גישה לקובץ שמעניקה למשתמש ספציפי (
type=user
) גישת בעלים (role=owner
).עדכון הרשאה של קובץ קיים באמצעות
role=owner
והעברה בעלות למשתמש שצוין (transferOwnership=true
).
העברת בעלות על קבצים מחשבון פרטי אחד לאחר
ניתן להעביר את הבעלות על קבצים בין חשבון צרכן אחד לאחר. עם זאת, Drive לא מעביר בעלות על קובץ בין צרכן חשבונות עד שהבעלים החדש הפוטנציאלי הביע הסכמה מפורשת להעברה. כדי להעביר בעלות על קבצים מחשבון פרטי אחד לאחר:
הבעלים הנוכחי מתחיל העברת בעלות על ידי יצירה או עדכון את ההרשאה של הבעלים החדש הפוטנציאלי. ההרשאה חייבת לכלול ההגדרות האלה:
role=writer
,type=user
ו-pendingOwner=true
. אם הבעלים החדש יוצר הרשאה לבעלים הפוטנציאלי, כתובת אימייל נשלחת לבעלים הפוטנציאלי החדש, כדי לציין שהוא שנתבקש לקבל בעלות על הקובץ.הבעלים החדש מאשר את הבקשה להעברת בעלות על ידי יצירה או עדכון את ההרשאות שלהם לקובץ. ההרשאה חייבת לכלול את ההגדרות הבאות:
role=owner
וגםtransferOwnership=true
אם הבעלים החדשים יוצר הרשאה חדשה, תישלח התראה באימייל לבעלים הקודם שמציין שהבעלות הועברה.
כשמעבירים קובץ, התפקיד של הבעלים הקודם משדרג לאחור ל-writer
.
שינוי הרשאות מרובות באמצעות בקשות באצווה
מומלץ מאוד להשתמש בקשות בכמות גדולה כדי לשנות בקשות מרובות הרשאות.
הדוגמה הבאה היא לביצוע שינוי הרשאה באצווה באמצעות ספריית לקוח.