Вы не можете сделать это на уровне Ingress Controller. Это можно сделать по правилам RBA C.
Примерно так:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
namespace: namespace1
name: deployment-manager
rules:
- apiGroups: ["", "extensions", "apps"]
resources: ["deployments", "replicasets", "pods"]
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: deployment-manager-binding
namespace: namespace1
subjects:
- kind: User
name: user1
apiGroup: ""
roleRef:
kind: Role
name: deployment-manager
apiGroup: ""
На уровне Ingress Controller (и в зависимости от Ingress Controller) вы можете отклонять запросы на основе хоста, пути; пользователь пытается получить доступ, заголовки и другие атрибуты, но не на основе личности пользователя.
Обратите внимание, что сам Ingress Controller будет работать в пространстве имен, поэтому вашему пользователю необходимо сначала обратиться к это (после аутентификации и авторизации), а затем будет отклонено, что на самом деле не звучит правильно.