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.

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]