Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемcom-luxoft-edu-trainingcenter-courses.googlecode.c
1 Рассматриваемые темы Подсистема безопасности сервера приложений Конфигурация безопасности в EJB Сервисы авторизации и аутентификации в Java 2-1
2 Подсистема безопасности Предотвращение несанкционированного доступа к данным приложения Защита системы от сбоев, которые могут сказаться на качестве обслуживания Однозначное сопоставление действий и пользователей, их производивших Цели подсистемы 2-2
3 Подсистема безопасности Аутентификация Авторизация (контроль доступа) Целостность данных Конфиденциальность Неотрекаемость Аудит Свойства безопасности 2-3
4 Подсистема безопасности Security Realm набор системных ресурсов и служб, ответственных за безопасность Активен может быть только один Security Realm Создание Security Realm задача администратора Security Realm 2-4
5 Подсистема безопасности Пользователь сущность, использующая сервер приложений, например: Конечные пользователи Клиентские приложения Другие сервера приложений Группа логический набор пользователей Облегчают администрирование Пользователи и группы 2-5
6 Подсистема безопасности Принципал определяющая характеристика потока, вызывающего метод EJB Представляет собой конкретного пользователя, авторизованного с помощью пары логин-пароль Может включать дополнительные сведения (группы, роли...) Роль именованный набор прав доступа к ресурсам приложения Принципалы и роли 2-6
7 Подсистема безопасности Членство в группе статическое Роли могут быть динамическими (основанными на определенных критериях) Отличие ролей от групп 2-7
8 Рассматриваемые темы Подсистема безопасности сервера приложений Безопасность в EJB Сервисы авторизации и аутентификации в Java 2-8
9 Безопасность в EJB Облегчить задачу обеспечения безопасности приложения для разработчика Предоставить декларативную, управляемую контейнером модель безопасности Упростить переносимость приложений между различными серверами приложений Цели подсистемы безопасности 2-9
10 Безопасность в EJB Container-managed безопасность: декларативна (описывается в аннотациях или XML-дескрипторах развертки) ограничивает доступ к ресурсам на основе ролей пользователей Container-Managed Безопасность 2-10
11 Безопасность в EJB Bean-managed безопасность: Реализуется в коде приложения Менее переносима Может использовать роли из дескрипторов Может использовать методы EJBContext Bean-Managed Безопасность 2-11
12 Безопасность в EJB Необходимо указать два типа метаданных: Логические имена ролей Соответствующие разрешения доступа к EJB-интерфейсу Метаданные безопасности EJB: MethodPermissions, PermitAll, DenyAll ejb-jar.xml Декларативная безопасность 2-12
13 Безопасность в EJB Используются для аннотирования классов и/или методов (аннотации метода имеют больший определяет список ролей, имеющих доступ String[] value список разрешить доступ для всех запретить доступ для всех ролей Аннотации javax.annotation.security 2-13
14 Безопасность в public class MyLocalBean implements MyBean public int getSomeSensitiveInfo() {... } // Используем аннотацию класса по умолчанию public boolean login(String login, String pass) {... } Пример конфигурации 2-14
15 Безопасность в EJB Как решить следующую проблему: Подмена контекста безопасности 2-15
16 Безопасность в EJB public class OrderAgent ProductCatalog cat; public int getPrice(Item item) { // Выполним от имени SALES_REP cat.getBasePrice(item);... Параметр: String value имя роли
17 Безопасность в EJB Два метода EJBContext: Principal getCallerPrincipal() boolean isCallerInRole(String roleName) Все EJB имеют доступ к этим методам через наследников EJBContext: javax.ejb.SessionContext javax.ejb.MessageDrivenContext Программная безопасность 2-17
18 Безопасность в 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 список ролей
19 Рассматриваемые темы Подсистема безопасности сервера приложений Безопасность в EJB Сервисы авторизации и аутентификации в Java (JAAS Java Authentication and Authorization Service) 2-19
20 JAAS JAAS набор API, позволяющий: Разрабатывать подключаемые модули аутентификации Аутентифицировать клиента с использованием стандартного API Для клиентов EJB JAAS это альтернатива JNDI-аутентификации EJB авторизация реализуется с помощью ролей Что такое JAAS? 2-20
21 JAAS Возможность прозрачного для клиента подключения нового механизма аутентификации Клиент, однажды прошедший аутентификацию, безопасно может продолжать вызывать EJB-методы Пользовательский контекст безопасности автоматически распространяется на другие бизнес-интерфейсы контейнера JAAS и EJB 2-21
22 JAAS Архитектура аутентификации JAAS 2-22
23 JAAS API аутентификации JAAS 2-23 javax.security.auth.Subject...auth.login.LoginContext...auth.spi.LoginModule...auth.login.Configuration...auth.callback.Callback...auth.callback.CallbackHandler
24 JAAS Клиентский класс Java Реализация интерфейса LoginModule Реализация интерфейса CallbackHandler Файл конфигурации Реализацию интерфейса java.security.PrivilegedAction Клиентские компоненты JAAS 2-24
25 Рассмотренные темы Подсистема безопасности сервера приложений Безопасность в EJB Сервисы авторизации и аутентификации в Java (JAAS Java Authentication and Authorization Service) 2-25
26 Практика TBD Упражнение 2-26
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.