role: vài trò
rule: luật
https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/
Đầu tiên thì chúng ta sẽ có 2 rule mặc định là:
role:readonly
– read-only access to all resourcesrole:admin
– unrestricted access to all resources
Bạn có thể tìm thêm về RBAC Permission Structure
p, <role/user/group>, <resource>, <action>, <appproject>/<object>
p, role:developer, applications, get, nim/*, allow
==> User khi có role là developer thì sẽ được allow
“get” các applications
trong project nim
Nếu bạn muốn developer có thể edit được deployment thì:p, role:developer, applications, update, nim/*, allow
Team devops của bạn sẽ có quyền admin và mọi người sẽ có quyền get và edit
Và dưới đây là file configmap của mình
apiVersion: v1 data: policy.csv: |- p, role:developer, applications, get, nim/*, allow p, role:developer, applications, get, nim-dev/*, allow p, role:developer, applications, get, nim-fedramp-dev/*, allow p, role:developer, applications, update, nim-dev/*, allow p, role:developer, applications, update, nim-fedramp-dev/*, allow g, thang.tran@nimtechnology.com, role:admin g, catalin.costea@nimtechnology.com, role:admin policy.default: 'role:developer' scopes: '[''email'']' kind: ConfigMap metadata: labels: app.kubernetes.io/instance: argocd app.kubernetes.io/name: argocd-rbac-cm app.kubernetes.io/part-of: argocd name: argocd-rbac-cm namespace: argocd