보안을 위한 Java Servlet 3.0 지원
이 WebSphere® Application Server 릴리스는 Java™ Servlet 3.0 스펙에 정의된 대로 모든 보안 업데이트를 지원합니다.
WebSphere Application Server의 이 릴리스는 새 서블릿 보안 어노테이션, 새 프로그램 보안 API 사용, 서블릿 보안 구성의 동적 업데이트를 비롯하여 Java 서블릿 3.0 스펙(JSR-315)에 정의된 대로 모든 보안 업데이트를 지원합니다.
중요한 개선사항은 서블릿에 대한 새 어노테이션 지원입니다. 개발자는 Java Servlet 3.0 이전에 사용되는 web.xml 파일의 파트로 보안 제한조건을 선언하는 대체 방법으로 어노테이션을 사용하여 이를 선언할 수 있습니다. web.xml 파일은 계속 작동하며 어노테이션으로 정의된 모든 충돌을 대체합니다.
- @ServletSecurity 어노테이션에 대한 지원
- @RunAs, @declareRoles, @ServletSecurity 서블릿 보안 어노테이션에 대한 동적 업데이트 지원
- 인증, 로그인, 로그아웃 서블릿 보안 메소드 지원
- 새 com.ibm.websphere.security.displayRealm 특성은 HTTP 기본 인증 로그인 창이 애플리케이션 web.xml 파일에 정의되지 않은 영역 이름을 표시하는지 여부를 지정합니다.
다음은 보안에 대한 Java Servlet 3.0 업데이트에 대해 더 자세하게 설명합니다.
@ServletSecurity 어노테이션에 대한 지원:
애플리케이션을 배치하면 ServletSecurity MergeAction 구현은 ServletSecurity 어노테이션이 있는 모든 서블릿을 찾습니다. 어노테이션이 있는 각 서블릿의 경우, WebServlet 어노테이션에서 제공된 클래스 기반과 연관된 서블릿을 찾습니다. ServletSecurity 어노테이션의 RolesAllowed를 배치 디스크립터에서 찾을 수 없으면 해당 역할에 대한 role-name 속성을 배치 디스크립터에서 작성합니다.
애플리케이션 시작 시, WebContainer는 RunAs, declareRoles 및 ServletSecurity 어노테이션이 있는 모든 서블릿을 조사하여 ServletRegistration 어노테이션의 setServletSecurity() 메소드에서 해당 어노테이션을 설정합니다. WebContainer는 URL 패턴 및 보안 제한조건이 있는 모든 ServletRegistration 어노테이션을 조사하도록 보안 컴포넌트에 알립니다. 그러면 보안 컴포넌트는 배치 디스크립터에 URL 패턴이 정의되어 있는지 판별합니다. 배치 디스크립터에 URL 패턴이 정의되어 있지 않으면 URL 패턴에서 보안 제한조건과 RunAs 역할을 작성하여 사용합니다. 배치 디스크립터에 일치 항목이 이미 정의되어 있으면 어노테이션 데이터 대신 배치 디스크립터의 URL 패턴에서 보안 제한조건과 RunAs 역할을 사용합니다.
자세한 정보는 보안 어노테이션 주제를 참조하십시오.
@RunAs, @declareRoles, @ServletSecurity 서블릿 보안 어노테이션에 대한 동적 업데이트 지원:
애플리케이션 시작 시, 웹 컨테이너는 RunAs, declareRoles 및 ServletSecurity 어노테이션이 있는 모든 서블릿을 조사하여 ServletRegistration 어노테이션의 setServletSecurity() 메소드에서 해당 어노테이션을 설정합니다. 웹 컨테이너는 URL 패턴 및 보안 제한조건이 있는 모든 ServletRegistration 어노테이션을 조사하도록 보안 컴포넌트에 알립니다. 그러면 보안 컴포넌트는 배치 디스크립터에 URL 패턴이 정의되어 있는지 판별합니다. 배치 디스크립터에 일치 항목이 이미 정의되어 있으면 동적 데이터 대신 배치 디스크립터의 URL 패턴에서 보안 제한조건과 RunAs 역할을 사용합니다.
자세한 정보는 서블릿 보안 동적 어노테이션 주제를 참조하십시오.
인증, 로그인, 로그아웃 서블릿 보안 메소드 지원:
인증 메소드는 메커니즘 컨텍스트에 대해 구성된 WebSphere Application Server 컨테이너 로그인 메커니즘을 사용하여 사용자를 인증합니다.
로그인 메소드는 사용자 ID 및 비밀번호를 사용하여 WebSphere Application Server에 대해 사용자를 인증합니다. 인증이 성공하면 스레드 및 LTPA(Lightweight Third Party Authentication) 쿠키에 사용자 주제(Subject)를 작성합니다(싱글 사인온(SSO)이 사용되는 경우).
로그아웃 메소드는 WebSphere Application Server에서 사용자를 로그아웃하고 HTTP 세션을 무효화합니다.
자세한 정보는 서블릿 보안 메소드 주제를 참조하십시오.
새 com.ibm.websphere.security.displayRealm 특성은 HTTP 기본 인증 로그인 창이 애플리케이션 web.xml 파일에 정의된 영역 이름을 표시하는지 여부를 지정합니다.
- 특성이 false(기본값)로 설정되면 WebSphere 영역 이름 표시는 기본 영역입니다.
- 특성이 true로 설정되면 WebSphere 영역 이름 표시는 LTPA 인증 메커니즘에 대해서는 사용자 레지스트리 영역 이름이고 Kerberos 인증 메커니즘에 대해서는 Kerberos 영역 이름입니다.
자세한 정보는 보안 사용자 정의 특성 주제를 참조하십시오.