Безопасность в Microsoft Dynamics 365

Безопасность — является одной из задач разработки, заключающаяся в создании элементов контроля доступа и их распределении.

Данная статья является основной для безопасности в Microsoft Dynamics 365 (далее D365) и содержит понятие безопасности, её элементы и их краткое описание.

Безопасность в D365

Безопасность в D365 реализована на основе ролей. В обеспечении безопасности на основе ролей доступ не предоставляется отдельным пользователям, а только к ролям безопасности. Пользователям назначаются роли. Пользователь, которому назначена роль безопасности, имеет доступ к набору привилегий, связанных с этой ролью. Пользователь, который не назначен какой-либо роли, не имеет привилегий.

В D365 защита на основе ролей согласовывается со структурой бизнеса. Пользователям назначаются роли безопасности на основе их обязанностей в организации и их участия в бизнес-процессах. Администратор предоставляет доступ к обязанностям, которые выполняют пользователи в роли, а не к элементам программы, которые пользователи должны использовать.
Application Explorer Security

Отличия безопасности DAX2012 и D365

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

  1. Одним из отличий D365 от DAX2012 являются точки входа. В DAX2012, если роль безопасности, которая требует доступа на чтение к таблице или элементу меню в одной привилегии, а разрешения удаления — в другом месте формы и в другой привилегии, DAX2012 предоставлял ей доступ к форме независимо от того, с помощью какой привилегии пользователь открыл форму. Теперь в D365, если пользователь пришел из элемента меню с разрешением на чтение, удаление будет проигнорировано.
  2. Циклы процесса были удалены из D365 в виду неиспользования и устаревания безопасности на уровне записей.
  3. Ранее, в DAX2012, все объекты безопасности были сохранены в AOT в качестве метаданных, даже если они были созданы с помощью пользовательского интерфейса. Теперь из-за платформы .NET генерирование сборок из пользовательского интерфейса невозможно, и элементы безопасности сохраняются как данные, а не как объекты.

Безопасность. Role-based security

Элементы контроля доступа

Разрешения

Разрешения группируют защищаемые объекты и уровни доступа, которые необходимы для выполнения той или иной функции. Каждая функция в D365, например, форма или служба, доступна через точку входа. Элементы меню, элементы веб-контента и операции обслуживания в совокупности называются точками входа. Сюда входят любые таблицы, поля, формы или серверные методы, к которым осуществляется доступ через точку входа.

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

Привилегии

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

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

Обязанности

Обязанность – это группа привилегий или задач, которая соответствует части бизнес-процесса.

Обязанность может быть назначена более чем одной роли. Также возможно назначать связанные обязанности для разделения ролей. Эти обязанности считаются разделенными.

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

Роли

Роли безопасности, определяют обязанности, которые может выполнять пользователь, и части пользовательского интерфейса, которые пользователь может просматривать. Таким образом доступ предоставляется не отдельным пользователям, а ролям безопасности. Поэтому для доступа к D365 всем пользователям должна быть назначена хотя бы одна роль безопасности.

Роли безопасности могут быть организованы в иерархию. Иерархия ролей позволяет администратору определять роль, основанную на другой роли.

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

Циклы процесса

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

В контексте модели контроля доступа циклами процесса являются бизнес-процессы. Данные процессы призваны помочь обязанности, которые должны быть назначены ролям, эти обязанности сгруппированы по бизнес-процессам, к которым они относятся.

В связи с устареванием распределения доступа на уровне записей и неиспользованием циклов процесса, они были удалены из структуры контроля доступа в D365.

Политики

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

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

Примечания

  1. Security and data entities
  2. Security architecture

Литература

  • 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