调控是一组策略、角色、责任和流程,用于指导、指示和控制组织的业务部门和IT团队如何实现业务目标。
沙盒解决方案限制对网络和本地资源的访问,从而提供更高的安全性和稳定性。使用沙盒解决方案可实现负载平衡解决方案、尚未经完全测试的解决方案,以及在托管环境中部署用户解决方案。沙盒解决方案运行在单独的辅助线程中,这样他们就无法访问属于其他结局方案的资源,并且它们对本地和网络资源的访问受到限制。
沙盒解决方案概述
可以将SharePoint结局方案直接部署到Microsoft SharePoint Server 2010上,或将其部署到一个沙盒内。
沙盒是一个受限制的执行环境,可以使应用程序仅访问某些资源,并使在沙盒发生的问题不会影响服务器环境中的其余部分。
部署在沙盒中的解决方案称为沙盒解决方案,它们不能使用某些计算机和网络资源,也不能访问它们部署到的网站集以外的内容。
由于沙盒解决方案不会影响到整个服务器场,因此不必由服务器场管理员进行部署。沙盒解决方案可以由网站集管理员部署,或在某些情况下,可以由网站集根目录具有完全控制访问权的用户部署。只有服务器场管理员才可以提升沙盒解决方案,使其直接在沙盒之外的服务器场中运行。
沙盒解决方案使用场景:
· 某个组织希望在SharePoint Server生产网站上运行员工代码,并且此代码没有经过严格的检查和测试;
· 宿主希望让所承载的SharePoint Server网站的所有者上载和运行自定义代码。
部署和运行沙盒解决方案
SharePoint Server应用程序的任何页面除了包含直接在场中运行的组件之外,还可以包含某些在沙盒中运行的组件。即:
· 部署到场中的组件将在IIS工作进程中运行;
· 部署在沙盒中的组件将在沙盒进程中运行;
可以在沙盒中部署的组件有:
· Web部件
· 事件接收器
· 功能接收器
· 自定义SPD的工作流活动
· Microsoft infoPath业务逻辑
部署沙盒解决方案的步骤:
1) 服务器场管理员执行以下任务(这些任务只能执行一次)
· 服务器场管理员启用沙盒处理,并在每个将运行沙盒解决方案的服务器上启动沙盒服务;
· 服务器场管理员决定使用哪种负载均衡方案(该负载均衡将应用与服务器场中所有网站集中的所有沙盒解决方案);
· 服务器场管理员设置资源配置额,一个网站集内的所有沙盒解决方案组合在一起不可以查过此配额。
2) 网站集管理员或拥有对网站集根目录的完全控制访问权的用户将一个解决方案上载到网站集的解决方案库中。
3) 网站集管理员激活解决方案。
当执行有关运行一个沙盒解决方案的请求时,将会发生以下活动:
1) 根据负载均衡,SharePoint Server决定在哪个服务器上运行解决方案;
2) SharePoint Server选择一个沙盒工作进程 来在其中运行解决方案,并将一个”填充码”动态链接库加载到该进程中,然后解决方案程序集加载到该进程中;
3) 在解决方案运行过程中,解决方案的代码在由SharePoint Server执行之前会先通过填充码;
4) SharePoint Server监控沙盒解决方案使用的资源。如沙盒解决方案超过硬性此案之,则SharePoint Server会终止沙盒工作进程。
5) 网站集管理员可以监控沙盒解决方案使用的资源,也可以停用网站集中的解决方案。
如有必要,服务器场管理员可以组织解决方案在场中运行,或可以移除在沙盒中运行解决方案的要求;如移除在沙盒中运行的要求,则当解决方案在服务器场中的任何网站集中运行时,它将不再在沙盒中运行。
隔离沙盒解决方案
可以按不同的程度隔离沙盒解决方案。每个附加的隔离级别可以增加您保护SharePoint Server网站的主要部分的能力,从而避开可以消耗太多资源的代码。
在第一个级别,沙盒代码在一个权限受限制的独立进程中运行,代码访问安全(CAS)限制代码可执行的操作。
通过使用负载均衡并且仅对特定服务器运行沙盒服务,可增加隔离。在生产环境中,推荐使用远程负载均衡,并专门使用一个单独服务器来运行沙盒解决方案。
沙盒解决方案不能包括的内容
SharePoint Server解决方案必须包含名为mainfest.xml的配置文件,也可以包含附加的配置文件和程序集。如结局方案将在沙盒中运行,则会将程序集和配置文件限制为它们可以包含的内容。
在沙盒中运行的程序集不能做的常见事件:
n 连接到不在本地服务器上的资源;
n 访问数据库
n 更改线程模型
n 调用非托管代码
n 写入到磁盘
n 访问不同网站集中的资源
Manifest.xml文件引用功能文件;
功能引用文件引用元素文件;
元素文件包含feature元素。
在沙盒解决方案中唯独允许的feature元素有:
n ContentType
n Field
n CustomAction
n Module
n ListInstance
n ListTemplate
n Receivers
n WebTemplate
n WorkflowAssociation
n PropertyBag
n WorkflowActions