PaaS/기타

keyCloak 기능 설명 - 1 Realm Setting

armyost 2023. 10. 17. 18:00
728x90

Realm Setting 메뉴에 대한 기능을 설명한다.

 

 

[일반 탭]

  • HTML Display Name : Display Name이 HTML로 Response된다. Rendering해서 사용할 일이 있을때 필요한것 같다.

  • Frontend URL : keycloak 8버전부터 추가된 기능으로, keycloak에 요청하는 Frontend의 URL 이다. 보통 Request에서 가져오는 방식이었으나, 현재 keycloak은 운영환경에서는 Realm마다 고정적으로 세팅하기를 권장하고 있다.
  • Enabled : Realm사용여부
  • User-Managed Access : 활성화 시 User는 자신의 권한과 Resource를 Account Management Console을 통해 조정할 수 있다.
  • Endpoints : 인증 프로토콜 Endpoint에 환경설정 정보에 대한 설정

[이메일 탭]

  • Host : 이메일 전송에 사용되는 SMTP 서버 호스트 이름을 나타냅니다.
  • Port : 이메일 전송에 사용되는 SMTP 서버 호스트 이름을 나타냅니다.
  • From : From SMTP-Header에 사용되는 주소
  • From Display Name : 사용자에게 친숙한 이메일 주소 별칭을 구성할 수 있습니다. 설정하지 않으면 보낸 사람 이메일 주소가 이메일 클라이언트에 표시
  • Reply to : 전송된 메일의 회신 SMTP 헤더에 사용되는 주소
  • Reply to Display Name : 사용자에게 친숙한 이메일 주소 별칭 구성
  • Envelope From : 보낸 메일의 반황 경로 SMTP 헤더에 사용되는 반송 주소를 나타냄
  • EnableSSL : 
  • Enable Start TLS : SMTP 서버가 외부에 있는경우, 사용자 이름과 비밀번호 복구 등의 트래픽을 지원하기 위해 SSL/TLS를 사용해야 합니다.
  • Enable Authentication : SMTP 서버에 인증이 필요한 경우 사용. 메시지가 표시되면 사용자 이름과 비밀번호 제공

[테마 탭]

  • Login Theme : 사용자 이름 비밀번호 입력, OTP입력, 신규 사용자 등록, 기타 로그인과 관련된 유사한 화면
  • Account Theme : 각 사용자에게 제공되는 사용자 계정관리 UI
  • Admin console theme : keycloak 관리콘솔 스킨
  • Email Theme : Keycloak은 이메일을 보내야 할 때마다 이테마에 정의도니 템플릿을 사용하여 이메일을 작성합니다.

  • Internationalization Enabled : 모든 UI 화면은 Keycloak에서 국제화되었습니다. 기본 언어는 영어이지만 지원하려는 로캘과 기본 로캘을 선택할 수 있습니다.

[로컬라이제이션 탭]

Lookup : 매개변수를 통하여 클라이언트의 Localization 정보를 획득하는 경우

 

※ Locale 선택 로직은 다음 중 사용가능한 첫 번째 항목을 사용합니다.

  • 사용자 선택 - 사용자가 드롭다운 로케일 선택기를 사용하여 로케일을 선택한 경우
  • 사용자 프로필 - 인증된 사용자가 있고 사용자에게 기본 설정 로캘이 설정된 경우
  • 클라이언트 선택 - 예를 들어 ui_locales 매개변수를 사용하여 클라이언트에 의해 전달됨
  • 쿠키 - 브라우저에서 마지막으로 선택된 로케일
  • 허용되는 언어 - Accept-Language 헤더 의 로케일
  • 영역 기본값
  • 위 사항 중 어느 것도 해당되지 않으면 영어로 돌아가세요.

[로그인 탭]

  • User Registration : 사용자 등록 페이지 활성/비활성화
  • Email as username : Username 대신에 Email 주소 사용
  • Edit username : 활성화시 Username 필드가 수정가능한 상태가 된다.
  • Forgot password : 비밀번호를 잊으셧나요? 링크를 추가해서 로그인페이지 생성

  • Remember Me : 사용자 브라우저 세션이 종료되고 재시작하여도 여전히 로그인되어 남아 있게끔 작동
  • Verify email : 최초 로그인, 이메일 주소 변경시 Verify하도록 이메일 보내는 기능
  • Login with email : 사용자가 email 주소로 로그인하도록 함
  • Require SSL : 활성화시 Client으로 부터 오는 요청이 HTTPS여야함. 

 

[키 탭]

  • 인증프로톨에 암호화 서명을 위한 기능 제공, 
  • active : keycloak에는 한번에 하나의 활성키 쌍이 있음. 활성키 쌍은 새 서명을 만드는데 사용됨.  이를 통해 가동 중지 시간이나 사용자 중단 없이 키를 정기적으로 교체할 수 있습니다.
  • passvie : 활성키와 더불어 여러개의 passive 키를 가질수 있으며, passive 키 쌍은 이전서명을 확인하는데 사
  • disabled : 비활성화된 키를 보여줌
  • provider : 자체 서명된 인증서를 포함하는 키 쌍을 생성하기 위함

 

※ 키, 인증서 관리 관련한 자세한 정보

https://www.keycloak.org/docs/latest/server_admin/#rotating-keys-by-extracting-a-certificate

 

Server Administration Guide

Once you have an administrative account for the Admin Console, you can configure realms. A realm is a space where you manage objects, including users, applications, roles, and groups. A user belongs to and logs into a realm. One Keycloak deployment can def

