Управление хранилищем PrincipalObjectAccess

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

Для управления этой совместной работой на уровне записей и предоставления пользователям доступа к общим записям все общие записи и их разрешения хранятся в таблице PrincipalObjectAccess (POA). Всякий раз, когда пользователи пытаются получить доступ к записи, которой они не владеют или для которой не имеют соответствующей привилегии в своей роли безопасности, система проверяет таблицу POA, чтобы авторизовать доступ пользователя.

Источники POA

В следующих темах описаны настройки или использование, которые создают записи POA, поскольку они позволяют совместно использовать записи. Настройки следует пересмотреть и соответствующим образом обновить, чтобы избежать чрезмерного общего доступа и увеличения объема хранилища POA.

Совместно использовать переназначенные записи с исходным владельцем

По умолчанию для параметра Определить, следует ли совместно использовать переназначенные записи с исходным ответственным задано значение Нет. В этом случае первоначальный владелец записи больше не имеет доступа к записи, когда право собственности на запись переназначается другому пользователю. Если для этого параметра установлено значение Да, запись создается в таблице POA всякий раз, когда пользователь назначает запись другому пользователю или группе. Первоначальный владелец автоматически добавляется как Предоставить доступ.

Управление хранилищем PrincipalObjectAccess.

Группы доступа

Когда группа доступа используется для совместной работы с записями, записи создаются в таблице POA всякий раз, когда пользователь добавляется в группу доступа. Существует два типа групп доступа:

  • Управляется системой: они создаются с помощью шаблонов и встраиваются в форму, чтобы пользователь мог легко управлять списком участников. Система автоматически создает группу доступа для совместно используемой записи. Например, у учетной записи №1 есть группа доступа, отличная от учетной записи №2.

  • Добавлено вручную: это группы с индивидуальным доступом, в которых администратор/владелец группы управляет списком участников команды.

Прямое предоставление общего доступа

  • Когда пользователь явно делится записью с другим пользователем, запись создается в таблице POA.

Непрямое предоставление общего доступа

  • Когда пользователь предоставляет общий доступ к записи рабочей группе, доступ к ней опосредованно предоставляется всем участникам рабочей группы.

  • Косвенное совместное использование также происходит с записью, которая имеет отношение каскадного совместного использования, или с таблицей с отношением родитель-потомок. Когда общий доступ к родительской записи предоставляется пользователю или группе, этот пользователь или группа имеет доступ ко всем каскадным или дочерним записям. Все эти разрешения на доступ к дочерним записям создаются в таблице POA.

    Пример отношения таблиц

    Таблица может иметь отношения с другими таблицами (например, организация к обращению). По умолчанию отношение параметра Переподчинение установлено на Каскад для всех. Все связанные подзаписи доступны владельцу родительской записи.

    Например: пользователь №1 владеет учетной записью №1. Пользователь №1 поделился учетной записью №1 с пользователем №2. Пользователь №2 создает дело №1 под учетной записью №1. С готовыми параметрами переподчинения пользователь №1 имеет доступ к обращению №1. Все эти разрешения пользователя фиксируются в таблице POA.

Предоставление доступа к источнику

API-интерфейс RetrieveAccessOrigin можно использовать для определения источника доступа пользователя или рабочей группы к определенной таблице. Для API-интерфейса требуются objectId, logicalName и principalId в запросе, а ответ представляет собой строку, описывающую, где был получен доступ к таблице.

Управление ростом таблицы POA

  • Оцените потребности вашего бизнеса и включите Определить, следует ли совместно использовать переназначенные записи с исходным ответственным, где нужно. Обратите внимание, что это настройка действует во всей системе. После его включения параметр применяется ко всем записям.
  • Поделитесь с пользователями для совместной работы, если список пользователей не совпадает в разных записях, которыми вы поделились.
  • Используйте рабочую группу в качестве владельца записи, если вы часто делитесь записями с одним и тем же списком пользователей или делитесь записью с рабочей группой.
  • Если у вас сложная структура бизнес-подразделения и вы часто используете общий доступ:
    • Предоставляйте общий доступ только там, где это необходимо.
    • Сведите к минимуму количество бизнес-подразделений.
    • Убедитесь, что пользователи размещены в соответствующем бизнес-подразделении.
    • Поделитесь с рабочей группой, чтобы разрешить пользователям из разных бизнес-подразделений доступ к записям.
  • Когда запись может быть доступна нескольким группам доступа, — например, группа торговых представителей, которая может только читать запись, и другая рабочая группа менеджеров по продажам, которая имеет полный доступ для чтения и записи, — рассмотрите возможность использования разных форм на основе ролей для торгового представителя и менеджера по продажам.
  • Управляйте жизненным циклом участников вашей группы доступа. Удалите пользователей, которые больше не нужны для совместной работы.
  • Удалите всех участников группы доступа, когда совместная работа будет завершена.

Удаление записей POA

Таблица POA управляется системой, чтобы обеспечить надлежащий доступ пользователей или рабочих групп к соответствующим записям. Прямое удаление в этой таблице не поддерживается, так как это может нарушить модель безопасности, определенную для организации. Правильный способ очистить таблицу POA — настроить модель безопасности и отозвать ранее предоставленный доступ.

Руководства по устранению неполадок

Когда каскадная конфигурация отношений между таблицами меняется с Переподчинение или Общий доступ на Не передавать, используйте эту статью, чтобы очистить унаследованный доступ. Это удалит ненужные записи POA. Дополнительные сведения: Порядок очистки унаследованного доступа.

Очистка унаследованных прав доступа — это системное задание, которое очищает устаревшие унаследованные права доступа, которые остаются после изменения каскадного поведения на Без каскадных. Дополнительные сведения: Очистка унаследованных прав доступа

Чтобы узнать, был ли предоставлен доступ пользователю на основании POA, см. раздел Определение причины наличия доступа у пользователя.

См. также

Емкость хранилища Dataverse