База знаний: параметр «Применить к дочерним папкам» не распространяет права доступа на вложенные папки
Подробности решения
Права доступа родительской папки не распространяются по иерархии
При управлении правами доступа к папкам на панели Explorer в Altium Designer пользователи могут попытаться распространить права доступа родительской папки, включив Apply to Children. Однако права доступа, настроенные для родительской папки, могут не применяться к дочерним папкам и управляемым элементам ожидаемым образом. Это происходит потому, что параметр Apply to Children в Altium Designer устарел и не выполняет необходимое распространение прав доступа.
Кроме того, после использования Enforce inheritance for all child items в веб-интерфейсе Altium 365 в дочерних папках могут по-прежнему отображаться пользователи, группы или права доступа, которые не настроены непосредственно для родительской папки. Это ожидаемое поведение, поскольку наследуемые права доступа добавляются к существующим правам дочерних объектов, а не заменяют их.
Аддитивное наследование не синхронизирует права доступа
При наследовании прав доступа в Altium 365 полный набор прав дочерней папки или элемента не заменяется набором прав родительской папки.
Вместо этого права доступа наследуются по принципу добавления:
Effective Child Permissions = Inherited Parent Permissions + Existing Additional Child Permissions
Например:
Parent Folder
- Инженеры-механики — могут редактировать
- Рецензенты — могут редактировать
Child Folder Before Inheritance
- Инженеры — могут просматривать
После включения наследования итоговые права доступа дочерней папки могут включать:
- Инженеры-механики — унаследованы от родительской папки
- Рецензенты — унаследованы от родительской папки
- Инженеры — существующее дополнительное право доступа сохранено для дочерней папки
Существующее право доступа Engineers сохраняется, а не удаляется.
Набор прав доступа родительской папки передается вложенным объектам, а не заменяет их существующие наборы прав. Все существующие дополнительные права доступа к вложенной папке или управляемому элементу сохраняются.
Таким образом: Permission inheritance should not be interpreted as permission synchronization.
У дочерней папки или элемента может быть больше прав доступа, чем у родительской папки.
В официальной документации Altium также указано, что дополнительные права доступа, заданные на более низком уровне иерархии, продолжают наследоваться на последующих уровнях, не затрагивая существующие права доступа.
Ограничения общего доступа, обусловленные наследованием
Используйте поддерживаемые функции принудительного включения наследования
- Не используйте Apply to Children на панели Explorer в Altium Designer в качестве основного способа распространения прав доступа.
- Используйте Enforce inheritance for all child items в веб-интерфейсе Altium 365.
- Учитывайте, что права доступа наследуются по принципу добавления, поэтому наборы прав родительской и дочерней папок не обязательно будут одинаковыми.
- Если требуются одинаковые настройки прав доступа для родительской и дочерних папок, используйте альтернативную процедуру, описанную далее в этой статье.
Поддерживаемая функция доступна в:
- Folder » Share Folder » Advanced Settings
- Admin » Explorer » Folder Sharing » Advanced Settings
Команда доступна для Workspace Administrators и применяется к папкам.
Она включает Inherit parent folder permissions для всех вложенных объектов выбранной папки, включая дочерние объекты первого, второго, третьего и последующих уровней иерархии.
How “Enforce Inheritance for All Child Items” Works
Команда Enforce inheritance for all child items не копирует список прав доступа родительской папки и не перезаписывает списки прав доступа всех вложенных объектов.
Вместо этого команда включает:
Inherit parent folder permissions
для папок и элементов на всех уровнях вложенной иерархии.
Затем стандартный механизм наследования прав доступа обеспечивает наследование каждым дочерним объектом прав его родительского объекта. Эта функция не запускает процесс замены прав доступа.
Например:
Parent Folder
- Инженеры-механики
- Рецензенты
Child Folder Before Inheritance
- Инженеры
После выполнения Enforce inheritance for all child items:
Child Folder
- Инженеры-механики — унаследованы
- Рецензенты — унаследованы
- Инженеры — существующее право доступа сохранено
Таким образом:
Parent:
Инженеры-механики + Рецензенты
Child Before Inheritance:
Инженеры
Child After Inheritance:
Инженеры-механики + Рецензенты + Инженеры
Это ожидаемый результат.
Наличие Engineers у дочерней папки не означает, что наследование прав доступа не сработало.
Действия по восстановлению и управлению наследованием прав доступа
Method 1 – From Projects
- Войдите в Altium 365 Workspace Web Interface.
- Откройте Projects.
- Выберите нужную родительскую папку.
- Нажмите Share.
- Откройте Advanced Settings.
- Выберите Enforce inheritance for all child items.
- Подтвердите операцию.
Команда включает наследование прав доступа для всех вложенных объектов выбранной папки.
Method 2 – From Admin » Explorer
- Войдите в Altium 365 Workspace Web Interface.
- Перейдите в Admin » Explorer.
- Выберите нужную родительскую папку.
- Откройте настройки общего доступа к папке.
- Выберите Advanced Settings.
- Нажмите Enforce inheritance for all child items.
- Подтвердите операцию.
Expected Results
- Inherit parent folder permissions включается на всех затронутых уровнях вложенной иерархии.
- Права доступа родительской папки наследуются вложенными папками и управляемыми элементами.
- Наследование прав доступа выполняется рекурсивно для дочерних объектов первого, второго, третьего и последующих уровней иерархии.
- Существующие дополнительные права доступа, назначенные дочерним папкам или элементам, сохраняются.
- Наборы прав доступа дочерних объектов не обязательно становятся идентичными набору прав родительской папки.
- Вложенные папки наследуют как минимум права доступа своих родительских папок, сохраняя при этом все дополнительные права, уже назначенные им.
- Пользователи, имеющие доступ через структуру прав родительской папки, получают соответствующий унаследованный доступ к вложенному содержимому.
Эта функция предназначена для восстановления или принудительного включения наследования, а не для синхронизации или полной замены настроек прав доступа каждого вложенного объекта.
Alternative Method to Apply the Exact Parent Folder Permissions to Child Folders
Если требуется, чтобы дочерние папки имели точно такие же права доступа, как родительская папка, без сохранения прав, ранее назначенных непосредственно дочерним папкам, стандартный механизм наследования прав доступа сам по себе не обеспечивает такого поведения.
Команда Enforce inheritance for all child items включает наследование прав доступа по всей иерархии, однако наследование выполняется по принципу добавления.
Поэтому права доступа, уже назначенные дочерней папке и отсутствующие у родительской папки, сохраняются.
Например:
Parent Folder Permissions
- Инженеры-механики
- Рецензенты
Child Folder Existing Permissions
- Инженеры
После использования Enforce inheritance for all child items дочерняя папка может содержать:
- Инженеры-механики
- Рецензенты
- Инженеры
Если требуемый результат выглядит так:
Parent Folder
- Инженеры-механики
- Рецензенты
Child Folder
- Инженеры-механики
- Рецензенты
и ранее назначенное право доступа Engineers должно отсутствовать, можно использовать следующий альтернативный способ.
- Убедитесь, что для каждой затронутой дочерней папки в расширенных настройках включен параметр Inherit permissions from parent folder.
- Создайте Alternate Parent Folder с теми же правами доступа, которые сейчас назначены затронутым дочерним папкам.
- Переместите затронутые дочерние папки в только что созданную Alternate Parent Folder.
- Убедитесь, что дочерние папки корректно наследуют права доступа от альтернативной родительской папки.
- Измените права доступа Alternate Parent Folder так, чтобы они в точности соответствовали требуемым правам исходной родительской папки.
- Убедитесь, что затронутые дочерние папки теперь имеют требуемые настройки прав доступа и что нужные права распространяются по всей затронутой иерархии.
- Переместите затронутые дочерние папки обратно в исходную родительскую папку, убедившись, что Inherit permissions from parent folder остается включенным.
Дополнительные примечания
- Apply to Children в Altium Designer по-прежнему является устаревшей функцией и в настоящее время не выполняет предусмотренное распространение прав доступа.
- Альтернативная процедура не исправляет и не восстанавливает работу Apply to Children.
- Альтернативная процедура позволяет получить настройки прав доступа, которых пользователи ранее могли ожидать от Apply to Children, когда требуется точное совпадение прав родительской и дочерних папок.
- Рекомендуемый на данный момент способ: веб-интерфейс Altium 365 → Enforce inheritance for all child items.