This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.4.11. Keycloak을 사용하여 Argo CD에 대한 SSO 구성
Red Hat OpenShift GitOps Operator가 설치되면 Argo CD에서 admin
권한이 있는 사용자를 자동으로 생성합니다. 클러스터 관리자는 Argo CD를 사용하여 SSO(Single Sign-On)를 구성할 수 있습니다.
사전 요구 사항
- Red Hat SSO가 클러스터에 설치되어 있습니다.
- Red Hat OpenShift GitOps Operator가 클러스터에 설치되어 있습니다.
- Argo CD가 클러스터에 설치되어 있습니다.
4.11.1. Keycloak에서 새 클라이언트 구성 링크 복사링크가 클립보드에 복사되었습니다!
DEX는 기본적으로 Operator에서 생성한 모든 Argo CD 인스턴스에 대해 설치됩니다. 그러나 Dex 구성을 삭제하고 대신 Keycloak을 추가하여 OpenShift 인증 정보를 사용하여 Argo CD에 로그인할 수 있습니다. Keycloak은 Argo CD와 OpenShift 간의 ID 브로커 역할을 합니다.
절차
Keycloak을 구성하려면 다음 단계를 따르십시오.
Argo CD CR(사용자 정의 리소스)에서
.spec.sso.dex
매개변수를 제거하여 Dex 구성을 삭제하고 CR을 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Argo CD CR에서
provider
매개변수의 값을keycloak
으로 설정합니다. 다음 단계 중 하나를 수행하여 Keycloak을 구성합니다.
보안 연결의 경우 다음 예와 같이
rootCA
매개변수 값을 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Keycloak의 TLS 인증서를 확인하는 데 사용되는 사용자 정의 인증서입니다.
Operator는
.spec.keycloak.rootCA
매개변수의 변경 사항을 조정하고argocd-cm
구성 맵에서 PEM 인코딩 루트 인증서로oidc.config
매개변수를 업데이트합니다.비보안 연결의 경우
rootCA
매개변수 값을 비워 두고 아래와 같이oidc.tls.insecure.skip.verify
매개변수를 사용합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Keycloak 인스턴스는 설치하고 실행하는 데-6분 정도 걸립니다.
4.11.2. Keycloak에 로그인 링크 복사링크가 클립보드에 복사되었습니다!
Keycloak 콘솔에 로그인하여 ID 또는 역할을 관리하고 다양한 역할에 할당된 권한을 정의합니다.
사전 요구 사항
- Dex의 기본 구성이 제거됩니다.
- Keycloak SSO 공급자를 사용하도록 Argo CD CR을 구성해야 합니다.
절차
로그인할 Keycloak 경로 URL을 가져옵니다.
oc -n argocd get route keycloak
$ oc -n argocd get route keycloak NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD keycloak keycloak-default.apps.ci-ln-******.origin-ci-int-aws.dev.**.com keycloak <all> reencrypt None
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자 이름과 암호를 환경 변수로 저장하는 Keycloak Pod 이름을 가져옵니다.
oc -n argocd get pods
$ oc -n argocd get pods NAME READY STATUS RESTARTS AGE keycloak-1-2sjcl 1/1 Running 0 45m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Keycloak 사용자 이름을 가져옵니다.
oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_USERNAME
$ oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_USERNAME SSO_ADMIN_USERNAME=Cqid54Ih
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Keycloak 암호를 가져옵니다.
oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_PASSWORD
$ oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_PASSWORD SSO_ADMIN_PASSWORD=GVXxHifH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
로그인 페이지에서 LOG IN VIA KEYCLOAK 를 클릭합니다.
참고Keycloak 인스턴스가 준비된 후 LOGIN VIA KEYCLOAK 옵션만 표시됩니다.
OpenShift로 로그인을 클릭합니다.
참고kubeadmin
을 사용하여 로그인할 수 없습니다.- 로그인할 OpenShift 자격 증명을 입력합니다.
선택 사항: 기본적으로 Argo CD에 로그인한 모든 사용자에게 읽기 전용 액세스 권한이 있습니다.
argocd-rbac-cm
구성 맵을 업데이트하여 사용자 수준 액세스를 관리할 수 있습니다.policy.csv: <name>, <email>, role:admin
policy.csv: <name>, <email>, role:admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.11.3. Keycloak 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
Argo CD CR(사용자 정의 리소스) 파일에서 SSO
필드를 제거하여 Keycloak 리소스 및 관련 구성을 삭제할 수 있습니다. SSO
필드를 제거한 후 파일의 값은 다음과 유사합니다.
이 방법을 사용하여 생성한 Keycloak 애플리케이션은 현재 영구적이지 않습니다. 서버를 다시 시작하면 Argo CD Keycloak 영역에서 생성된 추가 구성이 삭제됩니다.