Пример Device Access
демонстрирует использование паттерна Privilege Separation.
Архитектура примера
Пример содержит три программы: Device
, LoginManager
и Storage
.
В этом примере программа Device
обращается к программе Storage
для получения информации и к программе LoginManager
для авторизации.
Программа Device
получает доступ к программе Storage
только после успешной авторизации.
Пример демонстрирует возможность разделения логики авторизации и логики доступа к данным на независимые компоненты. Такое разделение гарантирует, что доступ к данным может быть открыт только после успешной авторизации. При этом контроль за тем, что авторизация была проведена и закончилась успешно, осуществляется модулем безопасности. Кроме этого, такая архитектура позволяет производить независимую разработку и тестирование логики авторизации и логики предоставления доступа к данным.
Политика безопасности в примере Device Access
имеет следующие особенности:
Device
имеет возможность обращаться к программе LoginManager
для авторизации.GetInfo()
программы Storage
управляют методы модели безопасности Flow:session
, имеет два состояния: unauthenticated
и authenticated
.unauthenticated
.unauthenticated
в authenticated
и обратно.session
создается при запуске программы Device
.Device
метода Login()
программы LoginManager
состояние объекта session
изменяется на authenticated
.Device
метода Logout()
программы LoginManager
состояние объекта session
изменяется на unauthenticated
.Device
метода GetInfo()
программы Storage
проверяется текущее состояние объекта session
. Вызов разрешается, только если текущее состояние объекта – authenticated
.Файлы примера
Код примера и скрипты для сборки находятся по следующему пути:
/opt/KasperskyOS-Community-Edition-<version>/examples/device_access
Сборка и запуск примера
См. "Сборка и запуск примеров".
В начало