7.5. 경로 정책


Camel은 JBoss EAP 보안 시스템과의 통합에 사용할 수 있는 RoutePolicies 의 개념을 지원합니다. 현재 보안 통합을 위해 지원되는 두 가지 시나리오가 있습니다.

7.5.1. Camel에서 Jarkarta EE 호출

제공된 경로가 보안 Jarkarta EE 구성 요소를 호출할 때 클라이언트 역할을 하며 호출과 관련된 적절한 자격 증명을 제공해야 합니다.

다음과 같이 ClientAuthorizationPolicy 를 사용하여 경로를 분리할 수 있습니다.

CamelContext camelctx = new DefaultCamelContext();
camelctx.addRoutes(new RouteBuilder() {
    @Override
    public void configure() throws Exception {
        from("direct:start")
        .policy(new ClientAuthorizationPolicy())
        .to("ejb:java:module/AnnotatedSLSB?method=doSelected");
    }
});

이는 camel 메시지 처리의 일부로 인증 및 권한 부여를 수행하지 않습니다. 대신 Camel Exchange와 함께 제공되는 인증 정보를 OpenSCAP3 계층 호출과 연결합니다.

메시지 소비자를 호출하는 클라이언트는 다음과 같이 AUTHENTICATION 헤더에 적절한 자격 증명을 제공해야 합니다.

ProducerTemplate producer = camelctx.createProducerTemplate();
Subject subject = new Subject();
subject.getPrincipals().add(new DomainPrincipal(domain));
subject.getPrincipals().add(new EncodedUsernamePasswordPrincipal(username, password));
producer.requestBodyAndHeader("direct:start", "Kermit", Exchange.AUTHENTICATION, subject, String.class);

Jarkarta EE 계층에서 인증 및 권한 부여가 수행됩니다.

7.5.2. Camel 경로 보안

Camel 경로를 보호하려면 DomainAuthorizationPolicy 를 경로와 연결할 수 있습니다. 이 정책은 지정된 보안 도메인과 "Role2"에 대한 권한 부여에 대해 성공적으로 인증해야 합니다.

CamelContext camelctx = new DefaultCamelContext();
camelctx.addRoutes(new RouteBuilder() {
    @Override
    public void configure() throws Exception {
        from("direct:start")
        .policy(new DomainAuthorizationPolicy().roles("Role2"))
        .transform(body().prepend("Hello "));
    }
});
camelctx.start();

또한 메시지 소비자를 호출하는 클라이언트는 다음과 같이 AUTHENTICATION 헤더에 적절한 자격 증명을 제공해야 합니다.

ProducerTemplate producer = camelctx.createProducerTemplate();
Subject subject = new Subject();
subject.getPrincipals().add(new DomainPrincipal(domain));
subject.getPrincipals().add(new EncodedUsernamePasswordPrincipal(username, password));
producer.requestBodyAndHeader("direct:start", "Kermit", Exchange.AUTHENTICATION, subject, String.class);
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.