Governance v Azure: řízení přístupu a provozní politiky

Jste enterprise firma a myslíte to s cloudem vážně? Pak určitě budete chtít dobře řídit governance – kdo co smí, co komu patří, jaké politiky se mají vynutit, jak si rozdělit práci, jak řídit náklady. V tomto seriálu se na to zaměříme.

Dnes se podíváme na jemné řízení přístupu k zdrojům v Azure a také na vytváření provozních politik.

Detailní demo k dnešnímu tématu najdete na mém GitHubu zde: https://github.com/tkubica12/azure-policy-rbac-demo

Role-based-access-control vs. Azure Policy

Nejprve se vysvětleme to, co mají administrátoři zprvu problém odlišit. RBAC vs. provozní politika. Důležitá zpráva na začátek – obě se implementují na nízkoúrovňových přístupech (API resp. ARM), čili fungují pro všechny typy přístupu – portál, CLI, PowerShell, ARM šablona, SDK, Ansible či Terraform.

Role based access control je o tom, co který uživatel smí dělat. Funguje to na úrovni API, tedy jakou část stromu prostředků a akcí nad nimi smí využívat. Každá akce v Azure (API volání) je vlastně něco jako URL cesta začínající providerem (například Compute, Storage, Networking), následuje identifikací subscription, pak resource group, pak samotného zdroje a nakonec je akce (start, stop, …). Na této úrovni lze tedy přístup řídit velmi jemně.

RBAC tedy znamená, že řeknete které subscriptions, resource groups nebo jednotlivé zdroje uživatel vidí, do kterých může i zapisovat a jaké akce s nimi může provádět.

Azure Policy je něco jiného, je to o definici pravidel pro práci se zdroji, které musí všichni uživatelé ctít. Funguje na úrovni ARM a můžete v politice reagovat na přítomnost určitých políček v ARM šabloně a omezit jejich hodnoty.  Lze tak například v subscription omezit možnosti používání diskových obrazů jen na ty, které vytvořila a schválila securita. Nebo dokážete vynutit přítomnost metadat, tedy tagování zdrojů tak, že musí obsahovat třeba kontaktní osobu, typ prostředí nebo kategorii zpracovávaných dat. Dá se také uzamknout virtuální stroje v nějaké resource group do konkrétního subnetu a zabránit tak přemostění připravených síťařských pravidel a zařízení.

Azure Policy definuje provozní pravidla platná pro všechny zdroje, ke kterým jsou přiřazena (třeba Resource Group) bez ohledu na to, kdo je uživatel. Tato pravidla řeší nejen co, ale i jak, protože vidí do obsahu akcí (například jaký konkrétně subnet se uživatel snaží přiřadit ke své VM).

Pokračujte ve čtení