3.2. 가상 보안 도메인을 사용하여 Jakarta Enterprise Cryostats 애플리케이션 보안
elytron-oidc-client 하위 시스템에서 생성한 가상 보안 도메인을 사용하여 Jakarta Enterprise Cryostat를 보안하여 Jakarta Enterprise Cryostats를 호출하는 서블릿과 동일한 배포에 있고 다른 배포에 있는 경우 모두 보안할 수 있습니다.
Jakarta Enterprise Cryostats가 이를 호출하는 서블릿과 동일한 배포에 있는 경우 서블릿에서 Jakarta Enterprise Cryostats로 보안 ID를 아웃플로우할 필요가 없습니다.
이 절차의 단계에 따라 서블릿에서 다른 배포에 있는 Jakarta Enterprise Cryostat로 보안 ID를 간소화합니다.
사전 요구 사항
- OIDC(OpenID Connect) 공급자를 사용하여 Jakarta Enterprise Cryostat를 호출하는 애플리케이션을 보호했습니다.
- 보안을 위해 자카르타 Enterprise Cryostat를 생성했습니다.
프로세스
OIDC로 보안된 Servlet을 포함하는 WAR 또는 OIDC로 보안된 하위 배포가 포함된 EAR를 참조하는
virtual-security-domain리소스를 생성합니다.구문
/subsystem=elytron/virtual-security-domain=<deployment_name>:add()예제
/subsystem=elytron/virtual-security-domain=simple-ear-example.ear:add()애플리케이션을 보호하는 데 사용할 가상 보안 도메인 리소스를 참조하는 Jakarta Enterprise Cryostats 애플리케이션에
org.jboss. Cryostat3.annotation.SecurityDomain주석을 추가합니다.구문
@SecurityDomain("<deployment_name>")예제
... @SecurityDomain("simple-ear-example.ear") @Remote(RemoteHello.class) @Stateless public class RemoteHelloBean implements RemoteHello { @Resource private SessionContext context; @Override public String whoAmI() { return context.getCallerPrincipal().getName(); } }OIDC로 보안된 서블릿에서 이 Jakarta Enterprise Cryostat를 호출하면
whoAmI()가 반환한 주체가 OIDC 공급자에서 얻은 Servlet과 일치합니다.Jakarta Enterprise Cryostat를 배포합니다.
예제
$ mvn wildfly:deploy