19장. 클라이언트 구성
19.1. wildfly-config.xml 파일을 사용한 클라이언트 설정
JBoss EAP 7.1은 모든 클라이언트 구성을 하나의 구성 파일로 통합하기 위한 와일드플ly -config.xml 파일을 도입했습니다.
다음 표는 JBoss EAP에서 the wildfly-config.xml 파일을 사용하여 수행할 수 있는 클라이언트 및 구성 유형과 각 구성의 참조 스키마 링크에 대한 링크를 설명합니다.
| 클라이언트 설정 | 스키마 위치/구성 정보 |
|---|---|
| 인증 클라이언트 |
스키마 참조는 스키마는 http://www.jboss.org/schema/jbossas/elytron-client-1_2.xsd 에도 게시되어 있습니다. |
|
자세한 내용 및 구성 예는 the 자세한 내용은 JBoss EAP에 대한 ID 관리 구성 방법의 Elytron Client로 클라이언트 인증 구성에서 확인할 수 있습니다. | |
| Jakarta Enterprise Beans 클라이언트 |
스키마 참조는 스키마는 http://www.jboss.org/schema/jbossas/wildfly-client-ejb_3_0.xsd 에도 게시되어 있습니다. |
|
자세한 내용 및 구성에 대한 자세한 내용은 Jakarta Enterprise Beans Client Configuration Using the 또 다른 간단한 예는 JBoss EAP 의 마이그레이션 가이드의 Jakarta Enterprise Bean Client에서 Elytron 으로 마이그레이션 섹션에 있습니다. | |
| HTTP 클라이언트 |
스키마 참조는 스키마는 http://www.jboss.org/schema/jbossas/wildfly-http-client_1_0.xsd 에도 게시되어 있습니다. |
| 참고 이 기능은 기술 프리뷰로 만 제공됩니다.
자세한 내용 및 구성 예는 HTTP 클라이언트 구성을 | |
| 클라이언트 원격화 |
스키마 참조는 스키마는 http://www.jboss.org/schema/jbossas/jboss-remoting_5_0.xsd 에도 게시되어 있습니다. |
|
자세한 내용 및 구성에 | |
| XNIO 작업자 클라이언트 |
스키마 참조는 스키마는 http://www.jboss.org/schema/jbossas/xnio_3_5.xsd 에도 게시되어 있습니다. |
|
자세한 내용 및 구성에 대한 자세한 내용은 기본 XNIO 작업자 구성에서 the |
19.1.1. wildfly-config.xml 파일을 사용한 클라이언트 인증 구성
urn:elytron: 요소를 사용하여 client:1.2 네임스페이스에 있는 authentication- clientwildfly-config.xml 파일을 사용하여 클라이언트 인증 정보를 구성할 수 있습니다. 이 섹션에서는 이 요소를 사용하여 클라이언트 인증을 구성하는 방법에 대해 설명합니다.
인증-클라이언트 요소 및 속성
authentication-client 요소에는 하위 요소와 함께 다음 최상위 하위 요소를 선택적으로 포함할 수 있습니다.
credential-stores이 선택적 요소는 구성의 다른 위치에서 참조되는 인증 정보 저장소를 구성 내에 자격 증명을 포함하는 대안으로 정의합니다.
원하는 수의
자격 증명 저장소요소를 포함할 수 있습니다.예:
credentials-stores구성<configuration> <authentication-client xmlns="urn:elytron:client:1.2"> <credential-stores> <credential-store name="..." type="..." provider="..." > <attributes> <attribute name="..." value="..." /> </attributes> <protection-parameter-credentials>...</protection-parameter-credentials> </credential-store> </credential-stores> </authentication-client> </configuration>
credential-store이 요소는 구성의 다른 위치에서 참조되는 자격 증명 저장소를 정의합니다.
다음과 같은 특성이 있습니다.
특성 이름 특성 설명 name
자격 증명 저장소의 이름입니다. 이 속성은 필수입니다.
type
자격 증명 저장소 유형입니다. 이 속성은 선택 사항입니다.
공급자
자격 증명 저장소를 로드하는 데 사용할
java.security.Provider의 이름입니다. 이 속성은 선택 사항입니다.다음 하위 요소 중 하나와 하나만 포함할 수 있습니다.
속성이 요소는 자격 증명 저장소를 초기화하는 데 사용되는 구성 속성을 정의하며 구성에 필요한 만큼 반복될 수 있습니다.
예:
특성구성<attributes> <attribute name="..." value="..." /> </attributes>
protection-parameter-credentials이 요소에는 자격 증명 저장소를 초기화할 때 사용할 보호 매개 변수로 조합할 하나 이상의 자격 증명이 포함되어 있습니다.
인증 정보 저장소 구현에 따라 하나 이상의 다음 하위 요소를 포함할 수 있습니다.
예:
protection-parameter-credentials구성<protection-parameter-credentials> <key-store-reference>...</key-store-reference> <credential-store-reference store="..." alias="..." clear-text="..." /> <clear-password password="..." /> <key-pair public-key-pem="..." private-key-pem="..." /> <certificate private-key-pem="..." pem="..." /> <public-key-pem>...</public-key-pem> <bearer-token value="..." /> <oauth2-bearer-token token-endpoint-uri="...">...</oauth2-bearer-token> </protection-parameter-credentials>
key-store-reference현재 JBoss EAP의 인증 메커니즘에서 사용하지 않는 이 요소는 키 저장소에 대한 참조를 정의합니다.
다음과 같은 특성이 있습니다.
특성 이름 특성 설명 key-store-name
키 저장소 이름입니다. 이 속성은 필수입니다.
alias
참조된 키 저장소에서 로드할 항목의 별칭입니다. 이는 단일 항목만 포함하는 키 저장소에만 대해 생략할 수 있습니다.
및 다음 하위 요소 중 하나만 포함할 수 있습니다.
예:
키 저장소-참조구성<key-store-reference key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-reference>
credential-store-reference이 요소는 자격 증명 저장소에 대한 참조를 정의합니다.
다음과 같은 특성이 있습니다.
특성 이름 특성 설명 저장
자격 증명 저장소 이름입니다.
alias
참조된 자격 증명 저장소에서 로드할 항목의 별칭입니다. 이는 단일 항목만 포함하는 키 저장소에만 대해 생략할 수 있습니다.
clear-text
일반 텍스트 암호.
clear-password- 이 요소는 일반 텍스트 암호를 정의합니다.
key-pair현재 JBoss EAP의 인증 메커니즘에서 사용하지 않는 이 요소는 공개 및 개인 키 쌍을 정의합니다.
다음 하위 요소를 포함할 수 있습니다.
public-key-pem- 현재 JBoss EAP의 인증 메커니즘에서 사용하지 않는 이 요소는 PEM 인코딩 공개 키를 정의합니다.
private-key-pem- 이 요소는 PEM 인코딩 개인 키를 정의합니다.
certificate현재 JBoss EAP의 인증 메커니즘에서 사용하지 않는 이 요소는 인증서를 지정합니다.
다음과 같은 특성이 있습니다.
특성 이름 특성 설명 private-key-pem
PEM으로 인코딩된 개인 키입니다.
PEM
해당 인증서입니다.
bearer-token- 이 요소는 전달자 토큰을 정의합니다.
oauth2-bearer-token이 요소는 OAuth 2 전달자 토큰을 정의합니다.
다음과 같은 속성이 있습니다.
특성 이름 특성 설명 token-endpoint-uri
토큰 엔드포인트의 URI입니다.
다음 하위 요소 중 하나와 하나만 포함할 수 있습니다.
client-credentials이 요소는 클라이언트 자격 증명을 정의합니다.
다음과 같은 특성이 있습니다.
특성 이름 특성 설명 client-id
클라이언트 ID입니다. 이 속성은 필수입니다.
client-secret
클라이언트 비밀입니다. 이 속성은 필수입니다.
resource-owner-credentials이 요소는 리소스 소유자 자격 증명을 정의합니다.
다음과 같은 특성이 있습니다.
특성 이름 특성 설명 name
리소스 이름입니다. 이 속성은 필수입니다.
암호문
암호. 이 속성은 필수입니다.
key-stores이 선택적 요소는 구성의 다른 위치에서 참조되는 키 저장소를 정의합니다.
예:
키 저장소구성<configuration> <authentication-client xmlns="urn:elytron:client:1.2"> <key-stores> <key-store name="..."> <!-- The following 3 elements specify where to load the keystore from. --> <file name="..." /> <load-from uri="..." /> <resource name="..." /> <!-- One of the following to specify the protection parameter to unlock the keystore. --> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store> </key-stores> ... </authentication-client> </configuration>
key-store이 선택적 요소는 구성의 다른 위치에서 참조되는 키 저장소를 정의합니다.
키 저장소에는 다음과같은 특성이 있습니다.특성 이름 특성 설명 name
키 저장소의 이름입니다. 이 속성은 필수입니다.
type
키 저장소 유형(예:
JCEKS)입니다. 이 속성은 필수입니다.공급자
자격 증명 저장소를 로드하는 데 사용할
java.security.Provider의 이름입니다. 이 속성은 선택 사항입니다.wrap-passwords
true인 경우
암호가래핑됩니다. 암호는 명확한 암호 콘텐츠를 가지고 UTF-8로 인코딩하고 결과 바이트를 비밀 키로 저장하여 저장됩니다. 기본값은false입니다.키 저장소를 로드할 위치를 정의하는 다음 요소 중 정확히 하나가 포함되어야 합니다.
또한 키 저장소를 초기화할 때 사용할 protection 매개 변수를 지정하는 다음 요소 중 하나를 포함해야 합니다.
file이 요소는 키 저장소 파일의 이름을 지정합니다.
다음과 같은 속성이 있습니다.
특성 이름 특성 설명 name
정규화된 파일 경로 및 파일 이름.
load-from이 요소는 키 저장소 파일의 URI를 지정합니다.
다음과 같은 속성이 있습니다.
특성 이름 특성 설명 uri
키 저장소 파일의 URI입니다.
resource이 요소는
스레드컨텍스트 클래스 로더에서 로드할 리소스의 이름을 지정합니다.다음과 같은 속성이 있습니다.
특성 이름 특성 설명 name
리소스의 이름.
key-store-clear-password이 요소는 일반 텍스트 암호를 지정합니다.
다음과 같은 속성이 있습니다.
특성 이름 특성 설명 암호
일반 텍스트 암호.
key-store-credential이 요소는 이 키 저장소에 액세스하기 위해 보호 매개 변수로 사용할 항목을 가져오는 다른 키 저장소에 대한 참조를 지정합니다.
key-store-credential요소에는 다음 속성이 있습니다.특성 이름 특성 설명 key-store-name
키 저장소 이름입니다. 이 속성은 필수입니다.
alias
참조된 키 저장소에서 로드할 항목의 별칭입니다. 이는 단일 항목만 포함하는 키 저장소에만 대해 생략할 수 있습니다.
및 다음 하위 요소 중 하나만 포함할 수 있습니다.
예:
key-store-credential구성<key-store-credential key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-credential>
authentication-rules이 요소는 아웃바운드 연결과 일치하는 규칙을 정의하여 적절한 인증 구성을 적용합니다.
인증 구성이 필요한경우 액세스한 리소스의 URI와 선택적 추상 유형 및 추상 유형 기관이 구성에 정의된 규칙과 일치하여사용할 인증구성을 식별합니다.이 요소에는 하나 이상의 하위
규칙요소가 포함될 수 있습니다.예:
authentication-rules구성<configuration> <authentication-client xmlns="urn:elytron:client:1.2"> ... <authentication-rules> <rule use-configuration="..."> ... </rule> </authentication-rules> ... </authentication-client> </configuration>
규칙이 요소는 아웃바운드 연결과 일치하는 규칙을 정의하여 적절한 인증 구성을 적용합니다.
다음과 같은 속성이 있습니다.
특성 이름 특성 설명 use-configuration
규칙이 일치할 때 선택되는 인증 구성입니다.
인증 구성 규칙 일치는 SSL 컨텍스트 규칙 일치와 독립적입니다. 인증 규칙 구조는 SSL 컨텍스트 규칙 구조와 동일합니다. 단, SSL 컨텍스트 규칙은 SSL 컨텍스트 규칙을 참조합니다.
다음 하위 요소를 포함할 수 있습니다.
예: 인증을 위한
규칙구성<rule use-configuration="..."> <!-- At most one of the following two can be defined. --> <match-no-user /> <match-user name="..." /> <!-- Each of the following can be defined at most once. --> <match-protocol name="..." /> <match-host name="..." /> <match-path name="..." /> <match-port number="..." /> <match-urn name="..." /> <match-domain name="..." /> <match-abstract-type name="..." authority="..." /> </rule>
match-no-user-
이 규칙은 URI에 포함된
user-info가 없는 경우와 일치합니다.
match-user-
이 규칙은 URI에 포함된
user-info가 이 요소에 지정된name특성과 일치하는 경우 일치합니다.
match-protocol-
이 규칙은 URI 내의 프로토콜이 이 요소에 지정된 프로토콜
이름특성과 일치하는 경우 일치합니다.
match-host-
이 규칙은 URI 내에 지정된 호스트 이름이 이 요소에 지정된 호스트
이름특성과 일치하는 경우 일치합니다.
match-path-
이 규칙은 URI 내에 지정된 경로가 이 요소에 지정된 경로
이름특성과 일치하는 경우 일치합니다.
match-port-
이 규칙은 URI 내에 지정된 포트 번호가 이 요소에 지정된 포트
번호특성과 일치하는 경우 일치합니다. 이는 URI 내에 지정된 번호와 프로토콜에서 파생된 기본 포트 번호와 일치하지 않습니다.
match-urn-
이 규칙은 URI의 체계별 부분이 이 요소에 지정된
name특성과 일치하는 경우 일치합니다.
match-domain-name-
이 규칙은 URI의 프로토콜이
domain이고 URI의 체계별 부분이 이 요소에 지정된name특성과 일치하는 경우 일치합니다.
match-abstract-type-
이 규칙은 추상 유형이
name특성과 일치하고 authority가 이 요소에 지정된authority속성과 일치하는 경우 일치합니다.
authentication-configurations이 요소는 인증 규칙에 따라 선택할 명명된 인증 구성을 정의합니다.
하나 이상의
구성요소를 포함할 수 있습니다.예:
authentication-configurations구성<configuration> <authentication-client xmlns="urn:elytron:client:1.2"> <authentication-configurations> <configuration name="..."> <!-- Destination Overrides. --> <set-host name="..." /> <set-port number="..." /> <set-protocol name="..." /> <!-- At most one of the following two elements. --> <set-user-name name="..." /> <set-anonymous /> <set-mechanism-realm name="..." /> <rewrite-user-name-regex pattern="..." replacement="..." /> <sasl-mechanism-selector selector="..." /> <set-mechanism-properties> <property key="..." value="..." /> </set-mechanism-properties> <credentials>...</credentials> <set-authorization-name name="..." /> <providers>...</providers> <!-- At most one of the following two elements. --> <use-provider-sasl-factory /> <use-service-loader-sasl-factory module-name="..." /> </configuration> </authentication-configurations> </authentication-client> </configuration>
설정이 요소는 인증 규칙에 따라 선택할 명명된 인증 구성을 정의합니다.
다음 하위 요소를 포함할 수 있습니다.
-
선택적
set-host-name,set-port-number및set-protocol요소는 대상을 재정의할 수 있습니다. -
선택적
set-user-name및set-anonymous요소는 상호 배타적이며 인증을 위해 이름을 설정하거나 익명 인증으로 전환하는 데 사용할 수 있습니다. -
다음으로
set-mechanism-realm-name, rewrite-user-name-regex,sasl-mechanism-selector,set-mechanism-properties,credentials,set-authorization-name및provider선택적 요소입니다. -
마지막 옵션인
use-provider-sasl-factory및use-service-loader-sasl-factory요소는 상호 배타적이며 인증을 위해 SASL 메커니즘 팩토리가 검색되는 방식을 정의합니다.
-
선택적
set-host-name이 요소는 인증된 호출의 호스트 이름을 재정의합니다.
다음과 같은 속성이 있습니다.
특성 이름 특성 설명 name
호스트 이름입니다.
set-port-number이 요소는 인증된 호출의 포트 번호를 재정의합니다.
다음과 같은 속성이 있습니다.
특성 이름 특성 설명 숫자
포트 번호입니다.
set-protocol이 요소는 인증된 호출의 프로토콜을 재정의합니다.
다음과 같은 속성이 있습니다.
특성 이름 특성 설명 name
프로토콜.
set-user-name이 요소는 인증에 사용할 사용자 이름을 설정합니다.
set-anonymous요소와 함께 사용하면 안 됩니다.다음과 같은 속성이 있습니다.
특성 이름 특성 설명 name
인증에 사용할 사용자 이름입니다.
set-anonymous-
요소는 익명 인증으로 전환하는 데 사용됩니다.
set-user-name요소와 함께 사용해서는 안 됩니다.
set-mechanism-realm-name이 요소는 필요한 경우 SASL 메커니즘에서 선택할 영역의 이름을 지정합니다.
다음과 같은 속성이 있습니다.
특성 이름 특성 설명 name
영역의 이름입니다.
rewrite-user-name-regex이 요소는 정규 표현식 패턴을 정의하고 인증에 사용되는 사용자 이름을 다시 작성하기 위한 교체 방법을 정의합니다.
다음과 같은 특성이 있습니다.
특성 이름 특성 설명 패턴
정규 표현식 패턴.
교체
를 대체하여 인증에 사용되는 사용자 이름을 다시 작성합니다.
sasl-mechanism-selector이 요소는
org.wildfly.security.sasl.SaslMechanismSelector.fromString(문자열)메서드의 구문을 사용하여 SASL 메커니즘 선택기를 지정합니다.다음과 같은 속성이 있습니다.
특성 이름 특성 설명 선택기
SASL 메커니즘 선택기.
the
sasl-mechanism-selector에 필요한 교체에 대한 자세한 내용은 How to Configure Server Security for JBoss EAP에서참조하십시오.
set-mechanism-properties-
이 요소에는 인증 메커니즘에 전달할 하나 이상의
속성요소가 포함될 수 있습니다.
property이 요소는 인증 메커니즘에 전달할 속성을 정의합니다.
다음과 같은 특성이 있습니다.
특성 이름 특성 설명 key
속성 이름입니다.
value
속성 값입니다.
인증 정보이 요소는 인증 중에 사용할 수 있는 하나 이상의 자격 증명을 정의합니다.
인증 정보 저장소 구현에 따라 하나 이상의 다음 하위 요소를 포함할 수 있습니다.
이러한 요소는
protection-parameter-credentials요소에 포함된 항목과 동일한 하위 요소입니다. 자세한 내용 및 구성 예는protection-parameter-credentials요소를 참조하십시오.
set-authorization-name이 요소는 인증 ID와 다른 경우 권한 부여에 사용해야 하는 이름을 지정합니다.
다음과 같은 특성이 있습니다.
특성 이름 특성 설명 name
권한 부여에 사용해야 하는 이름입니다.
use-provider-sasl-factory-
이 요소는 이 구성에서 상속되거나 정의되었으며 사용 가능한 SASL 클라이언트 팩토리를 찾는 데 사용되는
java.security.Provider인스턴스를 지정합니다. 이 요소는use-service-loader-sasl-factory요소와 함께 사용하면 안 됩니다.
use-service-loader-sasl-factory이 요소는 서비스 로더 검색 메커니즘을 사용하여 SASL 클라이언트 팩토리를 검색하는 데 사용되는 모듈을 지정합니다. 모듈을 지정하지 않으면 구성을 로드한 클래스 로더가 사용됩니다. 이 요소는
use-provider-sasl-factory요소와 함께 사용하면 안 됩니다.다음과 같은 속성이 있습니다.
특성 이름 특성 설명 module-name
모듈의 이름입니다.
net-authenticator이 요소에는 구성이 없습니다. 있는 경우
org.wildfly.security.auth.util.ElytronAuthenticator가java.net.Authenticator.setDefault(Authenticator)에 등록됩니다. 이를 통해 인증이 필요한 HTTP 호출에 JDK API를 사용할 때 Elytron 인증 클라이언트 구성을 인증에 사용할 수 있습니다.참고JDK는 JVM에서 첫 번째 호출 시 인증을 캐시하므로 동일한 URI에 대한 다른 호출에 다른 자격 증명이 필요하지 않은 독립 실행형 프로세스에서만 이 방법을 사용하는 것이 좋습니다.
ssl-context-rules이 선택적 요소는 SSL 컨텍스트 규칙을 정의합니다.
ssl-context가 필요한 경우 액세스한 리소스의 URI와 선택적 추상 유형 및 추상 유형 권한이 구성에 정의된 규칙과 일치하여 사용해야 하는ssl-context를 식별합니다.이 요소에는 하나 이상의 하위
규칙요소가 포함될 수 있습니다.예:
ssl-context-rules구성<configuration> <authentication-client xmlns="urn:elytron:client:1.2"> <ssl-context-rules> <rule use-ssl-context="..."> ... </rule> </ssl-context-rules> ... </authentication-client> </configuration>
규칙이 요소는 SSL 컨텍스트 정의와 일치하는 규칙을 정의합니다.
다음과 같은 속성이 있습니다.
특성 이름 특성 설명 use-ssl-context
규칙이 일치할 때 선택하는 SSL 컨텍스트 정의입니다.
SSL 컨텍스트 규칙 일치는 인증 규칙 일치와 독립적입니다. SSL 컨텍스트 규칙 구조는 SSL 컨텍스트를 참조하는 반면 인증 규칙은 인증 구성을 참조한다는 점을 제외하고는 인증 구성 규칙 구조와 동일합니다.
다음 하위 요소를 포함할 수 있습니다.
예: SSL 컨텍스트에 대한
규칙구성<rule use-ssl-context="..."> <!-- At most one of the following two can be defined. --> <match-no-user /> <match-user name="..." /> <!-- Each of the following can be defined at most once. --> <match-protocol name="..." /> <match-host name="..." /> <match-path name="..." /> <match-port number="..." /> <match-urn name="..." /> <match-domain name="..." /> <match-abstract-type name="..." authority="..." /> </rule>
ssl-contexts이 선택적 요소는 SSL 컨텍스트 규칙에 의해 선택할 SSL 컨텍스트 정의를 정의합니다.
예:
ssl-contexts구성<configuration> <authentication-client xmlns="urn:elytron:client:1.2"> <ssl-contexts> <default-ssl-context name="..."/> <ssl-context name="..."> <key-store-ssl-certificate>...</key-store-ssl-certificate> <trust-store key-store-name="..." /> <cipher-suite selector="..." /> <protocol names="... ..." /> <provider-name name="..." /> <providers>...</providers> <certificate-revocation-list path="..." maximum-cert-path="..." /> </ssl-context> </ssl-contexts> </authentication-client> </configuration>
default-ssl-context-
이 요소는
javax.net.ssl.SSLContext.getDefault()에서반환한 SSLContext를 가져와ssl-context-rules에서 참조할 수 있도록 이름을 할당합니다. 이 요소는 반복할 수 있습니다. 즉, 다른 이름을 사용하여 기본 SSL 컨텍스트를 참조할 수 있습니다.
ssl-context이 요소는 연결에 사용할 SSL 컨텍스트를 정의합니다.
선택적으로 다음 하위 요소 중 하나를 포함할 수 있습니다.
key-store-ssl-certificate이 요소는 이 SSL 컨텍스트에 사용할 키 저장소 내의 항목에 대한 참조를 정의합니다.
다음과 같은 특성이 있습니다.
특성 이름 특성 설명 key-store-name
키 저장소 이름입니다. 이 속성은 필수입니다.
alias
참조된 키 저장소에서 로드할 항목의 별칭입니다. 이는 단일 항목만 포함하는 키 저장소에만 대해 생략할 수 있습니다.
다음과 같은 하위 요소를 포함할 수 있습니다.
이 구조는
키 저장소-자격 증명구성에 사용되는 구조와 거의 동일합니다. 여기서 키 및 인증서에 대한 항목을 가져옵니다. 그러나 중첩된key-store-clean-password및key-store-credential요소는 여전히 항목을 잠금 해제하기 위한 보호 매개 변수를 제공합니다.예:
key-store-ssl-certificate구성<key-store-ssl-certificate key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-ssl-certificate>
trust-store이 요소는
TrustManager를 초기화하는 데 사용되는 키 저장소에 대한 참조입니다.다음과 같은 속성이 있습니다.
특성 이름 특성 설명 key-store-name
키 저장소 이름입니다. 이 속성은 필수입니다.
cipher-suite이 요소는 활성화된 암호화 제품군에 대한 필터를 구성합니다.
다음과 같은 속성이 있습니다.
특성 이름 특성 설명 선택기
암호화 제품군을 필터링하는 선택기입니다. 선택기는
org.wildfly.security.ssl.CipherSuiteSelector.fromString(selector)메서드로 생성된 OpenSSL 스타일 암호 목록 문자열의 형식을 사용합니다.예: 기본 필터링을 사용하는
암호화-강의 구성<cipher-suite selector="DEFAULT" />
protocol-
이 요소는 지원할 프로토콜의 공백으로 구분된 목록을 정의합니다. 사용 가능한 프로토콜 목록은 How to Configure Server Security for JBoss EAP에서 client-ssl-context 속성 테이블을 참조하십시오.
TLSv1.2를 사용하는 것이 좋습니다.
provider-name- 사용 가능한 공급업체가 식별되면 이 요소에 정의된 이름이 있는 공급자만 사용됩니다.
certificate-revocation-list이 요소는 인증서 폐기 목록의 경로와 인증 경로에 존재할 수 있는 자체 발급되지 않은 최대 중간 인증서 수를 모두 정의합니다. 이 요소가 있으면 인증서 폐기 목록에 대해 피어의 인증서를 확인할 수 있습니다.
다음과 같은 특성이 있습니다.
특성 이름 특성 설명 경로
자격증 목록의 경로. 이 속성은 선택 사항입니다.
maximum-cert-path
인증 경로에 존재할 수 있는 자체 발급되지 않은 최대 중간 인증서 수입니다. 이 속성은 선택 사항입니다.
공급자이 요소는 필요한 경우
java.security.Provider인스턴스가 있는 방법을 정의합니다.다음 하위 요소를 포함할 수 있습니다.
authentication-client의 구성 섹션은 서로 독립적이므로 다음 위치에서 이 요소를 구성할 수 있습니다.예제:
공급자구성의 위치<configuration> <authentication-client xmlns="urn:elytron:client:1.2"> <providers /> ... <credential-stores> <credential-store name="..."> ... <providers /> </credential-store> </credential-stores> ... <authentication-configurations> <authentication-configuration name="..."> ... <providers /> </authentication-configuration> </authentication-configurations> ... <ssl-contexts> <ssl-context name="..."> ... <providers /> </ssl-context> </ssl-contexts> </authentication-client> </configuration>프로바이더구성은 재정의되지 않는 한 정의된 요소와 하위 요소에 모두 적용됩니다. 하위 요소의공급자사양은 상위 요소에 지정된프로바이더를 재정의합니다.공급자구성이 지정되지 않은 경우 기본 동작은 다음과 같습니다. 이는 전 세계에 등록된 공급자에 대해 Elytron 공급자 우선 순위를 부여하지만 세계적으로 등록된 공급자를 사용할 수도 있습니다.예:
공급자구성<providers> <use-service-loader /> <global /> </providers>
global-
이 빈 요소는
java.security.Security.getProviders()메서드 호출로 로드된 글로벌 공급자를 사용하도록 지정합니다.
use-service-loader- 이 빈 요소는 지정된 모듈에 의해 로드되는 공급자를 사용하도록 지정합니다. 모듈을 지정하지 않으면 인증 클라이언트를 로드한 클래스 로더가 사용됩니다.
모든 JBoss EAP 인증 메커니즘에서 현재 사용되지 않는 요소
현재 Elytron 클라이언트 구성의 자격 증명 요소의 하위 요소는 JBoss EAP의 인증 메커니즘에서 사용되지 않습니다. 인증 메커니즘의 사용자 지정 구현에서 사용할 수 있지만 이러한 메커니즘은 지원되지 않습니다.
-
key-pair -
public-key-pem -
key-store-reference -
certificate
19.1.2. wildfly-config.xml 파일을 사용한 Jakarta Enterprise Beans 클라이언트 구성
urn:jboss:wildfly 파일을 사용하여 Jakarta Enterprise Beans 클라이언트 연결, 글로벌 인터셉터 및 호출 시간 초과를 구성할 수 있습니다. 이 섹션에서는 이 요소를 사용하여 Jakarta Enterprise Beans 클라이언트를 구성하는 방법에 대해 설명합니다.
-client-ejb:3.0 네임스페이스에 있는 jboss -ejb-client 요소를 사용하여 wildfly- config.xml
jboss-ejb-client 요소 및 속성
jboss-ejb-client 요소에는 다음 세 가지 최상위 하위 요소를 하위 요소와 함께 선택적으로 포함할 수 있습니다.
invocation-timeout이 선택적 요소는 Jakarta Enterprise Beans 호출 시간 초과를 지정합니다. 다음과 같은 속성이 있습니다.
특성 이름 특성 설명 초
Jakarta Enterprise Beans 핸드셰이크 또는 메서드 호출 요청/응답 주기의 시간 제한(초)입니다. 이 속성은 필수입니다.
메서드 실행이 시간 초과 기간보다 오래 걸리는 경우 호출에서
java.util.concurrent.TimeoutException이 발생하지만 서버 측은 중단되지 않습니다.
global-interceptors-
이 선택적 요소는 글로벌 Jakarta Enterprise Beans 클라이언트 인터셉터를 지정합니다. 임의의 수의
인터셉터요소를 포함할 수 있습니다.
interceptor이 요소는 Jakarta Enterprise Beans 클라이언트 인터셉터를 지정하는 데 사용됩니다. 다음과 같은 특성이 있습니다.
특성 이름 특성 설명 클래스
org.jboss.ejb.client.EJBClientInterceptor인터페이스를 구현하는 클래스의 이름입니다. 이 속성은 필수입니다.module
인터셉터 클래스를 로드하는 데 사용해야 하는 모듈의 이름입니다. 이 속성은 선택 사항입니다.
연결-
이 요소는 Jakarta Enterprise Beans 클라이언트 연결을 지정하는 데 사용됩니다. 원하는 수의
연결요소를 포함할 수 있습니다.
연결이 요소는 Jakarta Enterprise Beans 클라이언트 연결을 지정하는 데 사용됩니다. 선택적으로
인터셉터요소를 포함할 수 있습니다. 다음과 같은 속성이 있습니다.특성 이름 특성 설명 uri
연결의 대상 URI입니다. 이 속성은 필수입니다.
인터셉터-
이 요소는 Jakarta Enterprise Beans 클라이언트 인터셉터를 지정하는 데 사용되며 많은
인터셉터요소를 포함할 수 있습니다.
예: the wildfly-config.xml 파일의 Jakarta Enterprise Beans 클라이언트 구성
다음은 the wildfly-config.xml 파일에서 jboss-ejb-client 요소를 사용하여 Jakarta Enterprise Beans 클라이언트 연결, 글로벌 인터셉터 및 호출 타임아웃을 구성하는 예제입니다.
<configuration>
...
<jboss-ejb-client xmlns="urn:jboss:wildfly-client-ejb:3.0">
<invocation-timeout seconds="10"/>
<connections>
<connection uri="remote+http://10.20.30.40:8080"/>
</connections>
<global-interceptors>
<interceptor class="org.jboss.example.ExampleInterceptor"/>
</global-interceptors>
</jboss-ejb-client>
...
</configuration>19.1.3. wildfly-config.xml 파일을 사용한 HTTP 클라이언트 구성
다음은 the wildfly-config.xml 파일을 사용하여 HTTP 클라이언트를 구성하는 방법의 예입니다.
<configuration>
...
<http-client xmlns="urn:wildfly-http-client:1.0">
<defaults>
<eagerly-acquire-session value="true" />
<buffer-pool buffer-size="2000" max-size="10" direct="true" thread-local-size="1" />
</defaults>
</http-client>
...
</configuration>
the wildfly-config.xml 파일을 사용하는 HTTP 클라이언트 구성은 기술 프리뷰로만 제공됩니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원하지 않으며, 기능상 완전하지 않을 수 있어 프로덕션에 사용하지 않는 것이 좋습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
기술 프리뷰 기능에 대한 지원 범위에 대한 자세한 내용은 Red Hat 고객 포털의 기술 프리뷰 기능 지원 범위를 참조하십시오.
19.1.4. wildfly-config.xml 파일을 사용하여 클라이언트 설정 원격
urn:jboss-remoting:5.0 네임스페이스에 있는 파일을 사용하여 클라이언트 리모팅을 구성할 수 있습니다. 이 섹션에서는 이 요소를 사용하여 원격 클라이언트를 구성하는 방법에 대해 설명합니다.
endpoint 요소를 사용하여 the wildfly- config.xml
끝점 요소 및 속성
엔드포인트 요소는 선택적으로 다음 두 개의 최상위 하위 요소를 하위 요소와 함께 포함할 수 있습니다.
또한 다음과 같은 속성이 있습니다.
| 특성 이름 | 특성 설명 |
|---|---|
| name | 엔드포인트 이름입니다. 이 속성은 선택 사항입니다. 제공하지 않으면 가능한 경우 시스템의 호스트 이름에서 엔드포인트 이름을 파생합니다. |
공급자-
이 선택적 요소는 원격 엔드포인트에 대한 전송 프로바이더를 지정합니다. 원하는 수의
공급자요소를 포함할 수 있습니다.
provider이 요소는 원격 전송 공급자를 정의합니다. 다음과 같은 특성이 있습니다.
특성 이름 특성 설명 스키마
이 공급자에 해당하는 기본 URI 스키마입니다. 이 속성은 필수입니다.
aliases
이 공급자에게도 인식되는 다른 URI 체계 이름의 공백으로 구분된 목록입니다. 이 속성은 선택 사항입니다.
module
프로바이더 구현이 포함된 모듈의 이름입니다. 이 속성은 선택 사항입니다. 제공하지 않는 경우 JBoss Remoting을 로드하는 클래스 로더는 공급자 클래스를 검색합니다.
클래스
전송 프로바이더를 구현하는 클래스의 이름입니다. 이 속성은 선택 사항입니다. 제공되지 않는 경우
java.util.ServiceLoader기능은 공급자 클래스를 검색하는 데 사용됩니다.
연결-
이 선택적 요소는 원격 엔드포인트에 대한 연결을 지정합니다. 원하는 수의
연결요소를 포함할 수 있습니다.
연결이 요소는 원격 엔드포인트에 대한 연결을 정의합니다. 다음과 같은 특성이 있습니다.
특성 이름 특성 설명 대상
엔드포인트의 대상 URI입니다. 이 속성은 필수입니다.
read-timeout
해당 소켓에 대한 읽기 작업에 대한 시간 제한(초)입니다. 이 특성은 선택 사항이지만
heartbeat-interval이 정의된 경우에만 제공해야 합니다.write-timeout
쓰기 작업에 대한 시간 제한(초)입니다. 이 특성은 선택 사항이지만
heartbeat-interval이 정의된 경우에만 제공해야 합니다.ip-traffic-class
이 연결의 트래픽에 사용할 숫자 IP 트래픽 클래스를 정의합니다. 이 속성은 선택 사항입니다.
tcp-keepalive
TCP keepalive 사용 여부를 결정하는 부울 설정입니다. 이 속성은 선택 사항입니다.
heartbeat-interval
연결 하트비트를 확인할 때 사용할 간격(밀리초)입니다. 이 속성은 선택 사항입니다.
the wildfly-config.xml 파일에서 클라이언트 구성 원격화의 예
다음은 the wildfly-config.xml 파일을 사용하여 원격 클라이언트를 구성하는 예입니다.
<configuration>
...
<endpoint xmlns="urn:jboss-remoting:5.0">
<connections>
<connection destination="remote+http://10.20.30.40:8080" read-timeout="50" write-timeout="50" heartbeat-interval="10000"/>
</connections>
</endpoint>
...
</configuration>19.1.5. wildfly-config.xml 파일을 사용한 기본 XNIO 작업자 구성
urn:xnio:3.5 네임스페이스에 있는 worker 요소를 사용하여 the wildfly-config.xml 파일을 사용하여 XNIO 작업자를 구성할 수 있습니다. 이 섹션에서는 이 요소를 사용하여 XNIO 작업자 클라이언트를 구성하는 방법에 대해 설명합니다.
작업자 요소 및 속성
worker 요소는 선택적으로 하위 요소와 함께 다음 최상위 하위 요소를 포함할 수 있습니다.
daemon-threads이 선택적 요소는 작업자 및 작업 스레드가 데몬 스레드인지 여부를 지정합니다. 이 요소에는 콘텐츠가 없습니다. 다음과 같은 속성이 있습니다.
특성 이름 특성 설명 value
작업자 및 작업 스레드가 데몬 스레드인지 여부를 지정하는 부울 값입니다.
true값은 작업자 및 작업 스레드가 데몬 스레드여야 함을 나타냅니다.false값은 데몬 스레드가 될 수 없음을 나타냅니다. 이 속성은 필수입니다.이 요소가 제공되지 않으면 값이
true라고 가정합니다.
worker-name이 요소는 작업자의 이름을 정의합니다. 작업자 이름은 스레드 덤프 및 자카르타 관리에 표시됩니다. 이 요소에는 콘텐츠가 없습니다. 다음과 같은 속성이 있습니다.
특성 이름 특성 설명 value
작업자의 이름입니다. 이 속성은 필수입니다.
pool-size이 선택적 요소는 작업자의 작업 스레드 풀의 최대 크기를 정의합니다. 이 요소에는 콘텐츠가 없습니다. 다음과 같은 속성이 있습니다.
특성 이름 특성 설명 max-threads
생성해야 하는 최대 스레드 수를 지정하는 양의 정수입니다. 이 속성은 필수입니다.
task-keepalive이 선택적 요소는 작업 스레드가 만료되기 전에 유지 시간을 설정합니다. 다음과 같은 속성이 있습니다.
특성 이름 특성 설명 value
유휴 스레드를 활성 상태로 유지하기 위해 최소 시간(초)을 지정하는 양의 정수입니다. 이 속성은 필수입니다.
io-threads이 선택적 요소는 유지 관리해야 하는 I/O 선택기 스레드 수를 결정합니다. 일반적으로 이 숫자는 사용 가능한 코어 수의 배수인 소수의 상수여야 합니다. 다음과 같은 속성이 있습니다.
특성 이름 특성 설명 value
I/O 스레드 수를 지정하는 양의 정수입니다. 이 속성은 필수입니다.
stack-size이 선택적 요소는 작업자 스레드에 대해 원하는 최소 스레드 스택 크기를 설정합니다. 이 요소는 밀도가 프리미엄인 매우 특별한 상황에서만 정의해야 합니다. 다음과 같은 속성이 있습니다.
특성 이름 특성 설명 value
요청된 스택 크기를 바이트로 지정하는 양의 정수입니다. 이 속성은 필수입니다.
outbound-bind-addresses-
이 선택적 요소는 아웃바운드 연결에 사용할 바인드 주소를 지정합니다. 각 바인딩 주소 매핑은 대상 IP 주소 블록과 해당 블록 내의 대상 연결에 사용할 바인드 주소 및 선택적 포트 번호로 구성됩니다. 다수의
bind-address요소를 포함할 수 있습니다.
bind-address이 선택적 요소는 개별 바인드 주소 매핑을 정의합니다. 다음과 같은 특성이 있습니다.
특성 이름 특성 설명 일치
일치하는 CIDR 표기법의 IP 주소 블록입니다.
bind-address
address 블록이 일치하는 경우 바인딩할 IP 주소입니다. 이 속성은 필수입니다.
bind-port
주소 블록이 일치하는 경우 에 바인딩할 포트 번호입니다. 이 값은
0으로 지정되므로 모든 포트에 바인딩됩니다. 이 속성은 선택 사항입니다.
the wildfly-config.xml 파일의 XNIO 작업자 구성 예
다음은 the wildfly-config.xml 파일을 사용하여 기본 XNIO 작업자를 구성하는 방법의 예입니다.
<configuration>
...
<worker xmlns="urn:xnio:3.5">
<io-threads value="10"/>
<task-keepalive value="100"/>
</worker>
...
</configuration>