CICD 배포/CICD 배포

[ ArgoCD ] User Management

김붕어87 2023. 2. 13. 11:50
반응형
개요
ArgoCD 사용자는 Google SAML 기반으로 회사 이메일을 통해 SSO 형태로 접근할 수 있다.
여기서는 Developer와 DevOps 두가지 권한에 대해 정의한 내용을 다룬다.
Develpers :
      dev-cluster(eks) All allow policy
      prod-cluster Read allow policy
DevOps :
      All allow policy about All Clusters.

 

Argo RBAC 설정

Role 설정

argocd가 설치된 k8s cluster 의 argocd-rbac-configmap으로 관리할 수 있다.

  • 내장 Role (참고) - basic Built-in roles
    • role:readonly
    • role:admin
  • 아래와 같이 Custom Role을 추가해서 필요한 권한을 분리하여 사용한다.
    • 아래는 developers Custom Role을 생성하여
      • dev cluster에 대한 모든 권한을 갖고,
      • prod cluster는 readonly(get) 권한을 갖도록 구성한 RBAC 설정이다.
    • Google Group(계정)을 그대로 사용하는 방식도 있지만, 추가 연동 등 추후 고려하는 것으로…
❯ k get cm argocd-rbac-cm -n argocd -o yaml
apiVersion: v1
data:
  admin.enabled: "true"
  policy.csv: |
    p, role:developers, *, *, dev-infra/*, allow
    p, role:developers, *, get, prod-infra/*, allow
    p, role:devops, *, *, */*, allow
    g, xxx@xxx.com, role:admin
    g, xxx@xxx.com, role:developers
    g, xxx@xxx.com, role:developers
  policy.default: ""
  scopes: '[email]'
kind: ConfigMap
metadata:
  annotations:
    meta.helm.sh/release-name: argocd

 

 

https://argo-cd.readthedocs.io/en/stable/operator-manual/user-management/google/

 

역할 정의 상세

  • Resources
    • clusters, projects, applications, repositories, certificates, accounts, gpgkeys, logs, exec
  • Actions:
    • get, create, update, delete, sync, override, action/<group/kind/action-name>

 

반응형