OIDC를 이용해 Harbor - Keycloak SSO 연동을 하고자 한다
참조 : https://medium.com/@panda1100/keycloak-as-oidc-provider-for-harbor-c25906481619
인증 인가 과정에서 Harbor와 Keycloak 사이의 통신은 Https 통신을 사용한다
Harbor와 Keycloak은 Https 통신을 해야 한다. Keycloak의 Ingress LB에 TLS 인증서를 등록했으므로, Harbor에 Root CA 인증서를 등록해야 한다
FROM gitea.hong.net:3000/devtool/harbor-core:v2.7.1
USER root
COPY localCA.pem /usr/
RUN /bin/bash -c 'cat /usr/localCA.pem >> /etc/pki/tls/certs/ca-bundle.crt'
- Harbor Core는 Harbor의 핵심 엔진으로, 컨테이너 이미지의 저장 및 관리를 처리하고, 사용자 계정과 역할을 관리하는 컴포넌트다
docker build --no-cache -t gitea.hong.net:3000/devtool/ca-harbor-core:v2.7.1 .
- Image를 Build하고, Helm Chart에 적용하자
FROM gitea.hong.net:3000/devtool/harbor-portal:v2.7.1
USER root
COPY localCA.pem /usr/
RUN /bin/bash -c 'cat /usr/localCA.pem >> /etc/pki/tls/certs/ca-bundle.crt'
- Harbor Portal은 사용자 인터페이스를 제공하는 컴포넌트다
docker build --no-cache -t gitea.hong.net:3000/devtool/ca-harbor-portal:v2.7.1 .
- Image를 Build하고, Helm Chart에 적용하자
helm install harbor -n harbor .
- Helm Chart를 이용하여 Harbor를 배포하자
참조 : https://velog.io/@lijahong/0부터-시작하는-Keycloak-공부-OIDC를-이용한-Keycloak-Sonarqube-SSO-연동#realm-생성
- Confidential : 클라이언트 애플리케이션이 사용자 인증&인가를 위해 Secret을 Keycloak에 제출하는 방식. Secret은 클라이언트와 함께 등록되며 서버 간의 보안된 통신을 통해 Token을 발급받고, 사용자 인증을 수행한다
- Public : 사용자 인증&인가에 Secret 제출이 필요 없는 방식
- Bearer-Only : 로그인 프로토콜이 불필요한 WEB 서비스용 방식
참조 : https://velog.io/@lijahong/0부터-시작하는-Keycloak-공부-OIDC를-이용한-Keycloak-Sonarqube-SSO-연동#user-생성
정리가 잘 된 글이네요. 도움이 됐습니다.