是否有可能通过Kubernetes集群中的一个角色单独允许修补资源的元数据?
我只希望允许修补命名空间的元数据,而不授予整个命名空间对象写权限。
usecase允许部署管道向命名空间添加/更改注释,而不给它们完全的控制。
发布于 2022-04-06 09:15:28
要在不授予整个命名空间对象写权限的情况下添加/更改命名空间的元数据,可以创建一个RBAC角色,在该角色中可以限制对命名空间资源的访问。这样,部署管道就可以访问只更改元数据--即对命名空间的注释--而不给予它们完全控制的权限。
RBAC角色包含表示一组权限的规则。权限纯粹是加性的(没有“拒绝”规则)。
角色总是在特定的命名空间中设置权限;创建角色时,必须指定它所属的名称空间。
让我们考虑名称空间中的一个示例角色,该角色可用于授予对资源、豆荚和服务的读取访问权限:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: <namespace-name>
name: read-access
rules:
- apiGroups: [""]
resources: ["pods", “services”]
verbs: ["get", "watch", "list"]要授予对命名空间中提到的所有资源的读访问权,请在资源字段中使用这个特殊字符“*”,即资源:“*”。
备注:如果您想将资源限制到特定的用户,则可以使用Rolebinding。角色绑定将角色中定义的权限授予用户或一组用户。它包含一个主题列表(用户、组或服务帐户),以及对所授予角色的引用。RoleBinding在特定命名空间内授予权限。
有关更多信息,请参考RBAC作用。
https://stackoverflow.com/questions/71751850
复制相似问题