4.10. Dex를 사용하여 Argo CD에 대한 SSO 구성
Red Hat OpenShift GitOps Operator가 설치되면 Argo CD에서 admin
권한이 있는 사용자를 자동으로 생성합니다. 클러스터 관리자는 Argo CD를 사용하여 SSO(Single Sign-On)를 구성할 수 있습니다.
ArgoCD CR의 spec.dex
매개변수는 더 이상 사용되지 않습니다. Red Hat OpenShift GitOps v1.9의 향후 릴리스에서는 ArgoCD CR의 spec.dex
매개변수를 사용하여 Dex를 설정할 예정입니다. 대신 .spec.sso
매개변수를 사용하는 것이 좋습니다.
4.10.1. Dex OpenShift OAuth Connector 활성화
DEX는 플랫폼에서 제공하는 OAuth
서버를 확인하여 OpenShift에 정의된 사용자 및 그룹을 사용합니다. 다음 예제에서는 예제 구성과 함께 Dex의 속성을 보여줍니다.
apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd labels: example: openshift-oauth spec: dex: openShiftOAuth: true 1 groups:2 - default rbac:3 defaultPolicy: 'role:readonly' policy: | g, cluster-admins, role:admin scopes: '[groups]'
4.10.1.1. 사용자를 특정 역할에 매핑
Argo CD는 직접 ClusterRoleBinding
역할이 있는 경우 사용자를 특정 역할에 매핑할 수 없습니다. OpenShift를 통해 SSO에서 role:admin
으로 역할을 수동으로 변경할 수 있습니다.
절차
cluster-admins
라는 그룹을 생성합니다.$ oc adm groups new cluster-admins
사용자를 그룹에 추가합니다.
$ oc adm groups add-users cluster-admins USER
cluster-admin
ClusterRole
을 그룹에 적용합니다.$ oc adm policy add-cluster-role-to-group cluster-admin cluster-admins
4.10.2. Dex 비활성화
DEX는 기본적으로 Operator에서 생성한 모든 Argo CD 인스턴스에 대해 설치됩니다. .spec.dex
매개변수를 설정하여 Dex를 SSO 인증 공급자로 사용하도록 Red Hat OpenShift GitOps를 구성할 수 있습니다.
Red Hat OpenShift GitOps v1.6.0에서는 DISABLE_DEX
가 더 이상 사용되지 않으며 Red Hat OpenShift GitOps v1.9.0에서 제거될 예정입니다. 대신 .spec.sso.dex
매개변수를 사용하는 것이 좋습니다. ".spec.sso를 사용하여 Dex 활성화 또는 비활성화"를 참조하십시오.
절차
Operator의 YAML 리소스에서 환경 변수
DISABLE_DEX
를true
로 설정합니다.... spec: config: env: - name: DISABLE_DEX value: "true" ...
4.10.3. .spec.sso를 사용하여 Dex 활성화 또는 비활성화
.spec.sso
매개변수를 설정하여 Dex를 SSO 인증 공급자로 사용하도록 Red Hat OpenShift GitOps를 구성할 수 있습니다.
절차
Dex를 활성화하려면 Operator의 YAML 리소스에
.spec.sso.provider: dex
매개변수를 설정합니다.... spec: sso: provider: dex dex: openShiftOAuth: true ...
-
dex를 비활성화하려면 Argo CD 사용자 정의 리소스에서
spec.sso
요소를 제거하거나 다른 SSO 공급자를 지정합니다.