Keycloak 사용자 및 매핑 규칙 구성¶
개요¶
이 문서에서는 Keycloak에서 사용자 및 매핑 규칙을 구성하는 방법을 설명합니다. 구성이 완료되면 매핑 규칙을 통해 Guance에 싱글 사인온할 수 있습니다.
Keycloak 사용자 구성¶
- 생성된 gcy 영역에서 User를 클릭하고 Add user를 클릭합니다.
- Username과 Email을 입력합니다. Email은 필수 항목이며 Guance 관리 백엔드에 구성된 사용자 이메일과 일치해야 합니다. 이메일 매칭을 통해 Guance에 로그인하는 데 사용됩니다.
- 사용자를 생성한 후 Credentials에서 사용자의 비밀번호를 설정합니다.
매핑 규칙 구성¶
Keycloak 사용자 추가가 완료되면 매핑 규칙을 구성하는 방법은 두 가지입니다. 하나는 사용자에게 직접 매핑 규칙 속성 추가이고, 다른 하나는 해당 사용자를 사용자 그룹에 추가한 후 매핑 규칙 속성 추가입니다.
사용자에게 매핑 규칙 속성 추가¶
생성된 gcy 영역에서 User를 클릭하고 매핑 규칙을 추가할 사용자를 선택한 후 Attributes에서 Add를 클릭하여 추가합니다. 예:
- Key: department
- Value: product
Keycloak 매핑 필드 구성¶
이 단계에서는 Client Scopes를 생성하고 매핑 필드를 구성하여 Keycloak과 Guance 간의 매핑 규칙을 연결합니다.
- 생성된 "gcy" 영역에서 Client Scopes를 클릭하고 오른쪽에서 Create를 클릭합니다.
- Add client scope에서 매핑을 구성할 속성 필드(예: "department")를 입력하고 Save를 클릭합니다.
- 생성된 Key(예: "department")를 클릭하여 들어간 후 Mappers에서 오른쪽의 Create를 클릭하여 매핑을 생성합니다.
- 팝업 창 Create Protocol Mappers에서 다음 내용을 입력한 후 Save를 클릭합니다.
| 필드 | 설명 |
|---|---|
| Name | 매핑 속성 필드(예: "department")를 입력합니다. |
| Mapper Type | "User Attribute"를 선택합니다. |
| User Attribute | 매핑 속성 필드(예: "department")를 입력합니다. |
| Token Claim Name | 매핑 속성 필드(예: "department")를 입력합니다. |
| Claim JSON Type | "String"을 선택합니다. |
- Client에서 생성된 "Guance" 클라이언트를 클릭합니다.
- 클릭하여 들어간 후 Client Scopes > Setup에서 생성된 "department"를 오른쪽 Assigned Default Client Scopes에 추가합니다.
매핑 규칙 사용 가능 여부 확인¶
위 단계를 완료한 후 Keycloak을 통해 직접 Guance에 싱글 사인온하여 해당 워크스페이스에 추가되었는지와 해당 역할이 할당되었는지 확인할 수 있습니다.
Keycloak에서 매핑 규칙을 확인할 수도 있습니다:
매핑 규칙 구성이 완료되면 Client > Client Scopes > Evaluate > Generated User Info에서 매핑 규칙을 사용할 수 있는지 확인할 수 있습니다. 아래 그림과 같이 구성된 매핑 필드(예: "department")가 이미 존재하면 해당 필드를 통해 매핑 로그인할 수 있음을 의미합니다.
Guance 관리 백엔드 매핑 규칙 구성¶
Keycloak SSO 매핑 규칙을 구성하는 것 외에도 관리 백엔드에서 매핑 규칙을 구성해야 합니다. 두 가지가 모두 구성되어야 매핑 규칙이 적용됩니다.
Guance 배포 플랜의 관리 백엔드 > 매핑 규칙 으로 이동하여 구성합니다. 일치하는 계정은 규칙에 따라 워크스페이스에 추가되고 해당 역할이 부여됩니다.
Keycloak 계정으로 Guance에 싱글 사인온¶
모든 구성이 완료되면 Guance에 싱글 사인온할 수 있습니다.
사용자 그룹에 매핑 규칙 속성 추가¶
- 생성된 gcy 영역에서 Groups를 클릭하고 New를 클릭하여 새 사용자 그룹(예: "department")을 생성합니다.
-
Attributes에서 Add를 클릭하여 추가합니다. 예:
-
Key: department
- Value: product
- User > Groups에서 Join을 클릭하여 사용자에게 사용자 그룹을 추가합니다.













