4장. Elytron 하위 시스템 예제 시나리오

4.1. 바로 상자에서

기본적으로 JBoss EAP는 사전 구성된 다음 구성 요소를 제공합니다.

ApplicationDomain
ApplicationDomain 보안 도메인은 인증을 위해 ApplicationRealmgroups-to-roles 를 사용합니다. 또한 default-permission-mapper 를 사용하여 로그인 권한을 할당합니다.
ApplicationRealm
The ApplicationRealm 보안 영역은 application-users.properties를 사용하여 주체를 인증하고 application-roles.properties 를 사용하여 역할을 할당하는 속성 영역입니다. 이러한 파일은 기본적으로 EAP_HOME/standalone/configuration 에 매핑되는 jboss.server.config.dir 에 있습니다. 또한 레거시 보안 기본 구성에서 사용하는 파일과도 같습니다.
application-http-authentication
application-http-authentication http-authentication-factory는 HTTP를 통한 인증을 수행하는 데 사용할 수 있습니다. 글로벌 provider-http-server-mechanism-factory를 사용하여 인증 메커니즘을 필터링하고 주체를 인증하기 위해 ApplicationDomain 을 사용합니다. BASICFORM 인증 메커니즘을 허용하고 BASIC애플리케이션 Realm 으로 애플리케이션에 노출합니다.
application-sasl-authentication
application-sasl-authentication sasl-authentication-factory는 SASL을 사용한 인증에 사용할 수 있습니다. 구성된 sasl-server-factory를 사용하여 글로벌 provider-sasl-server-factory를 사용하여 공급자 이름별로 필터링하는 인증 메커니즘을 필터링합니다. application-sasl-authentication 은 주체 인증을 위해 ApplicationDomain 보안 도메인을 사용합니다.
구성(configurable-sasl-server-factory)
이는 메커니즘 이름을 기반으로 filterasl-authentication-factory 를 사용하는 데 사용됩니다. 이 경우 구성된JBOSS-LOCAL-USER 및 DIGEST- MD5 에서 일치합니다. 또한 wildfly.sasl.local-user.default-user$local 로 설정합니다.
default-permission-mapper

default-permission-mapperdefault-permissions 권한을 사용하여 서버의 서비스에 액세스하는 데 필요한 전체 권한 세트를 할당하는 간단한 권한 매퍼입니다.

예를 들어 default-permission-mapper 는 배치 작업에 대한 권한을 할당하도록 설정된 default-permissions 권한에서 지정하는 org.wildfly.extension.batch.deployment.BatchPermission s 권한을 사용합니다. 배치 권한은 javax.batch.operations.JobOperator와 일치하는 start, stop, restart, quit 및 read입니다.

default-permission-mapper 는 로그인 권한을 할당하도록 설정된 로그인 권한으로 지정된 org.wildfly.security.auth.permission.LoginPermission 도 사용합니다.

Elytron (mechanism-provider-filtering-sasl-server-factor)
이 매개 변수는 공급업체를 기반으로 사용되는 I sasl-authentication-factory 를 필터링하는 데 사용됩니다. 이 경우 elytronWildFlyElytron 공급업체 이름에 일치합니다.
global (provider-http-server-mechanism-factory)
HTTP 인증 팩토리를 만들 때 지원되는 인증 메커니즘을 나열하는 데 사용되는 HTTP 서버 팩토리 메커니즘 정의입니다.
글로벌(provider-sasl-server-factory)
이것은 SASL 인증 팩토리를 만드는 데 사용되는 SASL 서버 팩토리 정의입니다.
groups-to-roles
groups-to-roles 매퍼는 주체의 그룹 정보를 디코딩하고 역할 정보에 사용하는 간단한 역할 -디코더입니다.
로컬 (매퍼)
로컬 매퍼는 로컬 보안 영역에 매핑되는 상수 역할 매퍼입니다. 이는 인증을 로컬 보안 영역에 매핑하는 데 사용됩니다.
로컬 (보안 영역)
로컬 보안 영역은 인증을 수행하지 않으며 주체 ID를 $local 로 설정합니다.
ManagementDomain
ManagementDomain 보안 도메인은 인증을 위해 두 개의 보안 영역을 사용합니다. groups-to-roles 및 super- user-mapper 를 사용하여 local 이 있는 ManagementRealm. 또한 default-permission-mapper 를 사용하여 로그인 권한을 할당합니다.
ManagementRealm
ManagementRealm 보안 영역은 mgmt-users.properties를 사용하여 주체를 인증하고 mgmt-roles.properties 를 사용하여 역할을 할당하는 properties 영역입니다. 이러한 파일은 기본적으로 EAP_HOME/standalone/configuration 에 매핑되는 jboss.server.config.dir 에 있습니다. 또한 레거시 보안 기본 구성에서 사용하는 파일과도 같습니다.
management-http-authentication
management-http-authentication http-authentication-factory는 HTTP를 통한 인증을 수행하는 데 사용할 수 있습니다. 글로벌 provider-http-server-mechanism-factory를 사용하여 인증 메커니즘을 필터링하고 원칙을 인증하는 데 ManagementDomain 을 사용합니다. DIGEST 인증 메커니즘을 수락하고 애플리케이션에 ManagementRealm 으로 노출합니다.
management-sasl-authentication
management-sasl-authentication sasl-authentication-factory는 SASL을 사용한 인증에 사용할 수 있습니다. 구성된 sasl-server-factory를 사용하여 인증 메커니즘을 필터링합니다. 이 메커니즘은 글로벌 provider-sasl-server-factory를 사용하여 공급자 이름으로 필터링합니다. management-sasl-authentication 은 주체 인증을 위해 ManagementDomain 보안 도메인을 사용합니다. 또한 DIGEST -MD5를 사용하여 로컬 영역 매퍼 및 인증을 사용하여 JBOSS-LOCAL- USER 메커니즘을 사용하여 인증을 매핑합니다.
super-user-mapper
super-user-mapper 매퍼는 SuperUser 역할을 주체에 매핑하는 상수 역할 매퍼입니다.

