웹 서비스 보안 권한 모델

서블릿 또는 EJB(Enterprise JavaBeans) 중 하나로 구현된 제공자 애플리케이션은 웹 서비스를 사용할 수 있으며 웹 서비스 보안으로 보호될 수 있습니다. Java EE(Java Platform, Enterprise Edition) 역할 기반 권한은 서블릿 또는 EJB로 구현되는 웹 서비스 제공자 애플리케이션에 대한 액세스를 제어하는 데 사용할 수 있습니다. 서블릿 및 EJB 구현의 보안 역할은 동일한 방법으로 구성되지만 서비스에 대한 액세스는 구현에 따라 다릅니다.

서블릿으로 구현된 제공자의 경우, 웹 컨테이너가 HTTP 기본 인증을 통해 역할 기반 권한을 부여합니다.
  1. 보안 토큰이 SOAP 요청의 HTTP 헤더에서 전달됩니다.
  2. 웹 컨테이너는 보안 토큰을 인증한 후 사용자의 역할 기반 권한을 부여합니다.
  3. 사용자 권한이 부여되면 웹 컨테이너는 인바운드 메시지로 웹 서비스 엔진을 호출합니다.

다음 그림은 서블릿에 대한 역할 기반 권한 부여 프로세스의 각 단계를 설명합니다.

그림 1. 웹 서비스 보안의 서블릿 권한 부여. 이 그림은 서블릿 구현에 대한 역할 기반 권한 부여 프로세스를 보여 줍니다.
웹 서비스 보안의
서블릿 권한 부여
EJB로 구현된 제공자의 경우, EJB 컨테이너가 역할 기반 권한을 부여합니다.
  1. 사용자 ID의 보안 토큰이 SOAP 요청의 보안 헤더에서 전달됩니다.
  2. 웹 서비스 보안이 토큰을 인증합니다.
  3. 호출자 구성으로 웹 서비스 보안이 현재 스레드에서 인증된 토큰의 ID를 설정합니다.
  4. 웹 서비스 엔진에서 엔드포인트 호출 시, EJB 컨테이너는 현재 스레드에서 ID에 대한 역할 기반 권한을 부여합니다.

다음 그림은 EJB에 대한 역할 기반 권한 부여 프로세스의 각 단계를 설명합니다.

그림 2. 웹 서비스 보안의 EJB 권한 부여. 이 그림은 EJB 구현에 대한 역할 기반 권한 부여 프로세스를 보여 줍니다.
웹 서비스 보안의
EJB 권한 부여

웹 서비스 제공자가 서블릿으로 구현된 경우, 웹 서비스 보안이 SOAP 요청의 보안 헤더에서 전달하는 토큰은 서비스 액세스를 위한 역할 기반 권한을 부여하는 데 사용될 수 없습니다.

웹 서비스 제공자가 EJB로 구현된 경우, 웹 서비스 보안이 SOAP 요청의 보안 헤더에서 전달하는 토큰은 활성 웹 서비스 보안 제한조건이 있는 경우 서비스 액세스를 위해 EJB 컨테이너에서 역할 기반 권한을 부여하는 데만 사용될 수 있습니다.

EJB로 구현된 웹 서비스 제공자는 웹 컨테이너를 사용하여 역할 기반 권한을 부여할 수도 있습니다. 이를 수행하기 위해 그림 웹 서비스 보안의 EJB 권한 부여의 라우터 서블릿은 HTTP 기본 인증으로 보호됩니다. 이를 수행하고 나면 그림 웹 서비스 보안의 서블릿 권한 부여와 같이 프로세스가 진행됩니다.

인바운드 토큰의 활성 웹 서비스 보안 제한조건에서 호출자 구성이 있는 경우 해당 토큰은 현재 스레드의 보안 컨텍스트에서 runAs ID로 설정됩니다. 보호된 제공자 애플리케이션은 해당 ID에 따라 권한 부여 의사결정을 스스로 수행할 수 있습니다. 서블릿 및 EJB 모두에 적용됩니다.

팁: WS-Security 토큰 이용자는 서블릿에 대한 역할 기반 권한 부여를 수행할 수 없지만 사용자는 사용자 레지스트리의 특정 그룹에 대해 인바운드 사용자를 유효성 검증하는 사용자 정의 로그인 모듈을 작성할 수 있습니다. UsernameToken에 대해 이를 수행하는 방법에 대한 예제를 보려면 "누적된 JAAS 로그인 모듈을 사용하여 UsernameToken 이용자의 인증 메소드 바꾸기"를 읽으십시오.

주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_secauthmodel
파일 이름:cwbs_secauthmodel.html