argocd-rbac-cm里面data里面的policy解释
时间: 2024-11-29 18:37:51 浏览: 18
Argo CD 的 RBAC (Role-Based Access Control) 配置文件通常包含在一个名为 `argocd-rbac-cm` 的 ConfigMap 中。这个文件的数据部分 (`data`) 定义了 Kubernetes 的 Role 和 ClusterRole 角色绑定策略,用于控制哪些用户、服务账户或者角色集能够对 Argo CD 系统进行操作。
`policy` 字段下会列出一系列规则,每个规则是一个 JSON 对象,它定义了一个特定的角色权限。这些权限可能包括对应用目录 (`argocd-apps`)、应用实例 (`argocd-resources`)、以及 Argoproj API 资源的 CRUD 操作。例如:
```json
{
"apiVersion": "rbac.authorization.k8s.io/v1",
"kind": "ClusterRoleBinding",
"metadata": {
"name": "argo-admin"
},
"roleRef": {
"apiGroup": "argoproj.io",
"kind": "ClusterRole",
"name": "argo-admin"
},
"subjects": [
{
"kind": "ServiceAccount",
"namespace": "argocd",
"name": "argo-server"
}
]
}
```
这里定义了一个 cluster role binding,给名为 "argo-server" 的 Service Account 分配了名为 "argo-admin" 的 cluster role,赋予其对整个 Argo CD 系统的高度访问权限。
阅读全文