Ограничьте доступ к кластеру Kubernetes на облачной платформе google

Мы создали 2 разных кластера Kubernetes на платформе Google Cloud Platform: один для разработки, а другой - для производства. Члены нашей команды имеют роль «редактора» (поэтому они могут создавать, обновлять модули удаления и списки)

Мы хотим ограничить доступ к производственному кластеру с помощью авторизации RBAC, предоставляемой Kubernetes. Я создал ClusterRole и ClusterBindingRole, как показано ниже:

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: prod-all
rules:
- apiGroups: ["*"]
  resources: ["*"]
  verbs: ["*"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: access-prod-all
subjects:
- kind: User
  name: [email protected]
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: prod-all
  apiGroup: rbac.authorization.k8s.io

Но у пользователей уже есть роль «редактора» (полный доступ ко всем кластерам). Поэтому я не знаю, следует ли нам назначать простую роль «зрителя», чем расширять ее с помощью kubernetes RBAC.

Я также хочу знать, есть ли способ полностью скрыть производственный кластер от некоторых пользователей. (наши кластеры находятся в одном проекте)


person PhiloJunkie    schedule 13.01.2018    source источник


Ответы (1)


Если вы находитесь на начальной стадии или вам удастся переместить тестовый кластер, я бы посоветовал вам настроить кластеры в двух разных проектах.

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

Потому что, возможно, вам удастся заблокировать доступ к кластеру с помощью IAM и RBAC, но тогда вам придется иметь дело с защитой доступа к сетевым компонентам, LoadBalacers, межсетевым экранам, к Compute Engine и т. Д.

Может быть, вначале это много работы, но в конечном итоге это избавит вас от многих проблем.

Это ссылка на официальную документацию Google Cloud о том, как создать два кластера, один из которых находится в производстве.

person GalloCedrone    schedule 17.01.2018