Delen via


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

Diagram met Azure RBAC-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 apiserveraanroepende 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 apiserveraanroepende entiteit, waardoor de aanroepende entiteit een fout 403 verboden heeft voor de aangevraagde resource.

Volgende stappen