4장. 하위 시스템 구성 관리
Red Hat Single Sign-On의 낮은 수준 구성은 배포 시 standalone.xml
,standalone-ha.xml
, domain.xml
파일을 편집하여 수행됩니다. 이 파일의 위치는 작동 모드에 따라 다릅니다.
여기에서 구성할 수 있는 무제한 설정이 있지만 이 섹션에서는 keycloak-server 하위 시스템의 구성에 중점을 둡니다. 사용 중인 구성 파일에 관계없이 keycloak-server 하위 시스템의 구성은 동일합니다.
keycloak-server 하위 시스템은 일반적으로 다음과 같이 파일의 끝에 선언됩니다.
<subsystem xmlns="urn:jboss:domain:keycloak-server:1.2"> <web-context>auth</web-context> ... </subsystem>
이 하위 시스템에서 변경된 내용은 서버가 재부팅될 때까지 적용되지 않습니다.
4.1. SPI 공급자 구성
각 구성 설정의 세부 사항은 해당 설정과 컨텍스트의 다른 위치에서 설명합니다. 그러나 SPI 공급자의 설정을 선언하는 데 사용되는 형식을 이해하는 것이 유용합니다.
Red Hat Single Sign-On은 뛰어난 유연성을 제공하는 모듈식 시스템입니다. 50개 이상의 SPI(서비스 공급자 인터페이스)가 있으며 각 SPI의 구현을 스왑 아웃할 수 있습니다. SPI 구현을 공급자 라고 합니다.
SPI 선언의 모든 요소는 선택 사항이지만 전체 SPI 선언은 다음과 같습니다.
<spi name="myspi"> <default-provider>myprovider</default-provider> <properties> <property name="spi-foo" value="spi-bar"/> </properties> <provider name="myprovider" enabled="true"> <properties> <property name="foo" value="bar"/> </properties> </provider> <provider name="mysecondprovider" enabled="true"> <properties> <property name="foo" value="foo"/> </properties> </provider> </spi>
여기에서 SPI myspi
에 대해 두 개의 공급 업체가 정의되어 있습니다. default-provider
가 myprovider
로 나열됩니다. 그러나 SPI는 이 설정을 처리하는 방법을 결정합니다. 일부 SPI는 둘 이상의 공급자를 허용하고 일부는 그렇지 않습니다. 따라서 default-provider
는 SPI를 선택하는 데 도움이 될 수 있습니다.
SPI 속성을
사용하여 SPI별 구성 속성을 지정할 수 있습니다. 예를 들어 사용자
,클라이언트
및 역할
SPI를 사용하면 다음과 같이 storageProviderTimeout
속성을 통해 스토리지 공급자 시간 초과를 밀리초 단위로 구성할 수 있습니다.
<spi name="user"> <properties> <property name="storageProviderTimeout" value="10000"/> </properties> </spi>
또한 각 공급자는 고유한 구성 속성 집합을 정의합니다. 위의 두 공급자 모두 foo
라는 속성이 있다는 사실은 일치 항목일 뿐입니다.
각 속성 값의 유형은 공급자가 해석합니다. 그러나 한 가지 예외가 있습니다. eventsStore
SPI의 jpa
공급자를 고려하십시오.
<spi name="eventsStore"> <provider name="jpa" enabled="true"> <properties> <property name="exclude-events" value="["EVENT1", "EVENT2"]"/> </properties> </provider> </spi>
값이 대괄호로 시작되고 끝나는 것을 확인할 수 있습니다. 즉, 값이 공급자에게 목록으로 전달됩니다. 이 예에서 시스템은 공급자에게 두 개의 요소 값이 있는 목록을 전달합니다. 목록에 더 많은 값을 추가하려면 각 목록 요소를 쉼표로 구분하기만 하면 됩니다. 슬프게도 각 목록 요소를 따옴표로 이스케이프해야 합니다.
사용자 정의 공급자 및 공급자 구성에 대한 자세한 내용은 서버 개발자 가이드 의 단계를 따르십시오.