2.2. RH SSO 7.5
Red Hat Single Sign-On 7.4에서 Red Hat Single Sign-On 7.5로 다음과 같은 변경 사항이 발생했습니다.
2.2.1. EAP 7.4로 업그레이드
Red Hat Single Sign-On 서버가 EAP 7.4를 기본 컨테이너로 사용하도록 업그레이드되었습니다. 이 변경 사항은 특정 Red Hat Single Sign-On 서버 기능과 직접적인 관련이 없지만 마이그레이션과 관련하여 몇 가지 변경 사항이 있습니다.
2.2.1.1. 종속성 업데이트
종속 항목이 EAP 7.4 서버에서 사용하는 버전으로 업데이트되었습니다. 예를 들어 Infinispan 구성 요소 버전은 이제 11.0입니다.
2.2.1.2. 구성 변경
standalone(-ha).xml 및 domain.xml 파일에서는 몇 가지 구성 변경 사항이 있습니다. 구성 파일 마이그레이션을 자동으로 처리하려면 3.1.2절. “Red Hat Single Sign-On 서버 업그레이드” 섹션에 따라야 합니다.
2.2.1.3. 소규모 수동 변경
standalone.xml에 SmallRye 모듈에 대한 참조가 포함된 경우 수동 변경이 필요합니다. 이러한 모듈은 기본 JBoss EAP 배포에서 제거되었으며 구성이 이를 참조하는 경우 서버는 시작되지 않습니다. migration -standalone.cli
를 통한 서버 구성 마이그레이션이 구성을 변경하기 전에 실패합니다.
이 문제를 해결하려면 SmallRye 모듈을 참조하는 모든 행을 제거하십시오. 기본 구성에서는 특히 다음 행을 제거해야 합니다.
<extension module="org.wildfly.extension.microprofile.config-smallrye"/> <extension module="org.wildfly.extension.microprofile.health-smallrye"/> <extension module="org.wildfly.extension.microprofile.metrics-smallrye"/>
<subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"/> <subsystem xmlns="urn:wildfly:microprofile-health-smallrye:2.0" security-enabled="false" empty-liveness-checks-status="${env.MP_HEALTH_EMPTY_LIVENESS_CHECKS_STATUS:UP}" empty-readiness-checks-status="${env.MP_HEALTH_EMPTY_READINESS_CHECKS_STATUS:UP}"/> <subsystem xmlns="urn:wildfly:microprofile-metrics-smallrye:2.0" security-enabled="false" exposed-subsystems="*" prefix="${wildfly.metrics.prefix:wildfly}"/>
2.2.1.4. 데이터 센터 간 복제 변경
- RHDG 서버를 버전 8.x로 업그레이드해야 합니다. 이전 버전은 계속 작동할 수 있지만 더 이상 테스트되지 않으므로 보장되지 않습니다.
-
Infinispan 캐시를 구성할 때 remote-store 요소에 추가된
protocolVersion
속성을 사용하는 것이 좋습니다. RHDG 서버 8.x에 연결할 때 핫로드 프로토콜 버전의 권장 버전은 2.9입니다. Infinispan 라이브러리 버전은 Red Hat Single Sign-On 서버 및 RHDG 서버마다 다릅니다. 자세한 내용은 Cross-Datacenter 문서를 참조하십시오. -
connectionsinfinispan
하위 시스템에서remoteStoreSecurityEnabled
속성을 사용하는 것이 좋습니다. 자세한 내용은 Cross-Datacenter 문서를 참조하십시오.
2.2.2. UserModel Migration
UserModel
에는 이제 사용자 지정 속성으로 변환되는 특정 필드, 사용자
이름 ,email
,firstName
및 lastName
이 포함됩니다. 이러한 변경으로 인해 향후 버전에서 Red Hat Single Sign-On에 보다 정교한 사용자 프로필을 추가할 준비가 되었습니다.
데이터베이스에 해당 정확한 이름의 사용자 지정 속성이 포함된 경우 이러한 속성은 더 이상 데이터베이스에서 읽히지 않으며 삭제될 수 있습니다. 따라서 RH SSO 7.5로 업그레이드하기 전에 이러한 이름 중 하나와 일치하는 사용자 정의 속성의 이름을 바꿉니다.
이 경우 사용자 이름도 UserModel.getFirstAttribute(UserModel.USERNAME)
로 액세스하여 설정할 수 있습니다. 다른 필드에도 비슷한 영향이 있습니다.
UserModel
을 직접 또는 간접적으로 분류하는 SPI 구현자는 setUsername
과 setSingleAttribute(UserModel.USERNAME, …)
간 동작이 일관되도록 해야 합니다.
정책 평가 기능의 사용자는 평가에서 속성 수를 사용하는 경우 정책을 조정해야 합니다. 이제 모든 사용자에게 기본적으로 4개의 새 속성이 있습니다.
UserModel
공개 API는 변경되지 않았습니다. 프런트 엔드 리소스 또는 사용자 데이터에 액세스하는 SPI에 대한 변경 사항은 필요하지 않습니다. 또한 데이터베이스는 아직 변경되지 않았습니다.
2.2.3. PatternFly 4로 업그레이드
Red Hat Single Sign-On 로그인me 구성 요소가 PatternFly 4로 업그레이드되었습니다. 이전 PatternFly 3은 새로운 패턴과 동시에 실행되므로 PF3 구성 요소를 유지할 수 있습니다.
그러나 로그인 주제 설계에 대한 일부 변경이 수행되었습니다. 사용자 정의 로그인 주제를 새 버전으로 업그레이드하십시오. 필요한 변경 사항이 있는 예는 examples/themes/theme/sunrise
디렉토리에서 확인할 수 있습니다. 추가 설정이 필요하지 않습니다.
2.2.4. OpenSSL IdP의 새로운 API
Grafana IdP는 이제 새 API를 사용합니다. 이전 레거시 API는 더 이상 사용되지 않습니다. 이 변경에는 새 API 인증 정보가 필요합니다. 자세한 내용은 서버 관리 가이드를 참조하십시오.
OpenSSL IdP를 사용하여 OpenSSL에 로그인하는 사용자의 경우 암호와 같은 다른 인증 방법이 필요합니다. 로그인하면 Red Hat Single Sign-On에서 OpenSSL 소셜 링크를 수동으로 업데이트하거나 새 계정을 만들 수 있습니다. 이 제한은 이전 API의 OpenSSL 사용자 ID가 새 API와 호환되지 않기 때문에 존재합니다. 그러나 새 API는 일시적으로 새 ID와 이전 사용자 ID를 모두 반환하여 마이그레이션을 허용합니다. Red Hat Single Sign-On은 사용자가 로그인하면 ID를 자동으로 마이그레이션합니다.
2.2.5. SSRF 보호에 유효한 요청 URI
OpenID Connect 매개변수 request_uri
를 사용하는 경우 클라이언트에 SSRF 공격으로부터 보호하도록 Valid Request URI
가 구성되어 있어야 합니다.
클라이언트 세부 정보 페이지의 Admin Console 또는 admin REST API 또는 클라이언트 등록 API를 통해 이 기능을 구성할 수 있습니다. 유효한 요청 URI에는 특정 클라이언트에 허용되는 Request URI 값 목록이 포함되어야 합니다.
대신 Valid Redirect URI
옵션과 같은 와일드카드 또는 상대 경로를 사용할 수 있습니다. 그러나 보안상의 이유로 가능한 특정 값을 사용하는 것이 좋습니다.
2.2.6. 읽기 전용 사용자 속성
이제 읽기 전용 사용자 속성을 사용할 수 있습니다. 이러한 사용자 속성 중 일부는 REST API로 사용자를 업데이트하거나 Red Hat Single Sign-On 사용자 인터페이스로 업데이트할 때 사용자 또는 관리자가 편집할 수 없습니다. 특히 다음 사항을 사용할 때 이러한 변경 사항이 중요합니다.
- 사용자 정의 사용자 스토리지 공급자
- 사용자 정의 인증 도구
- 사용자 특성에 따라 권한 부여를 설정하는 사용자 정의 JavaScript 권한 부여 정책
- X.509 인증서를 사용자 ID에 매핑하기 위한 사용자 지정 특성이 있는 X.509 인증
- 일부 사용자 속성이 단순한 사용자 프로필 정보 대신 인증/권한/ID 컨텍스트를 저장하는 데 메타데이터로 사용되는 기타 사용자 정의 기능.
자세한 내용은 위협 모델 완화 장 을 참조하십시오.
2.2.7. Docker 인증 후 사용자 세션이 필요하지 않음
Docker 프로토콜을 사용한 인증 후 사용자 세션이 생성되지 않습니다. 자세한 내용은 서버 관리 가이드를 참조하십시오.
2.2.8. 기본 새로 고침 토큰 없이 클라이언트 인증 정보 부여
이 Red Hat Single Sign-On 버전의 경우 OAuth2 Client Credentials Grant 엔드포인트는 기본적으로 새로 고침 토큰을 발행하지 않습니다. 이 동작은 OAuth2 사양과 일치합니다.
따라서 클라이언트 자격 증명 인증에 성공한 후 Red Hat Single Sign-On 서버 측에서 사용자 세션이 생성되지 않습니다. 결과적으로 성능 및 메모리 사용량이 향상됩니다. Client Credentials grant을 사용하는 클라이언트는 새로 고침 토큰 사용을 중지하고 대신 refresh_token
을 부여 유형으로 사용하는 대신 grant_type=client_credentials
로 모든 요청에서 인증하는 것이 좋습니다.
이와 관련하여 Red Hat Single Sign-On은 OAuth2 해지 끝점에서 액세스 토큰 해지를 지원합니다. 따라서 필요한 경우 클라이언트가 개별 액세스 토큰을 취소할 수 있습니다.
이전 버전과의 호환성을 위해 이전 버전의 동작을 계속 사용할 수 있습니다. 이 방법을 사용하면 클라이언트 자격 증명 부여를 사용한 인증에 성공하고 사용자 세션이 생성된 후에도 새로 고침 토큰이 계속 발행됩니다. 특정 클라이언트의 경우 다음과 같이 관리 콘솔에서 이전 동작을 활성화할 수 있습니다.
절차
- 메뉴에서 Clients 를 클릭합니다.
- 수정할 클라이언트를 클릭합니다.
- OpenID Connect 호환성 모드 섹션을 확장합니다.
- 토글 클라이언트 자격 증명에 대한 새로 고침 토큰 사용.
- 저장을 클릭합니다.
2.2.9. 비표준 토큰 인트로스펙션 끝점 제거
이전 버전에서는 Red Hat Single Sign-On에서 두 개의 인트로스펙션 끝점인 token_introspection_endpoint
및 introspection_endpoint
를 알립니다. 후자는 RFC-8414 에 의해 정의된 것입니다. 전자는 더 이상 사용되지 않으며 제거되었습니다.
2.2.10. LDAP no-import 수정
이전 Red Hat Single Sign-On 버전에서는 LDAP 공급자가 Import Users
OFF로 설정된 경우 LDAP가 매핑되지 않은 일부 속성이 변경된 경우에도 사용자를 업데이트할 수 있었습니다. 이로 인해 혼란스러운 동작이 발생했습니다. 속성이 업데이트되었지만 업데이트되지 않은 것으로 표시되었습니다.
예를 들어 admin REST API를 사용하여 사용자를 업데이트하려고 했고 사용자가 잘못된 속성이 변경되면 업데이트가 가능했습니다. 현재 버전을 사용하면 업데이트를 사용할 수 없으며 이유를 즉시 알릴 수 있습니다.