Управляйте папками с ограниченным и расширенным доступом

Каждый пользователь, имеющий доступ к папке, также имеет доступ ко всем элементам внутри этой папки. Это позволяет легко понять, кто имеет доступ к элементам в иерархии, и называется расширенным доступом . Такое поведение доступа существует как в «Моем диске», так и на общих дисках.

После введения папок с ограниченным доступом , они стали единственным исключением, позволяющим ограничить доступ к определенной подпапке как в разделе «Мой диск», так и на общих дисках.

В этом документе объясняется, как управлять папками с ограниченным и расширенным доступом в Google 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 для папок с ограниченным доступом. Если да, то удаляется вся иерархия. В противном случае папки с ограниченным доступом перемещаются в корневую папку общего диска.