Администрирование

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

Версии

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

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

После того, как все данные успешно пройдут проверку, версию можно зафиксировать. Фиксация версии препятствует дальнейшему изменению модели и позволяет опубликовать ее для зависимых систем с помощью подписок. Как показано на рис. 7-13, можно использовать флаг для указания текущей используемой версии, чтобы системы-подписчики не занимались ее отслеживанием самостоятельно. Если модель требуется изменить, следует создать новую версию, скопировав ранее зафиксированную версию и разрешив пользователям изменять новую копию.

Рисунок 7-13. Версии модели.

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

В MDS используется авторизация на основе ролей, позволяющая настраивать безопасность по функциональным областям и объектам. Например, можно открыть пользователю доступ только к обозревателю диспетчера основных данных, как показано на рис. 7-14, одновременно предоставив другому пользователю доступ только к управлению версиями и интеграцией. Затем в рамках функциональной области следует предоставить пользователю доступ к моделям, чтобы указать, какие данные видит и может изменять пользователь. Пользователю следует предоставить доступ по меньшей мере к одной области и модели, чтобы он мог открыть диспетчер основных данных.

Рисунок 7-14. Разрешения для функциональных областей.

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

Чтобы понять, как в MDS работает безопасность, настроим ее для пользователя и посмотрим, как настройки безопасности влияют на то, что видит пользователь. Как показано на рис. 7-14, пользователь имеет доступ только к обозревателю диспетчера основных данных. Соответственно, это единственная функциональная область, которую пользователь видит при вызове диспетчера, как показано нарис. 7-15. Администратор с полным доступом видел бы при этом на начальной странице все функциональные области.

Рисунок 7-15. Начальная страница диспетчера основных данных в представлении пользователя с разрешениями на доступ только к обозревателю.

Безопасность данных начинается на уровне модели. При запрете доступа к модели пользователь не будет видеть ее в диспетчере. Имея доступ только для чтения, пользователь будет видеть структуру и данные в модели, но не сможет их изменить. Разрешения на изменения позволяют не только просматривать, но и изменять данные. Продолжим пример. На рис. 7-16 показано, что у пользователя есть разрешения на чтение модели Product (обозначаются значком замка), но ему запрещен доступ к прочим моделям (значок остановки). Все это можно видеть в дереве разрешений модели слева. В сводной таблице разрешений справа можно видеть разрешения, назначенные на каждом уровне иерархии модели. Обратите внимание, что пользователь может изменять листовые элементы сущности ProductCategory.

Рисунок 7-16. Пользовательские разрешения для модели.

Имея доступ на чтение модели (за исключением сущности ProductCategory), пользователь может просматривать данные всех прочих сущностей и иерархий, например Color (см. рис. 7-17), но не может изменять их. Обратите внимание на значки замка в столбцах имени и кода таблицы Color в правой части страницы. Они указывают на то, что значения в таблице менять нельзя. Первые две кнопки над таблицей позволяют пользователю с разрешением на изменение добавлять и удалять элементы, но здесь эти кнопки недоступны, так как у пользователя есть только разрешение на чтение. Пользователь также может просматривать иерархию в дереве слева, но серый цвет здесь означает, что пользователь может только просматривать элементы иерархии.

Рисунок 7-17. Эффект разрешения на чтение в иерархии.

У пользователя в нашем примере есть разрешение на изменение сущности ProductCategory, что позволяет изменять все элементы этой сущности. Тем не менее можно задать более детальную структуру безопасности, меняя разрешения отдельных элементов сущности в иерархии. Как показано на рис. 7-18, можно переопределить разрешение на изменение на уровне сущности, указав разрешение только на чтение для избранных элементов. В дереве с левой стороны страницы для элементов, которым назначено разрешение только на чтение, отображается значок замка. Для элементов, которые можно менять, отображается значок карандаша.

Рисунок 7-18. Разрешения для элементов в иерархии.

Говоря более детально, конфигурация безопасности позволяет пользователю менять только категории Bikes и Accessories в группе Retail, но не позволяет менять категории в группе Wholesale. Сначала рассмотрим эффект этих разрешений с точки зрения пользователя на странице ProductCategory (рис. 7-19). Значок замка в первом столбце означает, что категории Components и Clothing изменять нельзя. Тем не менее пользователь может изменять Bikes и Accessories, а также имеет доступ к меню элементов этих категорий. Меню элементов, как показано на рисунке, позволяет изменять и удалять элементы, просматривать транзакции с их участием и добавлять примечания. Более того, пользователь может добавлять в сущность новые элементы.

Рисунок 7-19. Смешанные разрешения сущности.

Наконец, на рис. 7-20 показана страница производной иерархии Category. Вспомним по рис. 7-19, что у пользователя было разрешение на изменение группы Retail. Соответственно, пользователь может менять элемент Retail, но не элемент Wholesale, на что указывает значок замка в таблице ProductGroup. Цвета пунктов в дереве иерархии Category также позволяют понять, какие элементы пользователь может менять. Пользователь может изменять элементы, выделенные черным, а вот серые элементы менять нельзя. Если пользователь выбирает элемент в дереве, в таблице справа отображаются его дочерние элементы, если у пользователя есть соответствующее разрешение.

Рисунок 7-20. Смешанные разрешения в производной иерархии.

Развертывание модели

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

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

Для развертывания пакета следует использовать мастер развертывания пакетов в диспетчере основных данных на конечном сервере. В мастере укажите путь к пакету. Мастер проверит, существует ли на сервере эта модель и версия. Если это так, можно обновить существующую модель, добавив новые элементы и изменив существующие. Также можно создать полностью новую модель, но при этом ее связь с исходной моделью будет безвозвратно утрачена, и последующие изменения исходной модели не удастся реплицировать в копии модели на конечном сервере.