Безопасность на уровне полей для контроля доступа

Заметка

Если вы включили режим Только единый интерфейс, перед выполнением описанных в этой статье процедур сделайте следующее:

  1. Выберите Настройки (Значок шестеренки.) на панели навигации.
  2. Выберите Дополнительные параметры.

    Дополнительные параметры.

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

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

  • Запросы доступа к данным из клиентского приложения, например веб-браузера, мобильного клиента или Microsoft Dynamics 365 for Outlook.

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

  • Создание отчетов (с использованием отфильтрованных представлений)

Обзор безопасности на уровне полей

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

  1. Включите безопасность полей для одного или нескольких полей для заданной сущности.

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

Профиль безопасности определяет следующее.

  • Разрешения на безопасные поля

  • Пользователи и группы

    Можно настроить профиль безопасности, чтобы предоставить пользователю или участникам группы следующие разрешения на уровне поля:

  • Чтение. Доступ к данным поля с возможностью только чтения.

  • Создание. Пользователи или группы в этом профиле могут добавлять сведения в это поле при создании записи.

  • Обновление. Пользователи или группы в этом профиле могут обновлять данные поля после создания.

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

Внимание

Только пользователи Customer Engagement (on-premises) с ролью безопасности "Системный администратор" имеют доступ к этому полю, если только один или несколько профилей безопасности не назначены полю с включенной безопасностью.

Пример ограничения поля мобильного телефона для сущности "Контакт"

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

Пользователь или рабочая группа Доступ
Вице-президенты Полный. Можно создавать, обновлять и просматривать номер мобильного телефона контакта.
Менеджеры по продажам Только чтение. Можно только просматривать номера мобильного телефона контакта.
Продавцы и все остальные пользователи Customer Engagement (on-premises) Нет. Невозможно создавать, обновлять или просматривать номер мобильного телефона контакта.

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

Обеспечьте защиту поля.

  1. Перейдите в раздел Параметры>Настройки.

  2. Щелкните Настроить систему.

  3. Выберите Сущности>Контакт>Поля.

  4. Щелкните mobilephone и щелкните Изменить.

  5. Рядом с Безопасность поля щелкните Включить, затем щелкните Сохранить и закрыть.

  6. Опубликуйте настройку.

Настройте профили безопасности.

  1. Создайте профиль безопасности поля для продавцов.

    1. Перейдите в раздел Параметры>Безопасность.

    2. Щелкните Профили безопасности полей.

    3. Щелкните Создать введите название, например Мобильный телефон контакта для доступа продавца, и щелкните Сохранить.

    4. Щелкните Пользователи, затем Добавить, выберите пользователей, которым требуется предоставить доступ на чтение к номеру мобильного телефона в форме контакта, и щелкните Добавить.

      Совет

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

    5. Щелкните Поле разрешений, щелкните mobilephone, затем щелкните Изменить, выберите Да рядом с Разрешить чтение и щелкните ОК.

  2. Создайте профили безопасности полей для вице-президентов.

    1. Щелкните Создать, введите название, например Мобильный телефон контакта для доступа вице-президента, и щелкните Сохранить.

    2. Щелкните Пользователи, затем Добавить, выберите пользователей, которым требуется предоставить полный доступ к номеру мобильного телефона в форме контакта, и щелкните Добавить.

    3. Щелкните Поле разрешений, щелкните mobilephone, затем щелкните Изменить, выберите Да рядом с Разрешить чтение, Разрешить обновление и Разрешить создание, а затем щелкните ОК.

  3. Щелкните Сохранить и закрыть.

Любые пользователи Customer Engagement (on-premises), не определенные в ранее созданных профилях безопасности полей, не будут иметь доступ к полю мобильного телефона в контактных формах или представлениях. Значение поля отображается как Значок замка для Dynamics 365 for Customer Engagement. ********, что означает, что поле защищено.

Какие поля можно защитить?

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

Безопасность поля включена.

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

  • ownerid, processid, stageid, accountid, contactid
  • createdby, modifiedby, OwningTeam, OwningUser
  • createdon, EntityImage_Timestamp, modifiedon, OnHoldTime, overriddencreatedon
  • statecode, statuscode

Для просмотра метаданных сущностей для вашей организации, включая информацию о том, какие поля могут быть включены для обеспечения безопасности полей, путем установки решения для браузера метаданных, описанного в Просмотр метаданных вашей организации. Также метаданные ненастроенной организации можно просмотреть в файле Office Excel под именем EntityMetadata.xlsx, включенном в папку верхнего уровня в загрузке пакета SDK. Загрузите пакет SDK приложений Microsoft Dynamics 365 for Customer Engagement

Рекомендации по использованию безопасности полей

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

Некоторые данные, например адреса, фактически состоят из нескольких полей. Поэтому для обеспечения полной безопасности данных с несколькими полями, например адресов, необходимо защитить и настроить соответствующие профили безопасности полей для нескольких полей сущности. Например, чтобы полностью защитить адреса сущности, нужно обеспечить безопасность всех соответствующих полей адреса, таких как address_line1, address_line2, address_line3, address1_city, address1_composite и т. д.

См. также

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