Авторизация

Authorization

access-rights

Авторизация — это процесс проверки прав доступа пользователя к определенным ресурсам или функционалу системы. Авторизация происходит после успешной аутентификации пользователя.

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

Контроль доступа на основе ролей (RBAC)

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

Предположим, у вас есть страница в социальных сетях.

  • Как владелец страницы, вы можете публиковать, просматривать, редактировать и удалять контент.
  • Друг может просматривать ваш контент.
  • Гость не имеет доступа к вашему контенту.
  • Модератор имеет право удалить нежелательный контент.

Таким образом у нас появляются действующие лица и операции, которые они могут совершать

Роль

  • владелец
  • друг
  • гость
  • модератор

Действие

  • создать
  • просмотреть
  • редактировать
  • удалить

Эти стандартные действия называют CRUD (Создание, Чтение, Обновление, Удаление) операциями.

Пример ограничения доступа на основе ролей

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

Ресурс Владелец Друг Гость Модератор
/my-page CRUD R RD

Контроль доступа на основе атрибутов (ABAC)

Ещё один способ разграничения доступа пользователей к системе — доступ на основе атрибутов.

Атрибуты, на основании которых может регулироваться доступ

  • Атрибуты субъекта: характеристики пользователя, например, роль, возраст
  • Атрибуты действия: операции, которые пользователь может выполнить, например, создание, просмотр, редактирование, удаление (CRUD)
  • Атрибуты объекта: характеристики объекта, к которому осуществляется доступ, например, степень конфиденциальности
  • Атрибуты среды: тип устройства, операционная система, время, местоположение и др.

Пример ограничения доступа на основе атрибутов

Разделение доступа к контенту личной страницы пользователя для пользователей с различными атрибутами:

Ресурс Атрибуты Субъекта Атрибуты Действия
/my-page Роль: Владелец Действие: CRUD
/my-page Роль: Друг Действие: R
/my-page Роль: Гость Действие: —
/my-page Роль: Модератор Действие: RD
/my-page Роль: Модератор Действие: RUD

Теперь два модератора имеют доступ к разному набору операций.

Использование ABAC добавляет гибкости при управлении доступом и может комбинироваться с моделью RBAC.

Задача

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

Используйте «Переключатель роли» и изучите, как меняется отображение функций секции «Список записей» для обычного пользователя, аналитика и администратора.



Список записей

Операции по кнопкам не реализованы, работа со списком записей не входит в задачу

Задача доступна премиум пользователям!

ВВЕДЕНИЕ

БАЗОВЫЕ ЗНАНИЯ

УРОВНИ ТЕСТИРОВАНИЯ

UI ТЕСТИРОВАНИЕ

ТЕСТ ДИЗАЙН

ТЕСТОВАЯ ДОКУМЕНТАЦИЯ

АУТЕНТИФИКАЦИЯ И АВТОРИЗАЦИЯ

POSTMAN

БАЗЫ ДАННЫХ

ТЕСТИРОВАНИЕ РЕЛИЗА

АНАЛИЗ РАБОТЫ ПРИЛОЖЕНИЯ

ПОДГОТОВКА К СОБЕСЕДОВАНИЮ

Как составить резюме Топ вопросов Собеседование