2.9. 컨테이너 관리 SSO(Single Sign-on)를 사용하도록 애플리케이션 구성
Elytron FORM
인증 방법을 사용하여 애플리케이션에 컨테이너 관리 Single Sign-On을 사용하도록 JBoss EAP를 구성할 수 있습니다. 이를 통해 사용자는 한 번 인증하고 다시 인증하지 않고도 FORM
인증 방법으로 보안된 다른 리소스에 액세스할 수 있습니다.
다음과 같은 경우 관련 Single Sign-On 세션이 무효화됩니다.
- 남아 있는 로컬 세션이 없습니다.
- 애플리케이션에서 로그아웃합니다.
이러한 인스턴스가 클러스터에 있는 한 다양한 JBoss EAP 인스턴스에 배포된 애플리케이션 간에 SSO(Single Sign-On)를 사용할 수 있습니다.
키 저장소를
생성합니다.SSO에 참여하는 다양한 서버 간에 보안 통신 채널을 구성하려면
키 저장소가
필요합니다. 이 채널은 로그인 및 로그아웃 중에 Single Sign-On 세션이 생성되거나 삭제될 때 발생하는 이벤트에 대한 메시지를 교환하는 데 사용됩니다.elytron
하위 시스템에서키 저장소
를 생성하려면 먼저 다음과 같이 Java 키 저장소를 생성합니다.keytool -genkeypair -alias localhost -keyalg RSA -keysize 1024 -validity 365 -keystore keystore.jks -dname "CN=localhost" -keypass secret -storepass secret
keytool -genkeypair -alias localhost -keyalg RSA -keysize 1024 -validity 365 -keystore keystore.jks -dname "CN=localhost" -keypass secret -storepass secret
Copy to Clipboard Copied! Toggle word wrap Toggle overflow keystore.jks
파일이 생성되면 다음 관리 CLI 명령을 실행하여 Elytron에서키 저장소
정의를 생성합니다./subsystem=elytron/key-store=example-keystore:add(path=keystore.jks, relative-to=jboss.server.config.dir, credential-reference={clear-text=secret}, type=JKS)
/subsystem=elytron/key-store=example-keystore:add(path=keystore.jks, relative-to=jboss.server.config.dir, credential-reference={clear-text=secret}, type=JKS)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 보안 영역을 추가합니다.
다음 관리 CLI 명령을 사용하여 사용자가 로컬 파일 시스템에 저장되는 ID 저장소인
FileSystem
영역을 생성합니다./subsystem=elytron/filesystem-realm=example-realm:add(path=/tmp/example-realm)
/subsystem=elytron/filesystem-realm=example-realm:add(path=/tmp/example-realm)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 관리 CLI 명령을 사용하여
security-domain
을 생성합니다./subsystem=elytron/security-domain=example-domain:add(default-realm=example-realm,permission-mapper=default-permission-mapper,realms=[{realm=example-realm,role-decoder=groups-to-roles}]
/subsystem=elytron/security-domain=example-domain:add(default-realm=example-realm,permission-mapper=default-permission-mapper,realms=[{realm=example-realm,role-decoder=groups-to-roles}]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고SSO를 사용하는 애플리케이션은 일반적으로 사용자에게 로그인 페이지를 제공해야 하므로
HTTP FORM
인증을 사용해야 합니다.undertow 하위 시스템에서
애플리케이션 보안 도메인을 생성합니다.참고undertow
하위 시스템에 정의된application-security-domain
이 이미 있고 애플리케이션에 SSO(Single Sign-On)를 활성화하는 데만 사용하려는 경우 이 단계를 건너뛸 수 있습니다./subsystem=undertow/application-security-domain=other:add(security-domain=example-domain)
/subsystem=undertow/application-security-domain=other:add(security-domain=example-domain)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고기본적으로 애플리케이션이
jboss-web.xml 파일에서 특정 security-
domain을 정의하지 않으면 애플리케이션 서버에서다른
이름으로 하나를 선택합니다.Single Sign-On을 활성화하고 키 저장소를 사용하도록
undertow
하위 시스템을 업데이트합니다.Single Sign-On은
undertow
하위 시스템의 특정application-security-domain
정의로 활성화됩니다. 애플리케이션을 배포하는 데 사용하는 서버가 동일한 구성을 사용하고 있는 것이 중요합니다.Single Sign-On을 활성화하려면 다음과 같이
undertow 하위 시스템에서
기존application-security-domain
을 변경합니다./subsystem=undertow/application-security-domain=other/setting=single-sign-on:add(key-store=example-keystore, key-alias=localhost, domain=localhost, credential-reference={clear-text=secret})
/subsystem=undertow/application-security-domain=other/setting=single-sign-on:add(key-store=example-keystore, key-alias=localhost, domain=localhost, credential-reference={clear-text=secret})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고undertow
하위 시스템의application-security-domain
은 구성하위 시스템 웹(Undertow) 애플리케이션 보안 도메인으로 이동하여 관리 콘솔을 사용하여 구성할 수 있습니다. SSO 속성 및 해당 정의에 대한 자세한 내용은 Single Sign-on Attributes 참조를 참조하십시오.
애플리케이션의
web.xml
및jboss-web.xml
파일을 구성합니다.JBoss EAP에서 구성한 application-
security
.xml을 업데이트해야 합니다. 이러한 예는 Configure Web Applications to use Elytron 또는 Legacy Security for Authentication 에서 확인할 수 있습니다.-domain을 사용하도록 애플리케이션의
webweb.xml
및 jboss-
JBoss EAP는 undertow
및 infinispan
하위 시스템을 사용하여 클러스터형 SSO와 비클러스터형 SSO에 대한 기본 지원을 제공합니다.