AppContainer 通过将新信息添加到进程令牌、更改 SeAccessCheck() 来实现,以便默认情况下,所有旧式未修改的访问控制列表 (ACL) 对象都会阻止来自 AppContainer 进程的访问请求,以及应提供给 AppContainers 的重新 ACL 对象。
该过程
首先为进程令牌添加新信息。 然后更改 SeAccessCheck(),以便默认情况下,所有旧版未修改的 ACL 都会阻止来自 AppContainer 进程的访问请求。 最后,应可用于 AppContainers 的重新 ACL 资源
AppContainer SID 是 appcontainer 的持久唯一标识符。 功能 SID 向 AppContainers 组授予对资源组的访问权限。 AppContainerNumber 是用于区分 AppContainers 的暂时性 DWORD。 但是,它不应用作 AppContainer 的标识。
若要允许单个 AppContainer 访问资源,请将其 AppContainerSID 添加到该资源的 ACL。
若要允许多个特定的 AppContainer 访问资源,请将其所有 AppContainerSID 添加到该资源的 ACL。
若要管理权限组,请创建一个功能 SID (GUID),并将该功能 SID 置于要授予的所有资源上。 然后将功能 SID 添加到进程令牌。
若要允许所有 AppContainer 访问资源,请将 所有应用程序包 SID 添加到该资源的 ACL。 这类似于通配符。
AppContainerSID 和 CapabilitySID 都支持访问控制条目(ACE)中的访问掩码。 根据需要进行设置。