K8S基础学习-API服务器的安全防护
pod使用一种称为SA的机制,正常用户和serviceaccount都可以属于一个或多个组。组可以一次给多个用户赋予权限,而不是必须单独给用户赋予权限。
API服务器要求客户端在服务器上执行操作之前对自己进行身份验证,POD是通过发送/var/run/secrets/kubernetes.io/serviceaccount/token文件内容来进行身份验证的。
REST接口:
API服务器对外暴露了REST接口,用户可以通过向服务器发送HTTP请求来执行动作,通过在请求中包含认证凭证来进行认证(认证token,用户名和密码或者客户端证书)
RBAC授权插件将用户角色作为决定用户能否执行操作的关键因素。
主体(可以是一个人,一个serviceaccount,或者一组用户或serviceaccount)和一个或多个角色相关联,每个角色被允许在特定的资源上执行特定的动词。
如果一个用户有多个角色,他们可以做任何他们的角色允许他们做的事情。
通过创建四种RBAC特定的k8s资源来完成。
role角色和clusterrole集群角色,它们指定了在资源上可以执行哪些动词。
rolebinding角色绑定和clusterrolebinding集群角色绑定,它们将上述角色绑定到特定的用户,组或serviceaccounts上。