Несколько ролей в jwt для объединения нескольких наборов разрешений на основе столбцов в Hasura

#hasura

Вопрос:

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

Пользователь может иметь несколько произвольных ролей и нуждается в доступе, соответствующем наборам данных этих ролей. В этом обсуждении https://github.com/hasura/graphql-engine/issues/877 предложите использовать «Унаследованные роли«. Я пробовал, но понимаю, что

  • Нельзя заранее предсказать все комбинации ролей.
  • Система авторизации берет роли пользователей из Active Directory. Поэтому трудно назначить пользователю новые «синтетические»(унаследованные) роли, которые не соответствуют бизнес-процессам компании.

У вас есть какие-нибудь идеи, как решить эти проблемы?