4장. Elytron 하위 시스템 예제 시나리오
4.1. 바로 상자에서
기본적으로 JBoss EAP는 사전 구성된 다음 구성 요소를 제공합니다.
- ApplicationDomain
-
ApplicationDomain
보안 도메인은 인증을 위해ApplicationRealm
및groups-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
을 사용합니다.BASIC
및FORM
인증 메커니즘을 허용하고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-
MD5wildfly.sasl.local-user.default-user
를$local
로 설정합니다. - default-permission-mapper
default-permission-mapper
는default-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
를 필터링하는 데 사용됩니다. 이 경우elytron
은WildFlyElytron
공급업체 이름에 일치합니다. - 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-mapperlocal
이 있는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를 사용하여
USER로컬
영역 매퍼 및 인증을 사용하여 JBOSS-LOCAL-인증을 매핑합니다.
- super-user-mapper
-
super-user-mapper
매퍼는SuperUser
역할을 주체에 매핑하는 상수 역할 매퍼입니다.
4.1.1. 보안
애플리케이션 보안을 위해 JBoss EAP는 HTTP 및 SASL 사용에 대한
으로 사전 구성됩니다. application-http
-authenticationapplication-http-authentication
http-authentication-factory는 인증을 위해 ApplicationRealm
및 groups-to-roles
를 사용하는 ApplicationDomain
을 사용합니다. ApplicationRealm
은 사용자 이름, 암호 및 역할 정보에 대해
에서 지원하는 속성입니다.
application-users.properties
및 application-roles.properties
관리 인터페이스 보안을 위해 JBoss EAP는 HTTP 및 SASL의 management-
으로 사전 구성되어 있습니다. sasl-authentication을 위한 management-http
-authenticationmanagement-http-authentication
http-authentication-factory는 인증에
을 사용합니다. ManagementRealm
및 groups-to-roles
를 사용하는 ManagementDomainManagementRealm
은 사용자 이름, 암호 및 역할 정보에 대한
가 지원하는 속성입니다. mgmt-users.properties
및mgmt-roles.propertiesmanagement-sasl-authentication
sasl-authentication-factory는 JBOSS-LOCAL-USER
인증에 인증에 local
을 사용하고 DIGEST-
MD5ManagementRealm
을 사용하는 Management Domain
을 사용합니다.
4.1.2. 작동 방식
기본적으로 JBoss EAP용 사용자는 없지만 이 예제의 목적을 위해 다음 사용자가 추가되었습니다.
사용자 이름 | 암호 | 역할 | 보안 영역 |
---|---|---|---|
수전 | 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 및
이라는 두 개의 HTML 파일이 있으며, /secure/hello.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
보안 영역에 없습니다.