Kubernetes 安全与运维实践指南
1. 访问控制与服务账户
在 Kubernetes 中,为了让机器用户获得访问权限,可以创建 Kubernetes ServiceAccount,然后在 RBAC 绑定的主体中引用它,而非直接使用用户。虽然有文档介绍为人类用户设置 ServiceAccount,用户下载服务账户的证书来与 Kubernetes 交互,但这种方式不推荐,因为它脱离了身份系统。例如,当开发者离职,其在身份系统中的账户被停用,但他们为 ServiceAccount 下载的令牌仍会保持有效。
更好的做法是正确配置身份联合,仅为人类用户使用 User 主体。这样,当用户在身份系统中被停用,他们对 Kubernetes 的访问权限也会被撤销。像 Google Cloud 这样的托管平台能轻松实现这种集成,而其他平台可能需要进行一些设置。
Kubernetes ServiceAccounts 适用于集群内的 Pod 需要访问 Kubernetes API 的场景。例如,创建一个 Pod 来监控另一个 Deployment 时,可以创建一个 ServiceAccount 作为 RoleBinding 的主体,并将该服务账户分配给 Pod。Pod 在进行 API 调用(包括使用 kubectl)时就能使用该凭证。
2. Pod 安全与网络策略
Pod Security 准入可用于控制 Pod 在节点上的权限,而 RBAC 则管理用户在集群中可管理的资源。但如果需要在网络和容器层面进行更深入的隔离,还有其他措施可以采取。
2.1 网络策略
默认情况下,集群中的每个 Pod 都可以与其他 P
超级会员免费看
订阅专栏 解锁全文
1202

被折叠的 条评论
为什么被折叠?