4.1.1. 보안

애플리케이션 보안을 위해 JBoss EAP는 HTTP 및 SASL 사용에 대한 application-http -authentication 으로 사전 구성됩니다. application-http-authentication http-authentication-factory는 인증을 위해 ApplicationRealmgroups-to-roles 를 사용하는 ApplicationDomain 을 사용합니다. ApplicationRealm 은 사용자 이름, 암호 및 역할 정보에 대해 application-users.properties 및 application-roles.properties 에서 지원하는 속성입니다.

관리 인터페이스 보안을 위해 JBoss EAP는 HTTP 및 SASL의 management- sasl-authentication을 위한 management-http -authentication 으로 사전 구성되어 있습니다. management-http-authentication http-authentication-factory는 인증에 ManagementRealmgroups-to-roles 를 사용하는 ManagementDomain 을 사용합니다. ManagementRealm 은 사용자 이름, 암호 및 역할 정보에 대한 mgmt-users.properties 및mgmt-roles.properties 가 지원하는 속성입니다. management-sasl-authentication sasl-authentication-factory는 JBOSS-LOCAL-USER 인증에 local 을 사용하고 DIGEST- MD5 인증에 ManagementRealm 을 사용하는 Management Domain 을 사용합니다.

4.1.2. 작동 방식

기본적으로 JBoss EAP용 사용자는 없지만 이 예제의 목적을 위해 다음 사용자가 추가되었습니다.

표 4.1. 사용자

사용자 이름암호역할보안 영역

수전

Testing123!

 

ManagementRealm

Sarah

Testing123!

샘플

ApplicationRealm

임페어

Testing123!

 

ApplicationRealm

시작 시 JBoss EAP 인스턴스는 4개의 인증 팩토리와 관련 보안 도메인, 보안 영역 및 기타 구성된 구성 요소를 모두 로드합니다.

JBOSS-LOCAL-USER 를 사용하여 관리 CLI를 사용하여 관리 인터페이스에 액세스하려는 경우 JBoss EAP 인스턴스와 동일한 호스트에서 관리 CLI를 실행하는 경우 사용자는 로컬 보안 영역을 사용하여 ManagementDomain 으로 사용자를 인증하려고 할 management-sasl-authentication sasl-authentication-factory로 이동합니다.

Susan이 다른 호스트의 관리 CLI를 사용하여 관리 인터페이스에 액세스하려고 하면 SASL과 함께 DIGEST-MD5 인증 메커니즘을 사용합니다. Management Realm 보안 영역을 사용하여 ManagementDomain 으로 사용자를 인증하려는 management-sasl-authentication sasl-authentication-factory로 이동합니다.

Susan이 웹 기반 관리 콘솔을 사용하여 관리 인터페이스에 액세스하려고 하면 HTTP와 함께 DIGEST 인증 메커니즘을 사용합니다. Management Realm 보안 영역을 사용하여 ManagementDomain 을 사용하여 사용자를 인증하려고 할 management-http-authentication -factory로 이동합니다.

애플리케이션 sampleApp1.war 에는 /hello.html 및 /secure/hello.html 이라는 두 개의 HTML 파일이 있으며, BASIC HTTP 인증을 사용하여 /secure/* 경로를 보호합니다. Application Realm 을 사용하며 샘플 역할을 필요로 합니다. 사용자가 sampleApp1.war 에 액세스하려고 하면 application-http-authentication http-authentication -factory로 이동합니다. ApplicationRealm 보안 영역을 사용하여 ApplicationDomain 으로 사용자를 인증하려고 시도합니다.

Sarah가 /hello.html 을 요청하면 인증하지 않고 페이지를 볼 수 있습니다. Sarah가 /secure/hello.html 을 요청하려고 하면 사용자 이름과 암호를 입력하라는 메시지가 표시됩니다. 로그인 후 /secure/hello.html 을 볼 수 있습니다. redhat 및 Susan 또는 모든 사용자는 /hello.html 에 액세스할 수 있지만 /secure/hello.html 에 액세스할 수는 없습니다. 샘플 역할이 없으며 Susan은 ApplicationRealm 보안 영역에 없습니다.