Implémentation d’un AppContainer

Un AppContainer est implémenté en ajoutant de nouvelles informations au jeton de processus, en modifiant SeAccessCheck () afin que tous les objets de liste de contrôle d’accès (ACL) hérités et non modifiés bloquent les demandes d’accès des processus AppContainer par défaut, et les objets de réacl qui doivent être disponibles pour AppContainers.

Processus

Commencez par ajouter de nouvelles informations pour le jeton de processus. Modifiez ensuite SeAccessCheck () afin que toutes les listes de contrôle d’accès héritées non modifiées bloquent les demandes d’accès des processus AppContainer par défaut. Enfin, reconfigurez les ressources de liste de contrôle d’accès qui doivent être disponibles pour AppContainers

Le SID AppContainer est un identificateur unique persistant pour l’appcontainer. Les SID de capacité accordent l’accès à des groupes de ressources à des groupes de AppContainers. Un AppContainerNumber est un DWORD temporaire utilisé pour distinguer les AppContainers. Toutefois, il ne doit pas être utilisé en tant qu’identité pour l’AppContainer.

Pour autoriser un seul AppContainer à accéder à une ressource, ajoutez son AppContainerSID à la liste de contrôle d’accès pour cette ressource.

Pour permettre à plusieurs AppContainers spécifiques d’accéder à une ressource, ajoutez tous leurs AppContainerSIDs à la liste de contrôle d’accès pour cette ressource.

Pour gérer des groupes d’autorisations, créez un SID de capacité (un GUID) et placez ce SID de fonctionnalité sur toutes les ressources à accorder. Ajoutez ensuite le SID de fonctionnalité à votre jeton de processus.

Pour autoriser tous les AppContainers à accéder à une ressource, ajoutez le SID tous les packages d’application à la liste de contrôle d’accès de cette ressource. Cela agit comme un caractère générique.

AppContainerSID et CapabilitySID prennent tous deux en charge les masques d’accès dans les entrées Access Control (ACE). Définissez le cas échéant.