12.4. OIDC 토큰 및 SAML 어설션 매핑
ID 토큰, 액세스 토큰 또는 SAML 어설션을 수신하는 애플리케이션에는 다른 역할 및 사용자 메타데이터가 필요할 수 있습니다.
Red Hat Single Sign-On을 사용하여 다음을 수행할 수 있습니다.
- 하드 코드 역할, 클레임 및 사용자 지정 속성.
- 사용자 메타데이터를 토큰 또는 어설션으로 가져옵니다.
- 역할의 이름을 바꿉니다.
관리 콘솔의 Mappers 탭에서 이러한 작업을 수행합니다.
매퍼 탭
새 클라이언트에는 매퍼가 내장되어 있지 않지만 클라이언트 범위에서 일부 매퍼를 상속할 수 있습니다. 자세한 내용은 클라이언트 범위 섹션 을 참조하십시오.
프로토콜 매퍼는 항목(예: 이메일 주소)을 ID 및 액세스 토큰의 특정 클레임에 매핑합니다. 매퍼의 기능은 이름에서 자체 설명되어야 합니다. Builtin 추가를 클릭하여 사전 구성된 매퍼를 추가합니다.
각 매퍼에는 공통 설정 세트가 있습니다. 매퍼 유형에 따라 추가 설정을 사용할 수 있습니다. 매퍼 옆에 있는 Edit (편집)를 클릭하여 구성 화면에 액세스하여 이러한 설정을 조정합니다.
매퍼 구성
각 옵션에 대한 세부 정보는 툴팁을 마우스로 이동하여 볼 수 있습니다.
대부분의 OIDC 매퍼를 사용하여 클레임이 배치되는 위치를 제어할 수 있습니다. ID 토큰에 추가 및 토큰에 액세스하도록 Add를 조정하여 ID 및 액세스 토큰 에서 클레임을 포함하거나 제외 하도록 선택합니다.
다음과 같이 매퍼 유형을 추가할 수 있습니다.
절차
- Mappers 탭으로 이동합니다.
생성을 클릭합니다.
매퍼 추가
- 목록 상자에서 매퍼 유형을 선택합니다.
12.4.1. 우선순위 순서
매퍼 구현에는 우선순위 순서가 있습니다. 우선순위 순서는 매퍼의 구성 속성이 아닙니다. 이는 매퍼의 구체적인 구현의 속성입니다.
매퍼는 매퍼 목록에 있는 순서에 따라 정렬됩니다. 토큰 또는 어설션의 변경 사항은 가장 낮은 적용 먼저 적용되도록 적용됩니다. 따라서 다른 구현에 종속된 구현은 필요한 순서로 처리됩니다.
예를 들어 토큰에 포함될 역할을 계산하려면 다음을 수행합니다.
- 이러한 역할을 기반으로 대상을 해결합니다.
- 토큰에서 이미 사용 가능한 역할 및 대상을 사용하는 JavaScript 스크립트를 처리합니다.
12.4.2. OIDC 사용자 세션 노트 매퍼
사용자 세션 세부 정보는 매퍼를 사용하여 정의되며 클라이언트에서 기능을 사용하거나 활성화할 때 자동으로 포함됩니다. 세션 세부 정보를 포함하려면 기본 제공 추가 를 클릭합니다.
가장 사용자 세션은 다음과 같은 세부 정보를 제공합니다.
- IMPERSONATOR_ID: 가장하는 사용자의 ID입니다.
- IMPERSONATOR_USERNAME: 가장하는 사용자의 사용자 이름입니다.
서비스 계정 세션은 다음과 같은 세부 정보를 제공합니다.
- ClientID: 서비스 계정의 클라이언트 ID입니다.
- clientAddress: 서비스 계정의 인증된 장치의 원격 호스트 IP입니다.
- clientHost: 서비스 계정의 인증된 장치의 원격 호스트 이름입니다.
12.4.3. 스크립트 매퍼
스크립트 매퍼 를 사용하여 사용자 정의 JavaScript 코드를 실행하여 토큰에 클레임을 매핑합니다. 서버에 스크립트를 배포하는 방법에 대한 자세한 내용은 JavaScript Provider 를 참조하십시오.
스크립트가 배포하는 경우 사용 가능한 매퍼 목록에서 배포된 스크립트를 선택할 수 있어야 합니다.