Autorisations des composants Knative serving

Utilisez cette page pour comprendre les autorisations RBAC détenues par les composants Knative serving pour conserver l'accès au cluster. Ces autorisations sont requises et activées par défaut dans Knative serving. N'essayez pas de les désactiver.

Composants Namespace Compte de service
activator knative-serving controller
autoscaler knative-serving controller
controller knative-serving controller
webhook knative-serving controller
storage-version-migration-serving knative-serving controller
webhook knative-serving controller
cloud-run-operator cloud-run-system cloud-run-operator

Notez que le compte de service cloud-run-operator dispose du même ensemble d'autorisations que controller. L'opérateur permet de déployer tous les composants Knative serving, y compris les définitions de ressources personnalisées et les contrôleurs.

RBAC pour les comptes de service Knative serving

Utilisez les définitions apiGroup suivantes pour comprendre les autorisations de contrôle d'accès dont dispose chaque ressource dans Knative serving pour les comptes de service controller et cloud-run-operator.

- apiGroups:
  - ""
  resources:
  - pods
  - secrets
  verbs:
  - deletecollection
- apiGroups:
  - ""
  resources:
  - nodes
  verbs:
  - get
  - watch
  - list
- apiGroups:
  - ""
  resources:
  - pods
  - namespaces
  - secrets
  - configmaps
  - endpoints
  - services
  - events
  - serviceaccounts
  verbs:
  - get
  - list
  - create
  - update
  - delete
  - patch
  - watch
- apiGroups:
  - ""
  resources:
  - endpoints/restricted
  verbs:
  - create
- apiGroups:
  - ""
  resources:
  - namespaces/finalizers
  verbs:
  - update
- apiGroups:
  - apps
  resources:
  - deployments
  - deployments/finalizers
  verbs:
  - get
  - list
  - create
  - update
  - delete
  - patch
  - watch
- apiGroups:
  - admissionregistration.k8s.io
  resources:
  - mutatingwebhookconfigurations
  - validatingwebhookconfigurations
  verbs:
  - get
  - list
  - create
  - update
  - delete
  - patch
  - watch
- apiGroups:
  - apiextensions.k8s.io
  resources:
  - customresourcedefinitions
  - customresourcedefinitions/status
  verbs:
  - get
  - list
  - create
  - update
  - delete
  - patch
  - watch
- apiGroups:
  - autoscaling
  resources:
  - horizontalpodautoscalers
  verbs:
  - get
  - list
  - create
  - update
  - delete
  - patch
  - watch
- apiGroups:
  - coordination.k8s.io
  resources:
  - leases
  verbs:
  - get
  - list
  - create
  - update
  - delete
  - patch
  - watch
- apiGroups:
  - admissionregistration.k8s.io
  resources:
  - validatingwebhookconfigurations
  verbs:
  - get
  - list
  - create
  - update
  - delete
  - patch
  - watch

Le tableau suivant répertorie la façon dont les autorisations RBAC sont utilisées dans Knative serving, où :

  • view (afficher) inclut les verbes : get, list et watch (obtenir, lister et regarder).
  • modify (modifier) inclut les verbes : create, update, delete et patch (créer, mettre à jour, supprimer et corriger)
Autorisations Motifs
Peut afficher tous les secrets Le webhook doit lire le secret à partir de l'espace de noms knative-serving. Le contrôleur de mappage de domaine doit lire le secret de certificat généré par la fonctionnalité TLS automatique, puis le copier dans l'espace de noms gke-system.
Peut modifier pods Le contrôleur de mappage de domaine doit créer un pod permettant de diffuser les requêtes pour répondre au défi HTTP01.
Peut modifier secrets Le contrôleur de mappage de domaine doit créer ou mettre à jour le secret de certificat. Le webhook doit lire le secret à partir de l'espace de noms knative-serving.
Peut modifier configmaps Utilisé avec la fonctionnalité d'URL par défaut. Le contrôleur doit mettre à jour le ConfigMap "config-domain" dans l'espace de noms "knative-serving" pour ajouter l'URL "nip.io".
Peut modifier endpoints Le contrôleur de service sans serveur doit créer, mettre à jour ou supprimer les points de terminaison. Le contrôleur de routage doit créer, mettre à jour ou supprimer les points de terminaison.
Peut modifier services Le contrôleur de routage doit créer, mettre à jour ou supprimer un service. Le contrôleur sans serveur doit créer, mettre à jour ou supprimer un service. Le contrôleur de mappage de domaine doit créer un service pour diffuser les requêtes d'authentification HTTP01.
Peut modifier events Le contrôleur Knative serving crée et émet des événements pour les ressources gérées par Knative.
Peut modifier serviceaccounts Knative serving doit lire un compte de service indirectement.
Peut modifier endpoints/restricted Knative serving doit créer des points de terminaison lorsque RestrictedEndpointsAdmission est activé.
Peut modifier deployments Le contrôleur de révision doit créer ou mettre à jour un déploiement pour Knative serving.
Peut modifier mutatingwebhookconfiguration Le webhook Knative ajoute caBundle aux configurations mutatingwebhookconfigurations appartenant à Knative.
Peut modifier validatingwebhookconfiguration Le webhook Knative ajoute caBundle aux configurations validatingwebhookconfigurations appartenant à Knative.
Peut modifier customresourcedifinitions customresourcedefinitions/status La tâche post-installation Knative doit être mise à niveau vers les objets CRD associés à Knative vers la version v1.
Peut modifier horizontalpodautoscalers Knative est compatible avec l'autoscaling basé sur le HPA.
Peut modifier namespace/finalizer Knative serving doit définir la référence propriétaire sur l'espace de noms Knative-serving.