Menu Close
Settings Close

Language and Page Formatting Options

5.7. 데스크탑 SSO를 사용하여 Kerberos를 사용하여 웹 애플리케이션용 SSO 제공

이 시나리오에서는 Kerberos를 JBoss EAP와 함께 사용하여 웹 애플리케이션에 SSO를 제공하는 방법을 보여줍니다. JBoss EAP 인스턴스는 생성되었으며 독립 실행형 서버로 실행되고 있습니다. 두 개의 웹 애플리케이션( sampleAppAsampleAppB )이 EAP1 에 배포되었습니다. 웹 애플리케이션과 EAP1 은 모두 Kerberos를 통해 데스크탑 기반 SSO를 사용하여 인증하도록 구성되었습니다.

scenario7

5.7.1. 보안

JBoss EAP는 SPNEGO 및 JBoss 협상을 통해 웹 애플리케이션에서 SSO에 Kerberos 사용을 지원합니다. Kerberos 및 SPNEGO의 세부 사항에 대한 자세한 내용은 타사 SSO 구현 섹션을 참조하십시오. JBoss EAP와 배포된 웹 애플리케이션이 인증에 Kerberos를 사용하도록 활성화하려면 두 개의 보안 도메인을 만들어야 합니다. 첫 번째 보안 도메인인 host-domain 은 Kerberos 서버에 연결하도록 kerberos 로그인 모듈을 사용하여 구성됩니다. 이를 통해 JBoss EAP는 컨테이너 수준에서 인증할 수 있습니다. 두 번째 보안 도메인인 spnego-domain 은 두 개의 로그인 모듈을 사용하여 생성됩니다. spnego 로그인 모듈을 사용하여 host-domain 에 연결하여 사용자를 인증합니다. 두 번째 로그인 모듈을 사용하여 권한 부여 결정에 사용할 역할 정보를 로드할 수 있습니다. 예를 들어 속성 파일을 사용하여 사용자를 역할에 매핑합니다.

또한 이 두 로그인 모듈은 password-stacking 을 사용하여 인증 로그인 모듈의 사용자와 권한 부여 모듈의 사용자와 역할을 매핑합니다. EAP1host-domainspnego-domain 으로 구성됩니다. 애플리케이션은 spnego -domain을 사용하여 인증을 수행하고 권한 부여를 위한 사용자의 역할을 가져오기 위해 web.xml 및 jboss - web.xml을 통해 구성됩니다. 또한 보안 토큰을 운영 체제에서 브라우저로 전달할 수 없는 경우 FORM 인증을 대체 인증 메커니즘으로 구성할 수도 있습니다. FORM 인증이 대체로 구성된 경우 이를 지원하도록 추가 보안 도메인을 구성해야 합니다. 이 보안 도메인은 Kerberos 및 SPNEGO와 독립적이며 FORM 인증, 즉 사용자 이름 및 암호 유효성 검사 및 역할만 지원하면 됩니다. 각 애플리케이션은 spnego-domain 을 사용하고 대체로 FORM 인증을 제공하도록 구성됩니다. 각 애플리케이션은 또한 경로 /secure/* 를 보안하도록 구성되며 권한 부여를 처리하기 위한 고유한 역할 목록을 제공합니다.

5.7.1.1. 작동 방식

Kerberos 서버에 다음 사용자가 생성되었습니다.

표 5.9. Kerberos 사용자

사용자 이름암호

B 실행되는

samplePass

Andy

samplePass

Bill

samplePass

Ron

samplePass

다음 역할은 FirstPass를 사용하도록 password-stacking 옵션을 설정하여 연결된 추가 모듈을 통해 사용자에게 매핑되었습니다.

표 5.10. 사용자 역할

사용자 이름역할

B 실행되는

모두

Andy

A

Bill

B

Ron

 

다음 역할도 각 애플리케이션에 구성되어 있습니다.

표 5.11. 애플리케이션 역할

애플리케이션/SP허용된 역할

sampleAppA

모두, A

sampleAppB

all, B

시작 시 EAP1 은 핵심 서비스를 로드한 다음 보안 및 기타 하위 시스템을 로드합니다. host-domain 은 Kerberos 서버에 대한 연결을 설정하고 spnego-domain은 host-domain 에 연결합니다. sampleAppAsampleAppB 가 배포되어 인증을 위해 spnego-domain 에 연결됩니다.

Bitz는 Kerberos로 보호되는 컴퓨터에 로그인했습니다. 브라우저를 열고 sampleAppA/secure/hello.html 에 액세스를 시도합니다. 보안이 필요하므로 인증이 필요합니다. EAP1 은 브라우저에 키 요청을 Kerberos 서버, 특히 컴퓨터에 구성된 Kerberos 키 배포 센터로 보내도록 지시합니다. 브라우저가 키를 획득하면 simpleAppA 로 전송됩니다.simpleAppA 압축 해제되고 구성된 Kerberos 서버와 함께 host-domain 에서 인증을 수행합니다. 티켓이 인증되면 Brite의 역할은 simpleAppA 로 다시 전달되어 인증을 수행합니다. Brite는 all 역할이 있으므로 sampleAppA/secure/hello.html 에 액세스할 수 있습니다. Brite가 sampleAppB/secure/hello.html 에 액세스하려고 하면 동일한 프로세스가 수행됩니다. 모든 역할을 갖기 때문에 액세스 권한이 부여됩니다. Andy와 Bill은 동일한 프로세스를 따르지만 Andy는 sampleAppA/secure/hello.html 에만 액세스할 수 있고 sampleAppB/secure/hello.html 에만 액세스할 수 있습니다. Bill은 반대로, sampleAppA/secure/hello.html 에 액세스하고 sampleAppA/secure/hello.html 에 액세스할 수 없습니다. Ron은 sampleAppA/secure/hello.html 또는 sampleAppB/secure/hello.html 에 인증을 전달하지만 역할이 없기 때문에 액세스 권한이 부여되지 않습니다.

Andy가 Kerberos에 의해 보호되지 않은 컴퓨터에서 sampleAppA/secure/hello.html 에 액세스하려는 경우 예를 들어 사무실 네트워크에 연결된 개인 랩톱으로 대체 로그인 메커니즘으로 FORM 로그인 페이지로 이동합니다. 그런 다음 대체 보안 도메인을 통해 자격 증명이 인증되고 프로세스는 권한 부여를 계속합니다.





2022-07-02 18:10:02 +1000 수정