Sharepoint学习笔记—习题系列--70-576习题解析 -(Q66-Q68)
Question 66
You are designing an application that will use a timer job that will run each night to send documents to a SharePoint 2010 Records Center site for archiving. The security on the site requires higher privileges than those normally associated with the application. The security requirements for this application specify that:
.It must not require customized storage of the user credentials.
.The user token used for security access must expire within 24 hours unless specifically refreshed to prevent extended or unintended use over time.
.The security mechanism must require a two-way trust to prevent unauthorized activity between domains.
.The application must use the SharePoint object model to accomplish this.
You need to design the application to support these security requirements. How should you design the timer job?
A. To inherit the security role assignments
B. To log on to the Records Center site with a service account stored in a database
C. To run with elevated privileges
D. To run with impersonation
解析:
你要设计一个Sharepoint2010应用程序,此程序使用一个每晚执行的Timer Job来进行文件存档到记录中心的任务,由于对此网站的安全要求要比其它与此应用程序相关联的网站高,其在安全方面的要求如下:
要求1. 不允许使用定制的保存用户凭证的存储方式
要求2. 用于特定安全访问的用户凭证最多只保存24小时,除非通过专门刷新以防止有意超时使用或延长时限。
要求3. 安全机制必须要建立域之间的双向信任以防止非授权的跨域的访问活动。
要求4. 应用程序必须使用Sharepoint的对象模型来完成上述操作。
你该如何设计你的Timer Job来满足上述条件呢?
选项A. 此描述不太明确,因为Sharepoint中继承的应该是角色定义(Role Definition)而非角色分配(Role assignments)。角色定义是与特定对象绑定的权限集合。角色定义(例如,“完全控制”、“读取”、“参与讨论”、“设计”或“受限访问”)界定于网站范围内,并且在网站内的各个位置具有相同的含义,但其在同一网站集内各网站之间的含义可能有所不同。角色定义也可以从父网站继承,就像可以继承权限一样。角色分配是角色定义、用户和组以及范围之间的关系(例如,某用户可能是列表 1 的读者,而另一个用户是列表 2 的读者)。通过角色分配表示的关系是使 Microsoft SharePoint Foundation 安全管理基于角色的关键。所有权限都通过角色来管理;您始终不能向用户直接分配权限,而只分配定义完善、一致且有意义的权限集合(角色定义)。通过角色分配向角色定义中添加或从中移除用户和组,以此来管理独有权限。
如果按比较正确的理解,即本选项是想通过继承特定的角色定义,它也仅是涉及Sharepoint内的角色管理问题,与本题想要做的事并无直接关联。
选项B. 服务帐户保存在了数据库中,这显然是没有”时限”的,因此不满足要求1与要求2,应该直接排除。
选项C. 通过特权提升去访问受控资源,特权提升是 Windows SharePoint Services 3.0 中增加的一项功能,使您能够使用更高的特权级别在代码中以编程方式执行操作。利用 SPSecurity.RunWithElevatedPrivileges 方法,您可以向在帐户上下文中运行一部分代码的委托提供高于当前用户的特权。但此方法的问题是:尽管特权提升提供了一种用于管理安全性的有效方法,但是应谨慎使用。不应对具有低特权的用户公开直接、不受控制的机制,以避开为他们授予的权限。
由于是使用特权去访问,所以根据本题题干描述: 由于对此网站的安全要求要比其它与此应用程序相关联的网站高。所以这种随意突破安全限制,使用最高权限去访问资源的方式是很危险的。而且,这种方式也没有涉及到其它诸如24小时凭证保存,建立域之间的双向信任等问题。所以应该被排除。
选项D.通过模拟, 模拟是 Windows SharePoint Services 3.0 中的一项新功能,它使您能够代表另一名用户执行操作。有些情况下,模拟功能非常有用,例如,执行计时器操作,这些操作需要在用户已停止使用网站(即,他们的工作流已完成)很长一段时间后,代表该用户异步更新某些内容。【很显然,此处的描述正是本题的场景】。
当您使用 Microsoft.SharePoint 命名空间以编程方式创建 SharePoint 网站时,可以提供用户标记以便在特定用户上下文中创建对象。通过提供从 Microsoft.SharePoint.SPUser 对象获取的用户的用户标记,您可以模拟该用户。【满足要求4】
请注意,用户标记通常会在大约 24 小时后过期。如果您打算执行长时间延迟的操作,则可能需要将用户 ID 保存到数据库中并在稍后检索它。但是,这可能会降低性能,因为会增加从数据库中检索信息的开销。如果您希望该操作“稍微不同步”(例如,如果该操作 5 分钟后运行),则不必这么做。【满足要求1与要求2】
由于它需要双向信任关系,因此还请注意,如果与 SharePoint 数据库交互的 Web 前端服务器位于其他两个网络之间的服务器上,则模拟功能不可用。在这种情况下,该 Web 前端服务器只具有单向信任关系。此外,不会筛选组安全 ID (SIDS),这可能会导致 SID 筛选策略在域之间产生冲突。【满足要求3】
因此本题答案应该选 D
参考
http://msdn.microsoft.com/zh-cn/library/ms414400(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/ms414036(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/aa543467(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/aa543158(v=office.14).aspx
Question 67
You are designing an authentication plan for a SharePoint 2010 intranet site for a large enterprise. The site administrator and the Active Directory (AD) administrator are concerned that the traffic on the SharePoint site might cause performance issues related to site authentication. Average user page sessions typically last longer than 15 minutes. You must design an authentication plan that provides the best possible performance and meets the following requirements:
.The plan must be able to accommodate 50,000 users.
.The existing infrastructure must be used as much as possible but the performance problem with user access must be prevented. Which approach should you recommend?
A. Design a SharePoint 2010 site that requires Windows Kerberos authentication to log on.
B. Design a SharePoint 2010 site that requires Windows NTLM authentication to log on.
C. Design a site that requires basic authentication to log on.
D. Design a site that requires forms-based authentication to log on.
解析:
你为一家大公司设计一个Sharepoint内部网站的安全认证方案,网站管理员与域管理员比较关注你所采取的认证方式将对内部网络的工作效率带来的冲击。平均而言,每个用户页面的Session可以保存超过15分钟的时间。你所制定的方案必须保存网络的工作效率并且满足如下要求:
要求1. 方案必须能够容纳50000个用户的访问
要求2. 必须尽可能的基于现有的架构来防止由于用户访问网站而造成的网络执行效率问题。
首先,根据题干要求必须建立一个Sharepoint2010内部网站,由于选项C.D未指明是建立一个Sharepoint2010站点,所以排除。选项A.B中,由于NTLM方式的最大弱点之一就是由于用户数量的增加会对网络造成冲击,而Kerberos身份认证提供优于NTLM身份认证的改进的性能。虽然Kerberos是一个涉及到Client、Server、KDC三方的认证过程,但是一旦Client获得用过访问某个Server的Ticket(票证),该Server就能根据这个Ticket实现对Client的验证,而无须KDC的再次参与。和传统的基于Windows NT 4.0的每个完全依赖信赖第三方的NTLM比较,具有较大的性能提升。因为在NTLM身份认证方式中,应用服务器必须连接到域控制器才能对客户端进行身份认证。也就是说,在Kerberos身份认证中,一些应用,服务器是不需要与域控制器连接的。取而代之的是,服务器是通过检验客户端提供的凭证来进行身份认证的。客户端一旦从特定服务器上获得了信任,则以后可以通过网络登录再次使用这个凭证,用可恢复的服务票证取代了身份认证通行证。
所以通过使用Kerberos协议,通信双方都可以对对方进行身份认证。尽管NTLM可以让服务器校验客户端身份,但它不能让客户端校验服务器的身份,也不能使一台服务器校验另一台服务器的身份。NTLM身份认证是设计用于服务器可信的网络环境中的,而Kerberos协议没有这种假设。
因此本题答案应该选 A
参考
http://msdn.microsoft.com/en-us/library/windows/desktop/aa378747(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/gg475929(v=vs.100).aspx
http://blogs.msdn.com/b/apgcdsd/archive/2011/09/27/kerberos-ntlm-sql-server.aspx
Question 68
You are designing a knowledge base (KB) solution for a SharePoint 2010 Internet site for vendors and employees in your organization. The employees have Active Directory (AD) accounts. You have the following requirements:
.You must incorporate the existing Windows authentication system based on AD.
.Vendors who have no Windows credentials must have access to the KB.
.Content editors must be able to use their Windows credentials to log on to the site and publish the content.
You need to ensure that vendors and content editors can access the site. Which approach should you recommend?
A. Use Windows based authentication for employees and vendors to access the KB.
B. Use Windows based authentication for employees and forms-based authentication for vendors to access the KB.
C. Create a custom SharePoint group that includes employees and vendors. Give this group permission to access the KB.
D. Use SharePoint user profiles to allow vendors and employees to access the KB.
解析:
你为公司基于Sharepoint网站设计一个知识库解决方案, 主要用户是公司雇员与业务伙伴。其中,公司雇员在公司有AD帐号,而业务伙伴则没有。你需要满足如下要求:
要求1. 解决方案必须与公司现有的基于AD的Windows认证方式结合。
要求2. 业务伙伴要有权访问到知识库
要求3. 知识库内容的编辑人员可以使用他们的Windows凭证登录到网站并发布相关内容。
你应该如何考虑你的解决方案呢?
首先,由于业务伙伴没有公司的AD帐号,所以他们不可能像公司雇员那样通过Windows based authentication来访问网站,所以选项A被排除。
其次,选项C.D解决的是授权问题,不是身份验证问题,不管是Sharepoint Group中的成员还是建立Sharepoint User Profile(Sharepoint支持对Domain之外的用户建立User Profile),你都需要事先对特定用户对象的身份进行验证,为合法用户后才是对授权资源的访问问题。
选项B,对域内用户采取Windows based authentication,而对非域内用户的业务伙伴则采用表单验证,符合本题情况。
因此本题答案应该选 B
参考
http://technet.microsoft.com/en-us/library/cc262350.aspx
http://technet.microsoft.com/zh-cn/library/ee721052.aspx
http://sharepoint.stackexchange.com/questions/54113/create-user-profile-for-external-users-in-sharepoint-2010