0

我正在为我的应用程序设置一个命名空间,该命名空间在该命名空间中具有状态集、部署和机密。使用 RBAC,我正在定义特定角色并将它们绑定到部署/状态集使用的服务帐户。这按预期工作。

现在,当我尝试通过不为部署分配任何服务帐户来测试机密是否安全时,它仍然会拉下机密。命名空间中的默认服务帐户与不应访问机密的视图集群角色绑定。

任何线索这里发生了什么?

提前致谢。

4

2 回答 2

1

我相信您需要将 a 分配给RoleBinding命名空间上的默认服务帐户。例如:

kubectl create rolebinding myapp-view-binding --clusterrole=view --serviceaccount=default:default --namespace=default

视图角色应该阻止您阅读机密。

于 2018-10-01T02:59:22.547 回答
0

现在,当我尝试通过不将任何服务帐户分配给部署来测试机密是否安全时...

如果您没有为部署分配服务帐户,default则将使用部署命名空间中的服务帐户。

...它仍然揭开秘密

尝试automountServiceAccountToken: false在吊舱上设置。这将确保服务帐户令牌不会自动挂载。所以像:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-pod
spec:
  ...
  template:
    ...
    spec:
      serviceAccountName: default
      automountServiceAccountToken: false
于 2018-10-01T04:09:05.340 回答