Розуміння Ролей

Мова: Українська
Цю статтю перекладено з англійської за допомогою ШІ, тому вона може містити помилки. Ваші відгуки допоможуть нам її покращити.

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

У цій статті ви можете дізнатися про ключові поняття та побачити приклади того, як можна використовувати Ролі для визначення дозволів користувачів.

Ключові поняття

Ресурси

Ресурси — це Форми, папки, звіти та Бази даних в ActivityInfo.

Операції

Операції — це будь-які дії, що виконуються над ресурсами та користувачами, наприклад:

  • Дозволи на рівні записів, такі як перегляд, додавання, редагування або видалення записів.
  • Дозволи, пов'язані з операціями, такі як управління користувачами, додавання або редагування форм та управління блокуваннями.

Щоб дізнатися більше про всі можливі операції в ActivityInfo, перегляньте повний список операцій.

Гранти

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

Гранти успадковуються всіма вкладеними ресурсами. Грант, застосований до папки, застосовує налаштування до всіх форм/папок у цій папці, тоді як грант, застосований до всієї бази даних, застосовує налаштування до всіх ресурсів у цій базі даних. Успадковані гранти також можна «перевизначити» для вкладеного ресурсу, застосувавши до нього новий грант, якщо це необхідно.

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

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

Необов'язкові гранти

Грант можна встановити як необов'язковий, що означає, що ви можете вибрати, чи увімкнути грант для кожного користувача, якого ви запрошуєте до своєї бази даних.

Умови

Умови дозволяють визначати правила, які встановлюють, над якими записами користувач може виконувати операції. Правила завжди виражаються у вигляді формули, яка повертає значення ІСТИНА або ХИБНІСТЬ. Конструктор правил допомагає писати найпоширеніші види формул, зокрема для визначення того, чи:

  • Запис пов'язаний з параметром
  • Конкретне поле відповідає вказаному значенню або набору значень
  • Запис призначено користувачу

Однак ви завжди можете використовувати редактор формул для написання власних формул, зокрема тих, що посилаються на пов'язані поля або підзаписи.

Наприклад, ви хочете обмежити видимість записів, що стосуються неповнолітніх, лише для уповноваженого персоналу. У вашій формі «Справа» є поле з назвою «ВІК». Створивши умову з правилом, де операція «ПЕРЕГЛЯД» дозволена лише тоді, коли формула «ВІК>18» має значення ІСТИНА, ви гарантуєте, що користувачі, до яких застосовується ця умова, зможуть переглядати лише ті записи, де значення в полі «ВІК» більше ніж 18.

Кілька правил можна об'єднати в одну умову для конкретної операції, і ви можете вирішити, чи всі правила є обов'язковими для виконання умови. Крім того, ви можете встановлювати різні умови для різних операцій. Наприклад, ви можете визначити умову, яка дозволяє користувачеві ПЕРЕГЛЯДАТИ всі записи у формі, та іншу умову, яка дозволить користувачам РЕДАГУВАТИ лише ті записи, які їм призначені.

Параметри

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

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

Параметри потім можна використовувати як частину правила в умові для визначення набору записів, над якими дозволені операції. Коли параметри використовуються в умові, ви обмежуєте записи, над якими користувач може виконувати дії, тими записами, що посилаються на конкретне значення параметра, призначене користувачеві. Наприклад, якщо користувачеві було призначено значення «Захід» для параметра «Регіони», то можна налаштувати умову, яка дозволить цьому користувачеві ДОДАВАТИ лише записи, пов'язані з регіоном «Захід».

ВАЖЛИВО: Щоб увімкнути умови на основі параметрів, ваша форма повинна мати поле посилання, що вказує на форму, яка містить можливі значення параметра. Якщо у вас є роль, де ви вмикаєте умови для операцій на рівні записів, що залежать від параметра, користувачі, яким призначено цю роль, не зможуть виконувати ці операції на рівні записів у формах, які не мають поля посилання, що вказує на форму, яка містить можливі значення параметра.

Роль

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

Скільки Ролей мені потрібно?

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

Ви можете використовувати Гранти та Параметри, щоб забезпечити гнучкість у тому, які дії можуть виконувати різні користувачі, і звести кількість Ролей, які вам потрібно створити, до мінімуму. Наприклад, замість того, щоб створювати окрему роль для кожного з ваших партнерів, що звітують (що буде складно в управлінні, якщо їх багато), ви можете створити єдину роль під назвою «Партнер, що звітує», яка має Параметр «Партнер». Параметр «Партнер» потім можна використовувати як частину Умови, щоб гарантувати, що ваші партнери, що звітують, можуть виконувати дії лише із записами, пов'язаними з їхньою власною організацією.

