728x90
keycloak 을 설치하고 신규 Realm 생성
Keycloak은
Keycloak은 오픈 소스 Identity and Access Management(IAM) 솔루션입니다. 이를 통해 애플리케이션과 서비스를 위한 인증, 권한 부여, 사용자 관리 등을 다음과 같은 기능을 구성합니다.
- Single Sign-On(SSO): 한 번의 로그인으로 여러 애플리케이션과 서비스에 접근 가능.
- Identity Brokering 및 Social Login: Google, Facebook 등의 외부 아이덴티티 제공자와 연동 가능.
- User Federation: LDAP나 Active Directory와 같은 외부 사용자 데이터베이스와의 연동 가능.
- Fine-Grained Authorization: 사용자의 권한을 세밀하게 제어 가능.
Keycloak의 Realm은
Keycloak의 Realm은 사용자 인증 및 권한 부여의 범위를 의미합니다. Realm은 사용자의 자격증명, 역할, 그룹 등을 관리하는 개념으로, 여러 서비스나 애플리케이션에 대한 사용자 인증 및 권한을 중앙에서 관리할 수 있습니다.
예를 들어, 회사 A라는 Realm 하위에 서비스 A 전용 클라이언트, 서비스 B 전용 클라이언트 등을 생성할 수 있습니다. 이렇게 하면, 한 번의 로그인으로 여러 서비스를 사용할 수 있는 Single Sign-On (SSO) 기능을 제공합니다.
1. 관리자 콘솔에서 Create Realm을 시작
2. Realm 생성
Realm name : test-oauth 를 생성 하는 과정을 정리 합니다.
3. Resource File에 아래 내용을 추가 합니다.
{
"realm": "test-oauth",
"enabled": true,
"id": "test-oauth-realm",
"displayName": "test-oauth Realm",
"displayNameHtml": "<b>test-oauth Realm</b>",
"sslRequired": "external",
"loginWithEmailAllowed": true,
"duplicateEmailsAllowed": false,
"resetPasswordAllowed": true,
"editUsernameAllowed": false,
"registrationAllowed": true,
"rememberMe": true,
"loginTheme": "keycloak",
"accountTheme": "keycloak",
"adminTheme": "keycloak",
"emailTheme": "keycloak",
"eventsEnabled": true,
"eventsListeners": [
"event-admin"
],
"adminEventsEnabled": true,
"adminEventsDetailsEnabled": true
}
3. Realm의 속성 설정
각 속성은 Realm의 특정 설정을 정의합니다.
- realm: Realm의 이름입니다. 여기서는 "test-oauth"으로 설정되어 있습니다.
- enabled: Realm이 활성화되었는지 여부를 나타냅니다. true로 설정되어 있어 Realm이 활성화된 상태입니다.
- id: Realm의 ID입니다. 여기서는 "test-oauth-realm"입니다.
- displayName: Realm의 표시 이름입니다. 여기서는 "test-oauth Realm"입니다.
- displayNameHtml: HTML 형식으로 된 표시 이름입니다. <b>test-oauth Realm</b>은 굵은 글씨로 표시됩니다.
- sslRequired: SSL(보안 소켓 계층)이 필요한지 여부를 나타냅니다. external로 설정되어 있어 외부 요청에 대해 SSL이 필요합니다.
- loginWithEmailAllowed: 이메일을 사용하여 로그인할 수 있는지 여부입니다. true로 설정되어 있어 사용자가 이메일을 사용하여 로그인할 수 있습니다.
- duplicateEmailsAllowed: 중복 이메일을 허용할지 여부입니다. false로 설정되어 있어 중복 이메일이 허용되지 않습니다.
- resetPasswordAllowed: 사용자가 비밀번호를 재설정할 수 있는지 여부입니다. true로 설정되어 있습니다.
- editUsernameAllowed: 사용자가 사용자 이름을 수정할 수 있는지 여부입니다. false로 설정되어 있어 사용자 이름 수정이 허용되지 않습니다.
- registrationAllowed: 사용자가 자체 등록할 수 있는지 여부입니다. true로 설정되어 있어 자체 등록이 허용됩니다.
- rememberMe: 사용자가 로그인할 때 "기억하기" 옵션을 사용할 수 있는지 여부입니다. true로 설정되어 있습니다.
- loginTheme: 로그인 화면의 테마입니다. "keycloak" 테마가 사용됩니다.
- accountTheme: 사용자 계정 관리 화면의 테마입니다. "keycloak" 테마가 사용됩니다.
- adminTheme: 관리 콘솔의 테마입니다. "keycloak" 테마가 사용됩니다.
- emailTheme: 이메일 템플릿의 테마입니다. "keycloak" 테마가 사용됩니다.
- eventsEnabled: 이벤트가 활성화되었는지 여부입니다. true로 설정되어 있어 이벤트가 활성화된 상태입니다.
- eventsListeners: 이벤트 리스너 목록입니다. 여기서는 ["event-admin"]가 설정되어 있습니다.
- adminEventsEnabled: 관리 이벤트가 활성화되었는지 여부입니다. true로 설정되어 있습니다.
- adminEventsDetailsEnabled: 관리 이벤트의 세부 정보를 활성화할지 여부입니다. true로 설정되어 있어 세부 정보가 활성화됩니다.
4. Realm의 등록 정보 확인
http://127.0.0.1:8080/admin/master/console/#/test-oauth/realm-settings/general
[참고]
[DevOps] - keycloak 설치 - 오픈 소스 Identity and Access Management
728x90
반응형
'InfraPlatform' 카테고리의 다른 글
Install Docker on RHEL 9 (0) | 2025.01.08 |
---|---|
리눅스 네트워크 설정 명령들과 nmcli 사용법 (0) | 2025.01.01 |
Virtual Box7 리눅스 자동 설치 vboxuser password를 알려줘 (0) | 2025.01.01 |
(꿀팁) 리눅스 방화벽 설정 - ufw firewall-cmd (3) | 2024.12.21 |
[꿀팁]Linux nmcli 사용법 - 네트웍 ip 설정하기 (1) | 2024.12.21 |
클라우드 VPN 기술의 종류 WireGuard NetMaker TailScale (0) | 2024.12.08 |
오픈소스 API 플랫폼 - Apache APISIX - 인증(Authentication)과 권한 관리 (2) | 2024.12.07 |