Политики безопасности в Microsoft Dynamics 365

Политики безопасности — фреймворк, появившийся в Microsoft Dynamics AX 2012 и предназначенный для ограничения доступа на основе данных.

Данная статья является частью статьи Безопасность в Microsoft Dynamics 365 и содержит понятие политики и её создание в среде разработки Visual Studio 2015. Так же здесь описываются основные правила Best Practice при создании политики безопасности.

Понятие политики безопасности

Политики (политики безопасности данных или XDS) используются для ограничения данных, которые пользователь может видеть в форме или отчете. С помощью этой функции создается запрос с ограничениями. Затем создается политика безопасности, которая может применяться к роли безопасности.

Эти политики могут ограничивать доступ к данным на основе их даты вступления в силу или же на основе пользовательских данных, таких как территория сбыта или организация, к которой относится пользователь.

Создание политики безопасности

Перед созданием ознакомимся со свойствами политики и ее компонентов:

Primary Table — это любая таблица, которая будет использоваться для ограничения данных в Constrained Table. Это таблица, указанная в запросе политики.

Constrained Table — это таблица, к которой применяется фильтрация данных. Это может быть Primary Table или таблица, связанная с Primary Table.

Запрос политики помогает защитить данные в Constrained Table, определенной в XDS. Он используется для извлечения данных из Primary Table, которая затем используется для ограничения данных в Constrained Table.

Context является наиболее важной частью XDS, без которой политика безопасности не будет применяться. Он определяет контекст, в котором будет применяться политика безопасности. Может иметь три возможных значения:

  • ContextString: определяет контекст приложения, для которого будет включена политика безопасности. Это также называется контекстом приложения.
  • RoleName: определяет, что политика безопасности будет применяться только к определенной роли в приложении.
  • RoleProperty: используется для определения нескольких ролей для одной политики безопасности.

Создание запроса

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

  1. Создать новый Query
  2. Добавить новый источник данных и установить его свойство «Table»
  3. Установить свойство Query «Dynamics» в «Yes»
  4. Добавить Range и настроить его свойства, заполнив поле «Value»

Создание политики

Следующим шагом будет создание самой политики:

  1. Создать новую политику безопасности
  2. Установить свойство «Constrained» в «Yes»
  3. Установить свойство «Primary Table»
  4. Установить свойство «Query»
  5. Установить свойство «Role Name»

Политики безопасности в Microsoft Dynamics 365

Внимание! Политики безопасности не применимы к системным администраторам.
После создания политики необходимо собрать проект и синхронизировать таблицы.
В результате данные таблицы поставщиков стали ограничены по полю группа поставщиков.

Best practice

В связи с большой нагрузкой на систему, для политик существует пара рекомендаций:

  • Следовать Best Practices при разработке запросов SQL. Например, использовать индексы на выражениях объединений.
  • Уменьшить количество объединений в запросе.

Литература

  • Simon Buxton Extending Microsoft Dynamics 365 for Operations Cookbook. — M.:Packt Publishing, 2017 — 442 с. — ISBN 978-1-78646-713-3.

См. также

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar