Как отключить использование учетной записи службы по умолчанию с помощью набора состояния / развертывания в kubernetes - PullRequest
0 голосов
/ 01 октября 2018

Я настраиваю пространство имен для моего приложения, которое содержит наборы состояний, развертывания и секреты в этом пространстве имен.Используя RBAC, я определяю конкретные роли и привязываю их к учетной записи службы, которая используется для развертывания / набора состояний.Это работает как ожидалось.

Теперь, когда я пытаюсь проверить, защищены ли секреты, не назначая какую-либо служебную учетную запись для развертывания, она все равно сбрасывает секреты.Учетная запись службы по умолчанию в пространстве имен связана с ролью кластера представлений, которая не должна иметь доступа к секретам.

Есть подсказка, что здесь происходит?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Теперь, когда я пытаюсь проверить, являются ли секреты безопасными, не назначая учетную запись службы для развертывания ...

Если вы не назначаете учетную запись службы для своего развертываниябудет использоваться учетная запись службы default в пространстве имен развертывания.

... она по-прежнему сбрасывает секреты

Попробуйте установить automountServiceAccountToken: false напорт назначенияЭто обеспечит автоматическое подключение токена учетной записи службы.Так что-то вроде:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-pod
spec:
  ...
  template:
    ...
    spec:
      serviceAccountName: default
      automountServiceAccountToken: false
0 голосов
/ 01 октября 2018

Полагаю, вам нужно назначить RoleBinding учетной записи службы по умолчанию в вашем пространстве имен.Например:

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

Роль просмотра должна препятствовать чтению секретов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...