Azure RBAC in Kubernetes-clusters met Azure Arc
Kubernetes ClusterRoleBinding- en RoleBinding-objecttypen helpen bij het definiëren van autorisatie in Kubernetes. Met op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) kunt u Microsoft Entra-id en roltoewijzingen in Azure gebruiken om autorisatiecontroles op het cluster te beheren. Hierdoor kunnen de voordelen van Azure-roltoewijzingen, zoals activiteitenlogboeken met alle Azure RBAC-wijzigingen in een Azure-resource, worden gebruikt met uw Kubernetes-cluster met Azure Arc.
Architectuur
Om alle autorisatietoegangscontroles naar de autorisatieservice in Azure te routeren, wordt er een webhookserver (guard) geïmplementeerd op het cluster.
Het apiserver
cluster is geconfigureerd voor het gebruik van webhooktokenverificatie en webhookautorisatie, TokenAccessReview
zodat en SubjectAccessReview
aanvragen worden doorgestuurd naar de beveiligde webhookserver. De TokenAccessReview
en SubjectAccessReview
aanvragen worden geactiveerd door aanvragen voor Kubernetes-resources die worden verzonden naar de apiserver
.
Guard roept checkAccess
vervolgens de autorisatieservice in Azure aan om te zien of de aangevraagde Microsoft Entra-entiteit toegang heeft tot de resource van het probleem.
Als deze entiteit een rol heeft die deze toegang toestaat, wordt er een allowed
antwoord verzonden van de autorisatieservice om te bewaken. Guard stuurt op zijn beurt een allowed
antwoord naar de apiserver
aanroepende entiteit om toegang te krijgen tot de aangevraagde Kubernetes-resource.
Als de entiteit geen rol heeft die deze toegang toestaat, wordt er een denied
antwoord verzonden van de autorisatieservice om te bewaken. Guard verzendt een denied
antwoord naar de apiserver
aanroepende entiteit, waardoor de aanroepende entiteit een fout 403 verboden heeft voor de aangevraagde resource.
Volgende stappen
- Gebruik onze quickstart om een Kubernetes-cluster te verbinden met Azure Arc.
- Azure RBAC instellen op uw Kubernetes-cluster met Azure Arc.