www.keycloak.org


[캐시 탭]

  • Realm Cache : realm 캐시를 모두 삭제한다.
  • User Cache : User 캐시를 모두 삭제한다.
  • Keys Cache : 외부 public 키로부터 생성된 캐시를 모두 삭제한다.

[토큰 탭]

  • Default Signature Algorithm : 이 Realm의 token을 서명하기 위한 기본 알고리즘
  • Revoke Refresh Token : Refresh Token을 Max Reuse 까지만 사용할 수 있음. 비활성화 하면 반복적으로 사용할 수 있음
  • SSO Session Idle : Session이 idle 상태로 빠지는데 걸리는 시간. expired 되기전에 idle 상태로 빠짐.
  • SSO Session Max : Session이 expired 되는 시간(최대값)
  • SSO Session Idle Remember Me : 사용자가 Remember me 옵션을 활성화한 상태에서 idle 상태로 빠지는데 걸리는 시간
  • SSO Session Max Remember Me : 사용자가 Remember me 옵션을 활성화한 상태에서 expired 되는 시간(최대값)
  • Offline Session Idle : offline 세션이 idle 상태로 빠지는데 걸리는 시간
  • Offline Session Max Limited : offiline session 갯수 최대값
  • Client Session Idle : Client 세션이 idle 상태로 빠지는데 걸리는 시간
  • Client Session Max : Client 세션이 expired 되는 시간(최대값)
  • Access Token Lifespan : Access Token이 expired 되는 시간(최대값)
  • Access Token Lifespan For Implicit Flow : OpenID Connect Implicit Flow(Implicit Flow : 인증코드 방식이 아닌 토큰과 인증ID를 동시에 받는) Access Token이 expired 되는 시간(최대값)
  • Client login timeout : Client가 Access Token 프로토콜을 완료해야하는 시간
  • Login timeout : 사용자가 로그인을 완료해야하는 시간. 보통 30분으로 함
  • Login action timeout : 패스워드 Update등 로그인과 관련된 행위를 완료해야하는 시간. 보통 5분으로 함
  • User-Initiated Action Lifespan : User 세션이 허기되기전 시도하는 action에 대한 최대 허용시간. 악용을 우려해 보통 매우 짧다.(예를들어 forgot password expired 이메일 등)
  • Default Admin-Initiated Action Lifespan : Administrator 세션이 허기되기전 시도하는 관리자 action에 대한 최대 허용시간. 보통 길다.
  • Lifetime of the Request URI for Pushed Authorization Request : 요청 URI에 대한 수명. 보통 1분
  • Override User-Initiated Action Lifespan : User-Initiated Action Lifespan 을 Override함
  • OAuth 2.0 Device Code Lifespan : Device code와 User code가 expired 되는 시간(최대값)
  • OAuth 2.0 Device Polling Interval : Token Endpoint에 Polling요청시 대기하는 시간(최소값)

[Client 등록 탭]

  • Initial AccessToken : 새 클라이언트를 등록하는 데 권장되는 접근 방식은 Initial AccessToken 을 사용하는 것입니다. Initial AccessToken 은 클라이언트를 생성하는 데에만 사용할 수 있으며 구성 가능한 만료 기간과 생성할 수 있는 클라이언트 수에 대한 구성 가능한 제한이 있습니다.
  • Client Registration Policies - Anonymous Access Policies : 인증되지 않은 Client가 등록 서비스를 호출할 때에 사용자에게 해당되는 정책입니다. 
  • Client Registration Policies - Authenticated Access Policies : 인증된 Client가 등록 서비스를 호출할 때에 사용자에게 해당되는 정책입니다.

[클라이언트 정책 탭]

  • Profiles : Client에 다양한 Action을 수행하는 executor들 모음을 구축합니다. 예를들어 client를 CRUD하거나 Client를 인가하는 Action들이 해당됩니다.
  • Policies : Client Profile을 다양한 조건들과 bind하여 executor의 명확한 행위를 정의합니다.

[보안 방어 탭]

  • X-Frame-Options : non-origin Iframed으로 부터 페이지가 담겨 호출되는 것을 방지하기 위한 기본값
  • Content-Security-Policy : 상동
  • X-Content-Type-Options : 브라우저로애소 MIME-Sniffing을 방지하기 위함
  • X-Robots-Tag : 검색엔진에 노출되는것 방지
  • X-XSS-Protection : 브라우저의 XSS 방지
  • HTTP Strict Transport Security (HSTS) : OWASP 보안 헤더 프로젝트(OSHP라고도 함)는 애플리케이션의 보안을 강화하기 위해 사용할 수 있는 HTTP 응답 헤더를 설명합니다. 일단 설정되면 이러한 HTTP 응답 헤더는 최신 브라우저가 쉽게 예방할 수 있는 취약점으로 실행되는 것을 제한할 수 있습니다. OWASP 보안 헤더 프로젝트는 이러한 헤더에 대한 인식과 사용을 제고할 계획입니다.
     

'PaaS > 기타' 카테고리의 다른 글

KeyCloak) SSL없이 설치하기 On-Premise  (0) 2024.02.04
keyCloak 기능 설명 - 2. Clients  (0) 2023.10.18
Kubernetes 내에서 Network 경로 규칙 알기  (0) 2023.09.14
Redis cli 커맨드 모음  (0) 2023.09.01
Redis 설치 Centos7에서  (1) 2023.08.31