Фільтрування безпеки в Microsoft Dataverse (підготовча версія)

[Ця стаття стосується інструкції до попередньої версії, і її буде змінено.]

Безпека на основі власності надає доступ через права власності на записи, команди, бізнес-підрозділи та права на рівні організації. Фільтр на основі безпеки надає доступ через дані записів, які задовольняє умови фільтра. Наприклад, можна надати доступ до записів, стовпець "Місто" яких містить Redmond, Seattle або Bellevue.

Ви можете використовувати фільтрування безпеки з:

  • Відфільтровані таблиці володіння записами.
  • Таблиці володіння записами користувача або групи.
  • Таблиці прав власності на записи організації.

Important

  • Ця функція доступна в межах підготовчої версії.
  • Підготовчі функції призначені для невиробничого використання й можуть бути обмежені. Ці функції доступні до офіційного випуску, щоб клієнти могли ознайомитися з ними заздалегідь і залишити відгуки.

Дізнайтеся, як працює фільтрування системи безпеки

Настроювання безпеки на основі фільтра з двома основними компонентами:

  • Фільтр записів: Програма FetchXML використовується для визначення записів, які матимуть право на доступ.
  • Фільтр записів сутності: Пов'язує фільтр записів із таблицею Dataverse.

Якщо зв'язати фільтр із таблицею, функція Dataverse створює права фільтра. Призначте ці права за допомогою ролей безпеки. Коли користувач має доступ до даних, Dataverse оцінює фільтри з ролей безпеки користувача та членства в групі. Відповідний фільтр надає відповідну операцію доступу до даних.

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

Компоненти безпеки на основі фільтра

Компонент Опис
Фільтр записів Зберігає визначення фільтра FetchXML.
Фільтр записів сутності Пов'язує фільтр записів із таблицею Dataverse.
Права фільтра Надання відфільтрованого доступу для певної операції доступу до даних.
Роль безпеки Призначає права фільтра користувачам і командам.

Dataverse об'єднує всі авторизовані фільтри з ролей безпеки користувача та членства в групі. Запис, який відповідає будь-якому авторизованому фільтру, отримує відповідний доступ.

Порівняння моделей власності

Фільтрування безпеки підтримує всі типи власності Dataverse.

Можливості Користувач або група, що належать У власності організації Відфільтровані права власності
Підтримка власника запису Так Ні Ні
Підтримує призначення Так Ні Ні
Підтримує спільний доступ Так Ні Ні
Підтримка доступу до ієрархії підрозділів Так Ні Ні
Використовує права власності Так Ні Ні
Підтримка доступу для всієї організації За допомогою прав ролі Так За допомогою прав фільтра "Усі записи"
Підтримує захист на основі фільтрів Так Так Так
Використовує лише фільтри для визначення доступу Ні Ні Так
Підтримує перепризначення записів Так Ні Ні
Типові випадки використання Бізнес-партнери, інциденти, потенційні угоди та службові бізнес-дані Спільні довідкові та конфігураційні дані Керування доступом на основі атрибутів, доступ на основі прав, географічна сегментація та класифікація даних

Вибір моделі власності

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

Використовуйте таблиці прав власності на записи організації, коли користувачі широко мають спільний доступ до записів у всій організації та не потребують права власності.

Використовуйте відфільтровані таблиці володіння записами, якщо бізнес-атрибути мають визначати доступ замість права власності. Ця модель добре підходить для керування доступом на основі атрибутів (ABAC), безпеки на основі прав, регуляторних меж і авторизації на основі чутливості.

Примітка.

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

Фільтрування безпеки за допомогою відфільтрованих таблиць власності

Відфільтрований запис – це модель володіння Dataverse, яка повністю визначає доступ за допомогою прав фільтра.

У відфільтрованих таблицях власності не використовуються власники записів.

Відфільтровані таблиці володіння мають такі характеристики:

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

Примітка.

Коли ви створюєте відфільтровану таблицю володіння записом, Dataverse створює глобальні права фільтра "Усі записи " та надає його ролі безпеки системного адміністратора.

Створення відфільтрованої таблиці володіння записами

Створюючи таблицю Dataverse, виберіть Фільтрований як тип власності. Інструкції див. в статті Відфільтровані права власності на записи.

Створивши таблицю, виконайте наведені нижче дії.

  1. Створіть один або кілька фільтрів записів.
  2. Створіть фільтри записів сутності , щоб зв'язати фільтри з таблицею.
  3. Надайте згенеровані права фільтра за допомогою ролей безпеки.
  4. Призначення ролей безпеки користувачам або командам.

Застосування системи безпеки на основі фільтра до таблиць власника записів користувача або групи

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

Права фільтра додають доступ до наявної моделі безпеки на основі права власності:

  • Користувачі продовжують володіти записами.
  • Можна й надалі призначати записи та надавати до нього спільний доступ.
  • Доступ до ієрархії бізнес-одиниць залишається незмінним.
  • Права фільтра надають додатковий доступ на рівні рядків.

Наприклад, продавець може отримати доступ до власних потенційних угод. Фільтр може надати продавцю доступ до додаткових потенційних угод на певній території.

Цей фільтр надає доступ до активних облікових записів на певній території:

