Перенос общих файлов и папок
Реализация
Как описано в API Миграции PRIME, примените общие метаданные с помощью ссылок на элементы. Более старый метод использования столбца Shared With больше не следует использовать.
Для элемента, доступ к которому предоставлен пользователю, добавьте блок SharedWithEvents в блок ListItem . Блок SharedWithEvents представляет собой событие, когда элемент был предоставлен, включая пользователя, который предоставил общий доступ (SharingInitatiorId и SharedById), а также время предоставления общего доступа (SharedTime).
Добавьте блок SharedWithMember для каждого пользователя, которому был предоставлен общий доступ к элементу во время этого вхождения. Все идентификаторы пользователей должны быть допустимыми записями в UserGroup.xml.
<ListItem ParentWebId="79f949a2-f38b-40e3-91ef-ffdbe6214bef"
Id="a4bbc3c7-7ef1-47ef-8451-ea8e1a69cb88"
TimeLastModified="2018-11-06T22:43:49"
TimeCreated="2018-11-06T22:25:32">
<SharedWithEvents>
<SharedWithEvent SharedTime="2018-10-29T04:06:09.1385321Z"
SharingInitiatorId="2"
SharedById="2">
<SharedWithMembers>
<SharedWithMember SharedWithId="1"/>
<SharedWithMember SharedWithId="2"/>
</SharedWithMembers>
</SharedWithEvent>
</SharedWithEvents>
</ListItem>
Рекомендации
Основы
Для каждого файла или папки, к которым был предоставлен общий доступ пользователю в источнике, создайте ссылку на элемент в OneDrive получателя. Каждая созданная ссылка на элемент будет отображаться в представлении "Мне предоставлен доступ " пользователя в OneDrive. Не забудьте предоставить пользователю разрешение на доступ к элементу.
Наследование
Убедитесь, что для общего доступа используется наследование правильно. При создании ссылки на элемент для файла или папки убедитесь, что в родительской папке (или выше) уже создана ссылка на элемент. Если это так, не создавайте другой элемент для дочернего элемента. Это предотвратит появление пользователями повторяющихся элементов в представлении "Мне предоставлен доступ", а также снизит нагрузку на миграцию и службы.
Примере: Если папка является общей и получатель может получить доступ ко всему содержимому папки, ссылка на элемент должна создаваться только для общей папки, но не для ее содержимого. Единственным элементом, который должен отображаться в получателях, которым предоставлен доступ мне , является общая папка.
Это же руководство также следует использовать для разрешений (ACL). Применяйте разрешения только к дочернему элементу, если необходимые разрешения отличаются от его родительского элемента. Убедитесь, что на сайте не превышается 5000 уникальных списков ACL. Может быть полезно проверить, сколько списков ACL вы создаете, и предупредить пользователя перед миграцией. Существует также жесткое ограничение в 50 000 уникальных ACL, которые будут применяться. Если вы приближаетесь к достижению ограничений в 5000, рекомендуется упростить модель разрешений в источнике перед миграцией.
Общий доступ с группами
Для элементов, которыми предоставлен общий доступ группе пользователей в источнике, содержимое может быть перенесено в общую библиотеку (например, сайт группы), к которой всем этим пользователям предоставляется доступ.
Анонимные ссылки общего доступа
Не переносите анонимные ссылки общего доступа из источника; Это не полезно, так как невозможно узнать, какие пользователи использовали эту ссылку в источнике. Пользователи должны оценить, требуются ли анонимные ссылки, и создать новые ссылки в месте назначения, если это так.
Общий доступ с внешними пользователями
Перед началом миграции необходимо убедиться, что все пользователи подготовлены в клиенте клиента. Для пользователей за пределами клиента (т. е. из другой организации) подготовьте их как пользователей службы совместной работы B2B в Azure Active Directory. Это делается в портал Azure следующих действий:
После подготовки внешних пользователей делитесь с ними файлами и папками во время миграции так же, как и внутренние пользователи.
Разрешения и общий доступ
Модель общего доступа на пользователя в SharePoint зависит от разрешений и ссылок на данные "Shared With" для объекта, который считается общим для отдельного пользователя. Если у пользователя есть доступ к содержимому, но нет ссылок "Shared With", он не увидит содержимое в представлении "Мне предоставлен доступ" на сайте OneDrive для бизнеса.
Однако если они указаны в ссылках "Общий с" но не имеют никакого доступа к содержимому, они либо никогда не увидят содержимое в представлении "Общий со мной" на своем сайте OneDrive для бизнеса или при попытке использовать ссылку оттуда ему будет отказано в доступе. Чтобы сохранить сведения о совместном доступе, необходимо правильно задать разрешения и ссылки "Shared With". Разрешения могут быть заданы на разных уровнях иерархии содержимого с помощью областей (уникальных списков ACL), которые применяются к объекту и любому из его дочерних элементов, если у них самих нет уникальных разрешений.
С помощью PRIME содержимое можно перенести с помощью объектов SPFile/SPFolder с библиотекой документов, за которой следуют объекты SPListItem, ссылающиеся на импортированные объекты File/Folder. Во время импорта ListItem можно импортировать данные ссылок Shared With, а затем применить безопасность в том же пакете миграции, настроив области (ACL) и назначения ролей (AES) для иерархии содержимого по мере необходимости.
Миграция разрешений выполняется с помощью объекта DeploymentRoleAssignments с записями RoleAssignment, представляющими определенные области, и записями назначения, представляющими назначения определенных ролей определенным субъектам. Так как этот код нарушает наследование содержимого и применяет указанные назначения ролей, он имеет те же ограничения, что и при использовании других подходов объектной модели к настройке разрешений в SharePoint.
Примечание.
API миграции недоступен пользователям Office 365 под управлением 21Vianet в Китае.