Keycloak 사용자(User) 관리 — 계정, 속성과 사용자 프로필
Keycloak 사용자(User) 관리 — 계정, 속성과 사용자 프로필
Admin Console에서 사용자 관리를 위한 폭넓은 작업을 할 수 있어요. 사용자는 그 사용자가 필요한 애플리케이션이 있는 렐름에서 만듭니다. 렐름을 만들기 위한 용도인 master 렐름에는 사용자를 만들지 않는 것이 좋아요. 이 장에서는 사용자 생성과 사용자 속성, 사용자 프로필의 역할을 다뤄요.
출처: Keycloak Server Administration Guide — "Managing users" — 공식문서
본문
사용자 만들기
master 렐름이 아닌, 애플리케이션이 있는 렐름에서 사용자를 만들 수 있어요.
- 메뉴에서 Users 를 클릭합니다.
- Add User 를 클릭합니다.
- 새 사용자의 세부 정보를 입력합니다. Username 만 필수 항목이에요.
- Save 를 클릭하면 새 사용자의 관리(Mangement) 페이지가 열립니다.
주의할 점은, 사용자를 만드는 시점에 이메일이나 비밀번호가 없어도 된다는 것이에요. 나중에 사용자 계정의 설정에서 비밀번호를 지정하면 됩니다.
사용자 속성과 사용자 프로필
Keycloak에서 사용자는 일련의 속성(attribute)과 연결되어 있어요. 이 속성들은 Keycloak 안에서 사용자를 더 잘 설명하고 식별하며, 애플리케이션에 사용자에 대한 추가 정보를 전달하는 데 사용됩니다.
사용자 프로필(User Profile)은 사용자 속성을 표현하고 렐름 안에서 어떻게 관리할지 정의하는 잘 정의된 스키마예요. 사용자 정보에 일관된 뷰를 제공함으로써 관리자가 속성을 관리하는 다양한 측면을 통제하고, 추가 속성을 지원하도록 Keycloak을 확장하기 훨씬 쉽게 만들어 줍니다.
사용자 프로필이 주로 최종 사용자가 관리할 수 있는 속성(이름, 성, 전화번호 등)을 대상으로 하지만, 사용자와 연결하고 싶은 다른 메타데이터 관리에도 쓰입니다. 사용자 프로필을 통해 관리자는 다음을 할 수 있어요.
- 사용자가 편집할 수 있는 속성과 필수 속성을 정의
- 속성별 유효성 검증 규칙 설정
- 속성의 접근성(읽기 전용, 관리자 전용, 사용자 편집 가능 등) 통제
- 애플리케이션에 전달되는 클레임에 속성을 매핑
그룹과 역할 매핑
사용자는 그룹(Group)에 속하거나 역할(Role)을 매핑받아 권한을 얻어요. 사용자 상세 페이지의 Role mapping 탭에서 렐름 역할과 클라이언트 역할을 매핑하고, Groups 탭에서 그룹에 가입시킬 수 있습니다. 이를 통해 애플리케이션이 사용자에게 부여된 권한을 판단합니다.