메뉴 닫기

Keycloak ArgoCD 연동

Keycloak을 활용하여 ArgoCD로그인을 손쉽게 하고 관리가 편하게 하기 위함

  • 참고 URL

https://argo-cd.readthedocs.io/en/stable/operator-manual/user-management/keycloak/#troubleshoot

Keycloak ArgoCD 연동

  • Keycloak에서 새 클라이언트 만들기
  • 클라이언트 ID 설정
  • 클라이언트 인증 처리 설정
  • Root URL : Argocd URL
  • Home URL : Argocd 기본 URL
  • Vaild redirect URIs : 로그인 후 토큰을 전달해줄 수 있는 유효한(허용된) URL
  • ArgoCD OIDC 구성
  • Client Secret 값을 ArgoCD 적용
 kubectl -n argocd patch secret argocd-secret --patch='{"stringData": { "oidc.keycloak.clientSecret": "8YUOoqjhq3tO1p7Yoc7zThh9wHkgFKmW" }}'
  • Config 설정하기
    • clientID : Keycloak에서 구성한 클라이언트 ID로 설정됩니다.
    • clientSecret :  argocd-secret Secret 에서 생성한 올바른 키를 가리킵니다.
    • requestedScopes 에는 기본 범위에 추가하지 않은 경우 그룹 클레임이 포함됩니다 .
kubectl edit configmap argocd-cm -n argocd
data:
  oidc.config: |
    name: Keycloak
    issuer: http://192.168.0.104/realms/master ##Keycloak 정보
    clientID: argocd  ##Keycloak Cilent
    clientSecret: $oidc.keycloak.clientSecret
    requestedScopes: ["openid", "profile", "email", "groups"]

  • Keycloak 그룹 클레임 구성
  • Client Scops -> Create client Scope

  • 계정 생성

  • 그룹 생성

  • Group에 사용자 추가
    • 적용할 그룹 클릭(ArgoCDAdmins)
  • Member 추가(Add member)
  • Member 선택
  • 등록 완료
  • ArgoCD에 Keycloak Group 권한 부여
kubectl edit configmap argocd-rbac-cm -n argocd
data:
  policy.csv: |
    g:argocd, role:admin
  • ArgoCD 재배포하여 적용하기
kubectl rollout restart deployment argocd-server -n argocd

  • 로그인

Posted in ArgoCD

Related Posts