לכל משתמש שיש לו גישה לתיקייה יש גם גישה לכל הפריטים בתוך התיקייה. כך קל להבין למי יש גישה לפריטים בהיררכיה, והגישה הזו נקראת גישה רחבה. התנהגות הגישה הזו קיימת גם בתיקייה 'האחסון שלי' וגם בתיקיות אחסון שיתופי.
אחרי שהשקנו את התכונה תיקיות עם גישה מוגבלת, היא הפכה לחריג היחיד שמאפשר להגביל את הגישה לתיקיית משנה ספציפית גם בתיקיית 'האחסון שלי' וגם באחסון השיתופי.
במאמר הזה מוסבר איך לנהל תיקיות עם גישה מוגבלת וגישה רחבה ב-Google Drive.
מידע על תיקיות עם גישה מוגבלת
תיקיות עם גישה מוגבלת מאפשרות להגביל את הגישה לתיקיות למשתמשים ספציפיים. רק משתמשים שמוסיפים ישירות להרשאות של התיקייה יכולים לפתוח אותה ולגשת לתוכן שלה. משתמשים עם גישה שעברה בירושה לתיקייה משותפת ב'אחסון שלי' או לתיקייה באחסון השיתופי (דרך גישה מתיקיית אב) יכולים לראות את התיקייה המוגבלת ב-Drive אבל לא לפתוח אותה. התכונה הזו משפרת את ההתאמה בין התנהגות השיתוף של פריטים בתיקיית 'האחסון שלי' ובתיקיות אחסון שיתופי, ומאפשרת לכם לארגן תיקיות עם תוכן רגיש לצד תוכן שמשותף עם יותר אנשים.
אפשר להשתמש בגישה מוגבלת גם לתיקיות בתיקיית 'האחסון שלי' וגם לתיקיות באחסון השיתופי. לבעלי תפקיד owner בתיקיית "האחסון שלי" ולבעלי תפקיד organizer בתיקיות באחסון השיתופי תמיד יש גישה לתיקיות עם גישה מוגבלת. כדי לשנות את רשימת המשתמשים בתיקייה, לא נדרשות הרשאות מיוחדות. תפקידים שיכולים לשתף תיקיות יכולים לעדכן את רשימות המשתתפים. מידע נוסף על תפקידים והרשאות זמין במאמרים תפקידים והרשאות וסקירה כללית של תיקיות משותפות.
חשוב לזכור שתיקיות הן סוג של קובץ, אבל אי אפשר להגביל את הגישה לקבצים.
הגדרת גישה מוגבלת לתיקייה
משתמשים עם הרשאות גישה ישירה לתיקייה יכולים לגשת לתיקייה עם גישה מוגבלת, אבל רק משתמשים עם תפקיד owner בתיקיית 'האחסון שלי' ועם תפקיד organizer בתיקיות באחסון השיתופי יכולים להפעיל או להשבית גישה מוגבלת.
בנוסף, אם למשתמש עם תפקיד writer בתיקיית 'האחסון שלי' מוגדר השדה הבוליאני writersCanShare במשאב files כ-true, הוא יכול גם להפעיל או להשבית את התכונה.
כדי להגביל את הגישה לתיקייה, מגדירים את השדה הבוליאני inheritedPermissionsDisabled במשאב files לערך true. כשמשתפים תיקייה עם true, רק משתמשים עם התפקיד owner, התפקיד organizer ומשתמשים עם הרשאות גישה ישירות לתיקייה יכולים לגשת אליה.
כדי להפעיל מחדש את ההרשאות שעברו בירושה, מגדירים את inheritedPermissionsDisabled לערך false.
איך בודקים את ההרשאה להגבלת הגישה לתיקייה
כדי לבדוק אם אפשר להגביל את הגישה לתיקייה, בודקים את הערכים הבוליאניים של השדות capabilities.canDisableInheritedPermissions ו-capabilities.canEnableInheritedPermissions במשאב files. ההגדרות האלה מאשרות אם יש לכם הרשאה להגביל את הגישה לתיקייה דרך השדה inheritedPermissionsDisabled.
מידע נוסף על capabilities זמין במאמר הסבר על היכולות של קבצים.
רשימת פריטים בתיקייה עם גישה מוגבלת
כדי לבדוק אם אפשר להציג את הילדים של תיקייה, משתמשים בשדה הבוליאני capabilities.canListChildren.
הערך שמוחזר הוא תמיד false אם הפריט הוא לא תיקייה או אם הגישה של השולח לתוכן התיקייה הוסרה על ידי הגדרת inheritedPermissionsDisabled ל-false.
אם הגישה שלכם לתוכן התיקייה הוסרה, עדיין תוכלו לגשת למטא-הנתונים של התיקייה באמצעות השיטות files.get() ו-files.list(). כדי לוודא שהגישה מוגבלת, בודקים את גוף התשובה כדי לראות אם הפריט הוא תיקייה עם סוג MIME application/vnd.google-apps.folder והשדה capabilities.canListChildren מוגדר כ-false. אם מנסים להציג את רשימת הצאצאים של תיקייה כזו, התוצאה תמיד ריקה.
גישה למטא-נתונים של תיקייה עם גישה מוגבלת
בתיקיות עם גישה מוגבלת, אפשר לראות את הנתונים של התיקייה גם אם אין לכם גישה לתוכן שלה.
כשמשתמשים במשאב permissions כדי לקבוע את הגישה של משתמש, גם תיקיות ב'התיקייה שלי' וגם תיקיות בתיקיית האחסון השיתופי שמעניקות גישה רק למטא-נתונים מכילות את הערכים הבאים בגוף התגובה: inheritedPermissionsDisabled=true ו-view=metadata. התפקיד
מוגדר תמיד כ-reader. השדה view מתמלא רק עבור הרשאות ששייכות ל-view. מידע נוסף זמין במאמר בנושא תצוגות.
כל הערכים בשדה permissionDetails כוללים את השדה inherited עם הערך true, שמציין שההרשאה היא בירושה ושלא ניתנה גישה ישירה לתוכן התיקייה.
כדי להעניק גישה לתוכן ולמטא-נתונים של התיקייה, מגדירים את השדה inheritedPermissionsDisabled לערך false או מעדכנים את התפקיד לערך reader ומעלה.
לבסוף, אם הרשאה הוגבלה בהתחלה על ידי השבתת הירושה בתיקייה (inheritedPermissionsDisabled=true), ואז ההרשאה נוספה בחזרה ישירות לתיקייה, הערכים בגוף התגובה הופכים ל-inheritedPermissionsDisabled=true כשהשדה view לא מוגדר. אם התיקייה נמצאת באחסון שיתופי, לרשימה permissionDetails יש רשומה עם השדה inherited שמוגדר כ-false כדי לציין שההרשאה לא עוברת בירושה. ההרשאה הזו מעניקה גישה לתוכן התיקייה ולמטא-נתונים שלה, כמו כל הרשאה אחרת.
מחיקת תיקיות עם גישה מוגבלת
אפשר למחוק תיקיות עם גישה מוגבלת באמצעות השיטה files.delete() במשאב files.
בתיקיית "האחסון שלי", רק הבעלים של פריט מסוים יכולים למחוק היררכיית תיקיות. אם משתמש מוחק היררכיה עם תיקיות שהגישה אליהן מוגבלת ומישהו אחר הוא הבעלים שלהן, התיקיות האלה עוברות לתיקיית "האחסון שלי" של הבעלים.
אם למשתמש יש תפקיד owner, כל ההיררכיה נמחקת.
בתיקיות באחסון השיתופי, בעלי תפקיד organizer יכולים למחוק היררכיות גם אם הן מכילות תיקיות עם גישה מוגבלת. אם משתמש עם הרשאה fileOrganizer מוחק היררכיה שמכילה תיקיות עם גישה מוגבלת, התוצאה תלויה בשאלה אם הוא נוסף מחדש כמשתמש עם הרשאה fileOrganizer בתיקיות עם הגישה המוגבלת. אם יש לכם גישה לכל התוכן בתיקייה שאתם מוחקים, כל ההיררכיה מועברת לאשפה. אם לא, התיקיות עם הגישה המוגבלת עוברות לתיקיית הבסיס (root) של האחסון השיתופי.