Azure RBAC v clusterech Kubernetes s podporou Azure Arc

Typy objektů Kubernetes ClusterRoleBinding a RoleBinding pomáhají nativně definovat autorizaci v Kubernetes. Pomocí řízení přístupu na základě role v Azure (Azure RBAC) můžete k řízení kontrol autorizace v clusteru použít id Microsoft Entra a přiřazení rolí v Azure. To umožňuje výhody přiřazení rolí Azure, jako jsou protokoly aktivit zobrazující všechny změny Azure RBAC prostředku Azure, které se použijí s clusterem Kubernetes s podporou Azure Arc.

Architektura

Diagram znázorňující architekturu Azure RBAC

Aby bylo možné směrovat všechny kontroly přístupu autorizace do autorizační služby v Azure, nasadí se v clusteru server webhooku (guard).

Cluster apiserver je nakonfigurovaný tak, aby používal ověřování tokenu webhooku a autorizaci webhooku, TokenAccessReview aby se požadavky SubjectAccessReview směrovaly na server strážného webhooku. Požadavky TokenAccessReview a SubjectAccessReview žádosti se aktivují požadavky na prostředky Kubernetes odeslané do služby apiserver.

Guard pak zavolá checkAccess autorizační službu v Azure, aby zjistil, jestli má žádající entita Microsoft Entra přístup k prostředku, který se týká.

Pokud má tato entita roli, která povoluje tento přístup, allowed odešle se odpověď z autorizační služby, která chrání. Stráž zase pošle allowed odpověď na apiservervolající entitu, která umožňuje přístup k požadovanému prostředku Kubernetes.

Pokud entita nemá roli, která tento přístup povoluje, denied odešle se odpověď z autorizační služby, která bude chránit. Guard odešle denied odpověď na požadovanou entitu apiservers chybou 403 zakázáno.

Další kroky