Как обеспечить доступ к учетной записи службы для чтения модулей в нескольких пространствах имен? - PullRequest
0 голосов
/ 19 марта 2019

Я еду через RBAC в Кубернетес.Мне кажется, что

  • ServiceAccount может быть связан с ролью в пространстве имен (или)
  • ServiceAccount может быть связан с ClusterRole и иметь доступ ко всему кластеру (всепространства имен?)

Возможно ли, чтобы одна учетная запись службы (или пользователь) не имела доступа к кластеру, а имела доступ только для чтения только в подмножестве пространств имен?Если да, может кто-нибудь рассказать, как этого можно достичь.Спасибо!

1 Ответ

1 голос
/ 19 марта 2019

Вам необходимо создать RoleBinding для каждого пространства имен в каждом пространстве имен, к которому у ServiceAccount должен быть доступ.

Существует пример предоставления по умолчанию разрешений ServiceAccount для чтения модулей в пространстве имен development.

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: read-secrets
  namespace: development # This only grants permissions within the "development" namespace.
subjects:
- kind: ServiceAccount
  name: default
  namespace: kube-system
roleRef:
  kind: Role
  name: pod-reader 
  apiGroup: rbac.authorization.k8s.io
...