<fetch
  version="1.0"
  output-format="xml-platform"
  mapping="logical"
  distinct="false">
  <entity name="account">
    <attribute name="entityimage_url" />
    <attribute name="statecode" />
    <attribute name="name" />
    <attribute name="address1_city" />
    <attribute name="primarycontactid" />
    <attribute name="telephone1" />
    <attribute name="accountid" />
    <attribute name="new_owningbuname" />
    <order attribute="name" descending="false" />
    <filter type="and">
      <condition
        attribute="territoryid"
        operator="eq"
        value="a440958c-f6bc-f111-aaad-000d3a84e349" />
      <condition
        attribute="statecode"
        operator="eq"
        value="0" />
    </filter>
  </entity>
</fetch>

У наведеному нижче прикладі link-entity використовується, щоб надати продавцю доступ до активних облікових записів, які належить колезі, який вони охоплюють для:

<fetch
  version="1.0"
  output-format="xml-platform"
  mapping="logical"
  distinct="true">
  <entity name="account">
    <attribute name="entityimage" />
    <attribute name="statecode" />
    <attribute name="name" />
    <attribute name="parentaccountid" />
    <attribute name="ownerid" />
    <attribute name="telephone1" />
    <attribute name="emailaddress1" />
    <attribute name="accountid" />
    <order attribute="name" descending="false" />
    <filter type="and">
      <condition
        attribute="statecode"
        operator="eq"
        value="0" />
    </filter>
    <link-entity
      name="crcd8_buddyrm"
      alias="buddy"
      link-type="inner"
      from="crcd8_rm"
      to="ownerid">
      <filter type="and">
        <condition
          attribute="crcd8_buddyrmname"
          operator="eq-userid" />
        <condition
          attribute="statecode"
          operator="eq"
          value="0" />
      </filter>
    </link-entity>
  </entity>
</fetch>

Ефективний доступ

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

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

Ця додаткова модель дає змогу вводити доступ на основі атрибутів, зберігаючи наявні правила доступу.

Докладні відомості про безпеку власності див. в статті Право власності та доступ до записів.

Застосування безпеки на основі фільтра до таблиць власника записів організації

Крім того, до таблиць власників записів організації можна застосувати фільтрну безпеку.

Стандартні права для таблиці володіння записами організації надають доступ до всіх записів у таблиці. Права фільтра дають змогу надати доступ до відповідних записів. Вони не зменшують ширший доступ, який вже надає роль безпеки.

До поширених сценаріїв належать:

  • Доступ на території.
  • Доступ на основі відділу.
  • Елементи керування класифікацією даних.
  • Спільні довідкові дані з областями видимості.

Наприклад, надайте користувачам доступ до записів, стовпець "Територія" яких відповідає певному регіону. Переконайтеся, що їхні інші права на роль безпеки не надають ширший доступ до однієї таблиці.

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

Докладні відомості про таблиці володіння записами організації див. в статті Право власності на записи та доступ до них.

Права фільтра

Якщо зв'язати фільтр записів із таблицею за допомогою фільтра записів сутності, функція Dataverse створює права фільтра. Призначте ці права за допомогою ролей безпеки.

Права фільтра підтримують такі операції доступу до даних:

  • Творити.
  • Читання.
  • Записування.
  • Видалити.
  • Додати.
  • Додати до.

Кожне право пов'язано з певним фільтром і певною таблицею.

У наведеному нижче прикладі наведено права для кількох міських фільтрів:

Фільтр Привілей
Місто = Редмонд Прочитане
Місто = Редмонд Записування
Місто = Редмонд Видалити
Місто = Сіетл Прочитане
Місто = Белвюе Прочитане

За потреби створіть кілька фільтрів і призначте різні права для кожної ролі безпеки.

Надання прав фільтра в ролях безпеки

Керуйте правами фільтра за допомогою ролей безпеки Dataverse.

Щоб надати відфільтрований доступ:

  1. Відкрийте роль безпеки.
  2. Виберіть цільову таблицю.
  3. Виберіть право фільтра.
  4. Надайте право на роль.
  5. Призначте роль користувачам або командам.

Користувачі отримують усі права фільтра від призначених їм ролей безпеки та членства в групі.

Детальніше дивіться у розділі «Ролі та привілеї безпеки».

Приклад

Припустімо, що таблиця "Клієнт" містить стовпець "Місто".

Створити три фільтри записів:

  • Місто = Редмонд.
  • Місто = Сіетл.
  • City = Bellevue.

Зв'язування кожного фільтра записів із таблицею "Клієнт" за допомогою фільтрів записів сутності.

Створіть три ролі безпеки:

Роль Права фільтра
Продажі в Редмонді Читати клієнт, де City = Redmond
Продаж у Сіетлі Читати клієнт, де місто = Сіетл
Продажі Бельвю Читати клієнт, де місто = Bellevue

Кожна роль надає доступ до записів клієнтів, які відповідають його фільтру. Користувачі можуть мати ширший доступ до інших ролей, членства в групі, права власності або спільного доступу.

Загальні відомості

Фільтр на основі безпеки надає доступ на рівні рядків на основі значень даних. Використовуйте фільтри записів, фільтри записів сутностей, права фільтрування та ролі безпеки для впровадження елемента керування доступом на основі атрибутів у Dataverse.

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

Наступні кроки