Skip to content

Latest commit

 

History

History
140 lines (107 loc) · 4.75 KB

paas-ta-container-platform-portal-deployment-keycloak-tls-setting-guide.md

File metadata and controls

140 lines (107 loc) · 4.75 KB

Index > CP Install > Keycloak TLS 설정 가이드


Table of Contents

  1. 문서 개요
    1.1. 목적

  2. Keycloak TLS 설정
    2.1. TLS 인증서 파일 준비
    2.2. Dockerfile 내 인증서 파일 경로 추가
    2.3. Keycloak values.yaml 파일 수정
    2.4. 컨테이너 플랫폼 포털 변수 파일 수정

  3. (서비스형 배포) 사용자 인증 서비스 구성 변경
    3.1. 사용자 인증 구성 변수 값 변경


1. 문서 개요

1.1. 목적

본 문서(Keycloak TLS 설정 가이드)는 Kubernetes Cluster를 설치하고 컨테이너 플랫폼 포털 배포 시 Keycloak TLS 설정 방법을 기술하였다.

2. Keycloak TLS 설정

본 가이드는 컨테이너 플랫폼 포털 배포 전 설정이 진행되어야 한다. 컨테이너 플랫폼 포털 단독형 배포 설치 가이드, 서비스형 배포 설치 가이드 본문의 [3.1.2. 컨테이너 플랫폼 포털 변수 정의] 실행 전 작업한다.

2.1. TLS 인증서 파일 준비

컨테이너 플랫폼 포털 배포 전 TLS 인증서 파일 (ex: tls.key, tls.crt)이 사전에 준비되어야 한다.

  • 컨테이너 플랫폼 포털 Deployment 파일 keycloak_orig 디렉토리 하위에 위치 필요
  • 인증서 파일 명은 tls.key, tls.crt 로 변경 필요
  • 인증서 파일 권한 변경 필요
# 인증서 파일이 위치할 디렉토리 생성
$ mkdir ~/workspace/container-platform/cp-portal-deployment/keycloak_orig/tls-key

# 해당 디렉토리 하위에 인증서 파일 위치 후 확인
$ ls ~/workspace/container-platform/cp-portal-deployment/keycloak_orig/tls-key
tls.crt  tls.key

# 인증서 파일 권한 변경
$ chmod ug+r ~/workspace/container-platform/cp-portal-deployment/keycloak_orig/tls-key/*

2.2. Dockerfile 내 인증서 파일 경로 추가

Keycloak Dockerfile 내 TLS 인증서 파일 경로를 추가한다.

  • COPY {TLS_FILE_PATH}/* /etc/x509/https/

    • TLS_FILE_PATH : Deployment 파일 keycloak_orig 디렉토리 내 TLS 인증서 파일 경로
$ cd ~/workspace/container-platform/cp-portal-deployment/keycloak_orig
$ vi Dockerfile
...
# If you apply TLS, add the TLS certificate file path. (해당 주석 위치로 이동)
COPY tls-key/* /etc/x509/https/  (추가)
COPY container-platform/ /opt/jboss/keycloak/themes/container-platform/
...

2.3. Keycloak values.yaml 파일 수정

Keycloak values.yaml 파일 내 아래 내용을 수정한다.

$ cd ~/workspace/container-platform/cp-portal-deployment/values_orig
$ vi cp-keycloak.yaml
# service.targetPort 값을 8443으로 변경 (https로 접속)

...
service:
  type: {SERVICE_TYPE}
  protocol: {SERVICE_PROTOCOL}
  port: 8080
  https:
    port: 8443
  targetPort: 8443 (수정)
  nodePort: 32710
...

2.4. 컨테이너 플랫폼 포털 변수 파일 수정

컨테이너 플랫폼 포털 변수 파일 내 아래 내용을 수정한다.

$ cd ~/workspace/container-platform/cp-portal-deployment/script
$ vi cp-portal-vars.sh    
# KEYCLOAK_URL 값 http -> https 로 변경 
# Domain으로 nip.io를 사용하는 경우 아래와 같이 변경
    
....  
# KEYCLOAK    
KEYCLOAK_URL="https://${K8S_MASTER_NODE_IP}.nip.io:32710"   # keycloak url (if apply TLS, https:// )
....     

위 항목들의 Keycloak TLS 설정이 완료되면, 컨테이너 플랫폼 포털 단독형 배포 설치 혹은 서비스형 배포 설치 가이드 본문의 [3.1.2. 컨테이너 플랫폼 포털 변수 정의] 부터 진행을 시작한다.



3. (서비스형 배포) 사용자 인증 서비스 구성 변경

컨테이너 플랫폼 포털 서비스형 배포 시, Keycloak TLS 설정이 적용된 경우 사용자 인증 구성 변수 값 변경이 필요하다.

3.1. 사용자 인증 구성 변수 값 변경

UAA 서비스와 Keycloak 서비스 인증 구성 변수 파일 내 Keycloak URL 값을 아래와 같이 변경한다.

$ cd ~/workspace/container-platform/cp-saml-deployment
$ vi cp-saml-vars.sh
# KEYCLOAK_URL 값 http -> https 로 변경 
# Domain으로 nip.io를 사용하는 경우 아래와 같이 변경   
    
....     
# KEYCLOAK
KEYCLOAK_URL="https://${K8S_MASTER_NODE_IP}.nip.io:32710"   # Keycloak url (include http://, if apply TLS, https://)  
.... 

Index > CP Install > Keycloak TLS 설정 가이드