Implémenter 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 re-ACL objets 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 et non modifiées bloquent les demandes d’accès des processus AppContainer par défaut. Enfin, re-ACL ressources 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 d’AppContainers. Un AppContainerNumber est un DWORD temporaire utilisé pour faire la distinction entre appContainers. Toutefois, il ne doit pas être utilisé comme identité pour l’AppContainer.
Pour autoriser un AppContainer unique à accéder à une ressource, ajoutez son AppContainerSID à la liste de contrôle d’accès de 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 de cette ressource.
Pour gérer des groupes d’autorisations, créez un SID de capacité (GUID) et placez-le sur toutes les ressources à accorder. Ajoutez ensuite le SID de capacité à votre jeton de processus.
Pour autoriser tous les AppContainers à accéder à une ressource, ajoutez le SID ALL APPLICATION PACKAGES à la liste de contrôle d’accès de cette ressource. Cela agit comme un caractère générique.
AppContainerSID et CapabilitySID prennent en charge les masques d’accès dans les entrées Access Control (ACE). Définissez le cas échéant.