Sobes.tech
Назад к вопросам
Junior — Middle
87

Можешь перечислить основные виды абстракций в Kubernetes, обеспечивающие разграничение доступа к функционалу?

Компании, где спрашивали
IDT

Ответ от нейросети

sobes.tech AI

В Kubernetes для разграничения доступа к функционалу используются следующие основные абстракции:

  • Role и ClusterRole — определяют набор разрешений (permissions) на действия с ресурсами внутри namespace (Role) или на уровне всего кластера (ClusterRole).

  • RoleBinding и ClusterRoleBinding — связывают роли с пользователями, группами или сервисными аккаунтами, предоставляя им соответствующие права.

Эти абстракции реализуют модель RBAC (Role-Based Access Control), которая позволяет гибко управлять доступом к ресурсам Kubernetes.

Пример создания Role и RoleBinding:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: default
  name: pod-reader
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "watch", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: read-pods
  namespace: default
subjects:
- kind: User
  name: jane
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: pod-reader
  apiGroup: rbac.authorization.k8s.io

Таким образом, Kubernetes обеспечивает разграничение доступа через роли и привязки ролей.