Рассматриваемые темы Подсистема безопасности сервера приложений Конфигурация безопасности в EJB Сервисы авторизации и аутентификации в Java 2-1.

Презентация:



Advertisements
Похожие презентации
EJB Environment Кряжев Василий
Advertisements

Interceptors Василий Кряжев
Рассматриваемые темы Введение в кластеринг Кластеринг Stateless session beans Кластеринг Stateful session beans Конфигурация кластеринга 2-1.
Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB- приложения 2-1.
ENTERPRISE JAVABEANS 3.0 STATEFUL & STATLESS SESSION BEANS.
Рассматриваемые темы Введение в Web Services EJB и Web Services 2-1.
EJB Local Interface Кряжев Василий
К построению и контролю соблюдения политик безопасности распределенных компьютерных систем на основе механизмов доверия А. А. Иткес В. Б. Савкин Институт.
Рассматриваемые темы EJB Timer сервис Создание таймера Отмена и сохранение таймера Получение информации о таймере Транзакции и таймеры 11-1.
Исключения в EJB Кряжев Василий
Тема 11 Медицинская помощь и лечение (схема 1). Тема 11 Медицинская помощь и лечение (схема 2)
Методы и средства обеспечения информационной безопасности в системе 1С:Предприятие 8.1 П.Б.Хорев доцент кафедры информационной безопасности РГСУ.
Session beans Василий Кряжев
Единая система аутентификации Обзор решения Москва, 2012г.
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
Обеспечение безопасности данных. Управление доступом к данным. Управление доступом к данным. Управление пользователями БД. Управление пользователями БД.
1 Современные системы программирования. Часть 2. Системное и прикладное программное обеспечение Малышенко Владислав Викторович.
Администрирование RAS серверов. RAS (Remote Access Server) сервер – это сервер удаленного доступа. Используется для соединения компьютеров по коммутируемым.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Учетные записи пользователей и групп Дисциплина «Построение Windows-сетей» Сергеев А. Н. Волгоградский государственный социально-педагогический университет.
Транксрипт:

Рассматриваемые темы Подсистема безопасности сервера приложений Конфигурация безопасности в EJB Сервисы авторизации и аутентификации в Java 2-1

Подсистема безопасности Предотвращение несанкционированного доступа к данным приложения Защита системы от сбоев, которые могут сказаться на качестве обслуживания Однозначное сопоставление действий и пользователей, их производивших Цели подсистемы 2-2

Подсистема безопасности Аутентификация Авторизация (контроль доступа) Целостность данных Конфиденциальность Неотрекаемость Аудит Свойства безопасности 2-3

Подсистема безопасности Security Realm набор системных ресурсов и служб, ответственных за безопасность Активен может быть только один Security Realm Создание Security Realm задача администратора Security Realm 2-4

Подсистема безопасности Пользователь сущность, использующая сервер приложений, например: Конечные пользователи Клиентские приложения Другие сервера приложений Группа логический набор пользователей Облегчают администрирование Пользователи и группы 2-5

Подсистема безопасности Принципал определяющая характеристика потока, вызывающего метод EJB Представляет собой конкретного пользователя, авторизованного с помощью пары логин-пароль Может включать дополнительные сведения (группы, роли...) Роль именованный набор прав доступа к ресурсам приложения Принципалы и роли 2-6

Подсистема безопасности Членство в группе статическое Роли могут быть динамическими (основанными на определенных критериях) Отличие ролей от групп 2-7

Рассматриваемые темы Подсистема безопасности сервера приложений Безопасность в EJB Сервисы авторизации и аутентификации в Java 2-8

Безопасность в EJB Облегчить задачу обеспечения безопасности приложения для разработчика Предоставить декларативную, управляемую контейнером модель безопасности Упростить переносимость приложений между различными серверами приложений Цели подсистемы безопасности 2-9

Безопасность в EJB Container-managed безопасность: декларативна (описывается в аннотациях или XML-дескрипторах развертки) ограничивает доступ к ресурсам на основе ролей пользователей Container-Managed Безопасность 2-10

Безопасность в EJB Bean-managed безопасность: Реализуется в коде приложения Менее переносима Может использовать роли из дескрипторов Может использовать методы EJBContext Bean-Managed Безопасность 2-11

Безопасность в EJB Необходимо указать два типа метаданных: Логические имена ролей Соответствующие разрешения доступа к EJB-интерфейсу Метаданные безопасности EJB: MethodPermissions, PermitAll, DenyAll ejb-jar.xml Декларативная безопасность 2-12

Безопасность в EJB Используются для аннотирования классов и/или методов (аннотации метода имеют больший определяет список ролей, имеющих доступ String[] value список разрешить доступ для всех запретить доступ для всех ролей Аннотации javax.annotation.security 2-13

Безопасность в public class MyLocalBean implements MyBean public int getSomeSensitiveInfo() {... } // Используем аннотацию класса по умолчанию public boolean login(String login, String pass) {... } Пример конфигурации 2-14

Безопасность в EJB Как решить следующую проблему: Подмена контекста безопасности 2-15

Безопасность в EJB public class OrderAgent ProductCatalog cat; public int getPrice(Item item) { // Выполним от имени SALES_REP cat.getBasePrice(item);... Параметр: String value имя роли

Безопасность в EJB Два метода EJBContext: Principal getCallerPrincipal() boolean isCallerInRole(String roleName) Все EJB имеют доступ к этим методам через наследников EJBContext: javax.ejb.SessionContext javax.ejb.MessageDrivenContext Программная безопасность 2-17

Безопасность в EJB 2-18 public class TodoListBean SessionContext ctx; public void assignProject(Project p) { if (!ctx.isCallerInRole("PROJ_LEAD")) throw new SecurityException("Access denied");... Параметр: String[] value список ролей

Рассматриваемые темы Подсистема безопасности сервера приложений Безопасность в EJB Сервисы авторизации и аутентификации в Java (JAAS Java Authentication and Authorization Service) 2-19

JAAS JAAS набор API, позволяющий: Разрабатывать подключаемые модули аутентификации Аутентифицировать клиента с использованием стандартного API Для клиентов EJB JAAS это альтернатива JNDI-аутентификации EJB авторизация реализуется с помощью ролей Что такое JAAS? 2-20

JAAS Возможность прозрачного для клиента подключения нового механизма аутентификации Клиент, однажды прошедший аутентификацию, безопасно может продолжать вызывать EJB-методы Пользовательский контекст безопасности автоматически распространяется на другие бизнес-интерфейсы контейнера JAAS и EJB 2-21

JAAS Архитектура аутентификации JAAS 2-22

JAAS API аутентификации JAAS 2-23 javax.security.auth.Subject...auth.login.LoginContext...auth.spi.LoginModule...auth.login.Configuration...auth.callback.Callback...auth.callback.CallbackHandler

JAAS Клиентский класс Java Реализация интерфейса LoginModule Реализация интерфейса CallbackHandler Файл конфигурации Реализацию интерфейса java.security.PrivilegedAction Клиентские компоненты JAAS 2-24

Рассмотренные темы Подсистема безопасности сервера приложений Безопасность в EJB Сервисы авторизации и аутентификации в Java (JAAS Java Authentication and Authorization Service) 2-25

Практика TBD Упражнение 2-26