Управление доступом приложения к другому пространству имен с использованием RBA C в kubernetes - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь найти наши минимальные привилегии, необходимые для взаимодействия приложения в kubernetes для следующего сценария ios

  1. Приложение 1 находится в пространстве имен 1, а приложение 2 находится в пространстве имен 2
  2. App1 находится в кластере 1, а app2 находится в кластере 2

Я развернул образец приложения в моем кластере (https://github.com/kubernetes/kubernetes/tree/release-1.2/examples/guestbook) в двух разных пространствах имен

Несмотря на то, что, несмотря на то, что я связываю эти приложения с учетной записью службы, у меня нет привилегий в соответствующих пространствах имен, мое приложение php все еще может обращаться к приложению redis. Я ожидал, что это вызовет ошибку, как мои приложения функционируют даже после того, как я не назначил моей учетной записи службы

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

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
 name: no-access-cr
rules:
- apiGroups: [""] # "" indicates the core API group
  resources: [""] 
  verbs: [""]

Пожалуйста, помогите! !!

1 Ответ

1 голос
/ 20 апреля 2020
Политики

RBA C, которые вы применяете к приложениям, не имеют ничего общего с самой сетью (L3 / L4). Они связаны с доступом L7 к API k8s (сервер kube-api) и, следовательно, с доступом к объектам k8s, предоставляемым через эти API.

Если вы хотите ограничить доступ между приложениями на сетевом уровне (L3 / L4), вы необходимо применить сетевые политики Также в зависимости от сетевого плагина, например, можно использовать ситцевые политики .

...