OpenShift - Missing Service Account
Last updated
Last updated
有时集群会使用预配置的模板部署,自动设置角色(Roles)、角色绑定(RoleBindings)甚至 SCC 到尚未创建的服务账户。这可能导致特权升级,如果你能创建它们的话。在这种情况下,你将能够获取新创建的服务账户的令牌,以及相关的角色或 SCC。当缺失的服务账户是缺失项目的一部分时,也会出现相同情况,如果你能创建项目,然后创建服务账户,你将获得相关的角色和 SCC。
在上图中,我们看到了多个 AbsentProject,意味着在角色绑定或 SCC 中出现了多个项目,但在集群中尚未创建。同样,我们也看到了一个 AbsentServiceAccount。
如果我们可以在项目中创建缺失的服务账户,该服务账户将继承针对 AbsentServiceAccount 的角色或 SCC,这可能导致特权升级。
以下示例展示了一个缺失的服务账户,该账户被授予了 node-exporter SCC:
以下工具可用于枚举此问题,更一般地绘制 OpenShift 集群的图形: