ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] 授权有很多种模式,最常见的有 * AlwaysAllow:即只要认证通过,API请求就正常返回 * AlwaysDeny:即使认证通过,也无权限 * RBAC * 等等 在这里面,最重要的就是RBAC的授权策略,本节将详细地介绍。 RBAC中有四个重要的资源对象:Role、ClusterRole、RoleBinding、ClusterRoleBinding。 Role与ClusterRole是对k8s中资源的操作权限的集合,Role是命名空间级别的,ClusterRole是集群级别的。 下面是一个Role的例子 ``` apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: namespace: user-a name: pod-reader rules: - apiGroups: [""] # /api/v1 resources: ["pods"] verbs: ["get", "list"] ``` 它所对应的API就是 ``` GET /api/v1/namespaces/user-a/pods/<pod> GET /api/v1/namespaces/user-a/pods ``` 下面是一个RoleBinding ``` apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: pod-reader namespace: user-a roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: pod-reader subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: user-a ```