У деяких випадках бази даних організовані за папками за кластерним принципом або за типами програм. У випадку гуманітарної координації, наприклад, у вас можуть бути папки для секторів «Охорона здоров'я», «Водопостачання, санітарія та гігієна» (WASH) та «Непродовольчі товари» (NFI). У вас також може бути три різні ролі залежно від функції особи в кластері, наприклад, «Керівник кластера», «Інформаційний менеджер кластера» та «Член кластера». Щоб уникнути створення 3 x 3 = 9 ролей, таких як «Член кластера охорони здоров'я», «Член кластера WASH» тощо, ви можете використовувати необов'язкові Гранти, щоб мати лише три ролі. Коли ви призначаєте роль «Член кластера» користувачеві, ви також обираєте, до яких ресурсів конкретного сектора ви надаєте йому доступ.

Ця діаграма ілюструє зв'язки між різними поняттями, що стосуються дозволів. Ролі можуть мати кілька грантів, які дозволяють доступ до різних ресурсів у вашій базі даних. Кожен грант визначає дозволені операції для вибраного ресурсу. Операції на рівні записів можуть мати прикріплені до них умови. Нарешті, ролі можуть мати визначені кілька параметрів, які потім можна застосовувати в умовах у різних грантах за потреби.

Приклади

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

Обмеження доступу до записів на основі Параметра

Сценарій

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

Роль

Ви створюєте єдину роль під назвою «Співробітник програми».

Параметри

У ролі «Співробітник програми» ви створюєте параметр під назвою «Регіон», який вказує на довідкову форму «Регіони», що містить наступні можливі значення: «Північ», «Схід», «Південь» та «Захід».

Гранти

Ви вказуєте, що цій ролі «Співробітник програми» слід надати доступ до форми «Реєстр бенефіціарів», де ви вибираєте «Переглянути записи», «Додати записи» та «Редагувати записи» як дозволені операції.

У цьому гранті ви додаєте умову з правилом, згідно з яким операції ПЕРЕГЛЯДУ, ДОДАВАННЯ та РЕДАГУВАННЯ дозволені лише для записів, які пов'язані з призначеним користувачеві значенням параметра «Регіон».

Таким чином, користувачі, яким призначено роль «Співробітник програми» та надано значення параметра «Регіон» як «Північ», зможуть переглядати, додавати та редагувати записи у формі «Реєстр бенефіціарів» лише там, де поле «Регіон» встановлено на «Північ».

Обмеження доступу до записів на основі кількох умов

Сценарій

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

Роль

Ви створюєте єдину роль для всіх партнерів і називаєте її «Партнер, що звітує».

Параметри

Ви визначаєте два параметри — один для «Партнера», що вказує на ваш список партнерських організацій, та інший для «Сектора», що вказує на ваш список секторів (наприклад, «Охорона здоров'я», «Освіта», «WASH»).

Гранти

Ви вказуєте, що цій Ролі слід надати доступ до форми «Діяльність», де ви вибираєте «Переглянути записи», «Додати записи» та «Редагувати записи» як дозволені операції.

Потім ви додаєте дві умови в межах цього Гранту:

  • Умова 1: ПЕРЕГЛЯДАТИ лише ті записи, де поле «Сектор» відповідає призначеному користувачеві значенню параметра «Сектор»
  • Умова 2: ДОДАВАТИ та РЕДАГУВАТИ лише ті записи, де поле «Партнер» відповідає призначеному користувачеві значенню параметра «Партнер»

Обмеження доступу до записів на основі призначеного користувача

Сценарій

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

Роль

Ви створюєте єдину роль під назвою «Соціальний працівник».

Гранти

Ви вказуєте, що ця роль повинна мати доступ до форми «Справи», де ви вибираєте «Переглянути записи», «Додати записи» та «Редагувати записи» як дозволені операції.

У цьому гранті ви додаєте умову з правилом, згідно з яким операції ПЕРЕГЛЯДУ, ДОДАВАННЯ та РЕДАГУВАННЯ дозволені лише для записів, які призначені користувачеві. Для цієї ролі ви додасте ще одну умову з формулою за допомогою конструктора правил. Це створить правило з формулою, яка дозволяє зіставляти конкретні записи з поточним користувачем. Ви виберете умову «Запис призначено користувачу» і за допомогою формули призначите «Соціальний працівник == @user».

З цією роллю соціальні працівники зможуть отримувати доступ та взаємодіяти лише із записами, що належать до призначених їм справ.

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

Наступний елемент
Розуміння дозволів