Реализация AppContainer
AppContainer реализуется путем добавления новых сведений в маркер процесса, изменения SeAccessCheck(), чтобы все устаревшие, неизмененные объекты списка управления доступом (ACL) блокировали запросы доступа из процессов AppContainer по умолчанию, а также повторно объекты ACL, которые должны быть доступны Для AppContainers.
Процесс
Начните с добавления новых сведений для маркера процесса. Затем измените SeAccessCheck(), чтобы все устаревшие списки управления доступом блокировали запросы доступа из процессов AppContainer по умолчанию. Наконец, повторное управление доступом к ресурсам, которые должны быть доступны для AppContainers
Идентификатор безопасности AppContainer — это постоянный уникальный идентификатор для appcontainer. Идентификаторы безопасности возможностей предоставляют доступ к группам ресурсов группам AppContainers. AppContainerNumber — это временный DWORD, используемый для различения AppContainers. Однако его не следует использовать в качестве удостоверения для AppContainer.
Чтобы разрешить одному AppContainer доступ к ресурсу, добавьте его AppContainerSID в ACL для этого ресурса.
Чтобы разрешить доступ к ресурсу нескольких конкретных приложений, добавьте все их идентификаторы AppContainerSID в ACL для этого ресурса.
Чтобы управлять группами разрешений, создайте идентификатор БЕЗОПАСНОСТИ возможностей (GUID) и поместите этот идентификатор безопасности возможностей во все ресурсы, которые необходимо предоставить. Затем добавьте идентификатор безопасности возможностей в маркер процесса.
Чтобы разрешить доступ ко всем приложениям AppContainers к ресурсу, добавьте все пакеты приложений ИДЕНТИФИКАТОР безопасности для этого ресурса. Это действует как подстановочный знак.
Как AppContainerSID, так и CapabilitySID поддерживают маски доступа в записях управления доступом (ACE). Задайте соответствующим образом.