# Hloubková analýza ACL v Active Directory: typy ACE, ACCESS_MASK a control access rights
Active Directory používá 22 typů ACE, seskupených do 4 kategorií pro správu přístupu. První typ zahrnuje ACCESS_ALLOWED_ACE_TYPE, ACCESS_DENIED_ACE_TYPE, SYSTEM_AUDIT_ACE_TYPE, SYSTEM_MANDATORY_LABEL_ACE_TYPE a SYSTEM_SCOPED_POLICY_ID_ACE_TYPE. Tyto ACE operují s ACCESS_MASK a SID subjektu, aplikují se na základní povolení a zákazy.
Druhý typ — ACCESS_ALLOWED_OBJECT_ACE_TYPE a ACCESS_DENIED_OBJECT_ACE_TYPE — rozšiřuje možnosti. Podporuje ACCESS_MASK, GUID rozšířených práv a dědičnost pro podřízené objekty. Tento typ dominuje v AD díky své flexibilitě.
Třetí typ (ACCESS_ALLOWED_CALLBACK_ACE_TYPE, ACCESS_DENIED_CALLBACK_ACE_TYPE, SYSTEM_AUDIT_CALLBACK_ACE_TYPE, SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE) přidává podmínkové výrazy k ACCESS_MASK a SID. Logická pravidla hodnotí access token, například omezují přístup podle device claims.
Čtvrtý typ kombinuje objektové ACE s podmínkovými výrazy: ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, ACCESS_DENIED_CALLBACK_OBJECT_ACE, SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, SYSTEM_AUDIT_OBJECT_ACE_TYPE. Nicméně podmínkové výrazy jsou zde ignorovány mechanismy kontroly.
Absence GENERIC-práv v security descriptor
ACCESS_MASK je 32bitové pole, kde bity určují práva. Standardní popisy zahrnují GENERIC_READ, GENERIC_WRITE, GENERIC_ALL, ale v security descriptor jsou tyto bity zakázané. Jejich nastavení vede k nepředvídatelným výsledkům a jsou ignorovány v algoritmu autorizace.
GENERIC-bity jsou relevantní při kontrole přístupu prostřednictvím AccessCheckByTypeResultListAndAuditAlarmByHandle s GenericMapping. Tento parametr mapuje GENERIC na object-specific rights. Pro AD jsou mapování definována zvlášť a liší se od souborového systému nebo služeb.
Při vytváření ACE jsou GENERIC-bity blokovány. Ve skutečnosti je 'GENERIC_ALL' kombinací object-specific bits podle standardního mapování AD.
Vlajky ACCESS_MASK a control access rights
Klíčové vlajky:
- RIGHT_DS_CREATE_CHILD / RIGHT_DS_DELETE_CHILD: objectGUID — schemaID podřízeného typu (např. computer v OU=Computers). Bez GUID — všechny typy.
- RIGHT_DS_LIST_CONTENTS: čtení podřízených, objectGUID je ignorováno.
- RIGHT_DS_WRITE_PROPERTY_EXTENDED: objectGUID pro validated writes, ale kontrola podle názvu atributu.
- RIGHT_DS_READ_PROPERTY / RIGHT_DS_WRITE_PROPERTY: objectGUID — property set nebo schemaID. Bez GUID — všechny vlastnosti.
- RIGHT_DS_DELETE_TREE: odstranění stromu objektů.
- RIGHT_DS_LIST_OBJECT: viditelnost objektu v režimu List Object (dSHeuristics).
- RIGHT_DS_CONTROL_ACCESS: objectGUID — extended rights. Bez GUID — všechny.
Control access rights: extended rights, validated writes, property sets
Control access rights se dělí na:
- Extended Rights — práva na akce (synchronizace domény).
- Validated Writes — modifikace konkrétních atributů s kontrolou.
- Property Sets — přístup k skupinám atributů pro kompaktnost ACL.
AllExtendedRights na computer nedává právo zápisu do msDS-AllowedToActOnBehalfOfOtherIdentity (RBCD). Jedná se o validated write z property set User-Account-Restrictions (GUID=4c164200-20c0-11d0-a768-00aa006e0529). Vyžadují se samostatná WRITE_PROPERTY nebo práva na property set.
Dědičnost ACE v hierarchii AD
ACE s vlajkami OBJECT_INHERIT_ACE, CONTAINER_INHERIT_ACE, NO_PROPAGATE_INHERIT_ACE, INHERIT_ONLY_ACE, INHERITED_ACE se kopírují na podřízené. Jednoduché typy se dědí na libovolné kontejnery. Objektové ACE (s GUID) jsou omezeny InheritedObjectType.
Co je důležité
- 22 typů ACE se seskupuje do 4 druhů: základní, objektové, callback, objektové callback.
- GENERIC-* bity se neukládají v SD, slouží pouze k mapování při kontrole.
- Control access rights — extended rights (akce), validated writes (atributy), property sets (skupiny).
- RBCD vyžaduje práva na validated write, není pokryto AllExtendedRights.
- Dědičnost ACE řídí vlajky a InheritedObjectType pro přesnou kontrolu.
— Editorial Team
Zatím žádné komentáře.