Java Authentication and Authorization Service
Сервис Аутентификации и Авторизации Java (англ. Java Authentication and Authorization Service, сокр. JAAS) — реализация в языке программирования Java стандарта системы информационной безопасности PAM.[1] JAAS была представлена как расширяемая библиотека к Java SE 1.3, и была интегрирована как обязательный пакет в версии 1.4[1]
Главной целью JAAS является отделение аутентификации и авторизации пользователей от основной программы, чтобы управлять ими независимо от программы. Прошлый механизм аутентификации работал лишь на основе того откуда получен исполняемый код (например, локальному коду предоставлялось больше привилегий, чем коду полученному из интернета), но современная версия JAAS, также использует информацию о том, кто именно запустил код. JAAS является полностью расширяемым, тем самым он позволяет создавать собственные механизмы проверки подлинности и авторизации.
Администрирование
С точки зрения системного администратора, JAAS состоит и двух видов конфигурационных файлов:
- *.login.conf: определяет какие логин-модули и как необходимо задействовать в программе
- *.policy: определяет какими привилегиями наделены пользователи или программы
Например, приложение может использовать этот файл login.conf, опеделяющий, какие различные механизмы проверки подлинности необходимо выполнить, чтобы аутентифицировать пользователя:
PetShopApplication { com.sun.security.auth.module.LdapLoginModule sufficient; com.foo.SmartcardLoginModule requisite; com.sun.security.auth.module.UnixLoginModule required debug=true; }
Программный интерфейс
Для разработчика приложений, JAAS это стандартная библиотека, которая обеспечивает:
- представление сущности (Principal) и набора поломочий (Subject)
- сервис входа, который вызывает ваше приложение, чтобы узнать аутентификационные данные пользователя, например его имя и пароль. Этот сервис возвращает новый субъект (Subject)
- сервис, который проверяет, наделён ли субъект необходимыми полномочиями для запуска какого-либо кода.
Внедрение системы безопасности
Для внедрения системы безопасности, JAAS обеспечивает следующие интерфейсы:
- для добавлений полномочий к потокам (Subject)
- для разработки логин-модулей. Разрабатываемый модуль вызывает функции обратного вызова, чтобы запросить пользователя, проверяет этот запрос и генерирует объект класса Subject.
См. также
Ссылки
- ↑ 1 2 Java Authentication and Authorization Service (JAAS) Reference Guide . oracle.com. Oracle Corporation. Дата обращения: 18 июня 2012.