Иерархическая безопасность для контроля доступа

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

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

Модели безопасности "иерархия руководителей" и "иерархия должностей"

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

Заметка

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

Иерархия руководителей

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

Заметка

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

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

ManagersMustBeInSameOrParentBusinessUnitAsReports

Значение по умолчанию = True

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

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

Для непрямого подчиненного в той же цепочке управления руководителя руководитель имеет доступ только для чтения к данным непрямого подчиненного. В отношении непосредственного подчиненного руководитель имеет доступ на чтение, запись, добавление и добавление к данным подчиненного. В качестве иллюстрации модели безопасности "иерархия руководителей" рассмотрим следующую схему. Генеральный директор может читать или обновлять данные вице-президента по продажам и данные вице-президента по обслуживанию. Однако генеральный директор может только читать данные менеджера по продажам и менеджера по обслуживанию, а также данные специалистов отделов продаж и поддержки. Объем данных, доступных руководителю, можно дополнительно ограничить глубиной. Глубина используется, чтобы ограничить число уровней, на которых руководитель имеет доступ только на чтение к данным своих подчиненных. Например, если глубина установлена равной 2, исполнительный директор может видеть данные вице-президента по продажам, вице-президента по обслуживанию, а также менеджеров по продажам и по обслуживанию. Однако данные специалистов отдела продаж или отдела поддержки исполнительный директор не видит.

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

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

  • В одном подразделении имеется 3 пользователя: пользователь 1, пользователь 2 и пользователь 3.

  • Пользователь 2 — это подчиненный пользователя 1.

  • Пользователь 1 и пользователь 3 имеют доступ на чтение к таблице "Организация" на уровне пользователя. Этот уровень доступа предоставляет пользователям доступ к принадлежащим им записям, записям, к которым пользователю предоставлен общий доступ, а также записям, к которым общий доступ предоставлен рабочей группе, в которую входит пользователь.

  • Пользователь 2 имеет доступ на чтение к сущности "Организация" на уровне таблицы. Этот доступ позволяет пользователю 2 просматривать все организации для подразделения, включая все организации, которыми владеют пользователь 1 или пользователь 3.

  • Пользователь 1 как непосредственный руководитель пользователя 2 имеет доступ к организациям, которыми владеет или к которым имеет общий доступ пользователь 2, включая организации, к которым имеет общий доступ или которыми владеют другие рабочие группы пользователя 2. Однако пользователь 1 не имеет доступ к организациям пользователя 3 несмотря на то, что его прямой подчиненный может иметь доступ к организациям пользователя 3.

Иерархия должностей

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

В качестве иллюстрации прямого пути наследования рассмотрим следующую схему. Должность "менеджер по продажам" имеет доступ к данным сотрудников отдела продаж, однако не имеет доступа к данным сотрудников отдела поддержки, которые находятся в другом пути наследования. То же самое справедливо для должности "менеджер по обслуживанию". Она не имеет доступа к данным сотрудников отдела продаж, которые находятся в пути наследования "Продажи". Как и в случае с иерархией руководителей объем данных, доступных более высоким должностям, можно ограничить глубиной. Глубина ограничивает число уровней, на которых более высокая должность имеет доступ только на чтение к данным более низких должностей в прямом пути наследования. Например, если глубина установлена равной 3, должность "исполнительный директор" может видеть данные всех сотрудников от вице-президентов по продажам и по обслуживанию до сотрудников отделов продаж и поддержки.

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

Заметка

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

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

Настройка иерархической безопасности

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

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

  1. Выберите среду и перейдите Настройки>Пользователи и разрешения>Иерархическая безопасность.

  2. В разделе Модель иерархии выберите Включить модель иерархии менеджеров или Включить модель иерархии должностей, в зависимости от ваших требований.

    Внимание

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

    В области Управление таблицами иерархии для всех системных таблиц по умолчанию включена иерархическая безопасность, но вы можете исключить отдельные таблицы из иерархии. Чтобы исключить определенные таблицы из модели иерархии, снимите флажки для таблиц, которые вы хотите исключить, и сохраните изменения.

    Снимок экрана страницы «Безопасность иерархии» в настройках сред.

  3. Установите параметр Глубина равным желаемому количеству уровней, на которых руководитель имеет доступ только на чтение к данным своих подчиненных.

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

    Снимок экрана, на котором показан доступ на чтение для вице-президента по продажам и других должностей.

    Заметка

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

  4. В разделе Управление таблицами иерархии все системные таблицы по умолчанию включены для обеспечения безопасности иерархии. Чтобы исключить определенную таблицу из модели иерархии, снимите флажок рядом с именем таблицы и сохраните изменения.

    Снимок экрана, на котором показано, где настроить безопасность иерархии в настройках нового современного пользовательского интерфейса.

    Важно

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

Настройка иерархий руководителей и должностей

Иерархию руководителей легко создать с использованием отношения с руководителем в записи пользователя системы. Поле поиска "Руководитель" (ParentsystemuserID) используется для задания руководителя пользователя. Если вы создали иерархию должностей, вы также можете пометить пользователя определенной должности в иерархии должностей. В следующем примере сотрудник отдела продаж является подчиненным менеджера по продажам в иерархии руководителей, а также имеет должность сотрудника отдела продаж в иерархии должностей:

Снимок экрана, на котором показана запись пользователя-продавца.

Чтобы добавить пользователя в определенную должность в иерархии должностей, используйте поле поиска Должность в форме записи пользователя, как показано ниже.

Внимание

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

Снимок экрана, показывающий, как добавить пользователя на должность в иерархической безопасности

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

Изменение положения в системе иерархической безопасности

Чтобы создать иерархию должностей:

  1. Выберите среду и перейдите Настройки>Пользователи и разрешения>Должности.

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

    Активные положения в иерархической безопасности

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

    Снимок экрана, на котором показаны активированные пользователи с назначенными должностями.

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

Менеджеры могут видеть записи своих непосредственных подчиненных об отключенном статусе для сред, где иерархическая безопасность включена после 31 января 2024 г. В других средах записи об отключенном статусе непосредственного подчиненного не включаются в представление менеджера.

Чтобы включить записи об отключенном статусе непосредственных подчиненных:

  1. Установите инструмент OrganizationSettingsEditor.
  2. Обновите параметр AuthorizationEnableHSMForDisabledUsers на true.
  3. Отключите моделирование иерархии.
  4. Включите его снова.

Чтобы исключить записи об отключенном статусе непосредственных подчиненных:

  1. Установите инструмент OrganizationSettingsEditor.
  2. Обновите параметр AuthorizationEnableHSMForDisabledUsers на false.
  3. Отключите моделирование иерархии.
  4. Включите его снова.

Заметка

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

Замечания, связанные с быстродействием

Для повышения быстродействия рекомендуется:

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

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

См. также

Безопасность в Microsoft Dataverse
Запрос и визуализация иерархических данных