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. |