Azure RBAC på Azure Arc-aktiverade Kubernetes-kluster

Kubernetes ClusterRoleBinding- och RoleBinding-objekttyper hjälper till att definiera auktorisering i Kubernetes internt. Med rollbaserad åtkomstkontroll i Azure (Azure RBAC) kan du använda Microsoft Entra-ID och rolltilldelningar i Azure för att kontrollera auktoriseringskontroller i klustret. På så sätt kan fördelarna med Azure-rolltilldelningar, till exempel aktivitetsloggar som visar alla Azure RBAC-ändringar i en Azure-resurs, användas med ditt Azure Arc-aktiverade Kubernetes-kluster.

Arkitektur

Diagram som visar Azure RBAC-arkitektur.

För att dirigera alla åtkomstkontroller för auktorisering till auktoriseringstjänsten i Azure distribueras en webhook-server (guard) i klustret.

Klustret apiserver är konfigurerat för att använda webhook-tokenautentisering och webhook-auktorisering så att TokenAccessReview och SubjectAccessReview begäranden dirigeras till guard webhook-servern. Begäranden TokenAccessReview och SubjectAccessReview utlöses av begäranden för Kubernetes-resurser som skickas till apiserver.

Guard anropar checkAccess sedan auktoriseringstjänsten i Azure för att se om den begärande Microsoft Entra-entiteten har åtkomst till resursen.

Om entiteten har en roll som tillåter den här åtkomsten skickas ett allowed svar från auktoriseringstjänsten för att skydda. Guard skickar i sin tur ett allowed svar till , apiservervilket gör det möjligt för den anropande entiteten att komma åt den begärda Kubernetes-resursen.

Om entiteten inte har en roll som tillåter den här åtkomsten skickas ett denied svar från auktoriseringstjänsten för att skydda. Guard skickar ett denied svar till apiserver, vilket ger den anropande entiteten ett 403-förbjudet fel på den begärda resursen.

Nästa steg