本示例章节来自于 Microsoft SharePoint 产品与技术资源工具包。您可以从 以下地址获得包括了一张附带光盘的完整的资源工具包(ISBN 0-7356-1881-X):Microsoft 出版社.
Microsoft SharePoint 产品与技术的安全取决于并居于以下产品与技术的安全之上,例如 ASP.NET、 Internet 信息服务 (IIS)、SQL Server 2000 以及 Windows Server 2003。不用说,通讯安全和防火墙配置 也同样至关重要。 与任何 Web 应用程序一样,SharePoint 站点的安全只等同于其最薄弱的链接,安全涉及 整个 SharePoint 产品与技术部署过程中的所有组件。 因为 SharePoint 产品与技术涉及多种技术,您需要 了解这些技术中的安全性,以使 SharePoint 产品与技术部署的所有部件安全地协作。
采 用一个分层的安全方法至关重要,通常称为 深层防御。 使用深 层防御意味着在多种层面上解决安全问题,包括有组织的安全策略、Windows Server 2003 配置、IIS 配置、 ASP.NET 配置、SharePoint 产品与技术配置、通讯安全、防火墙配置等。
SharePoint 产 品与技术使用多种可降低安全受威胁的风险的技术。 这些技术包括:
• |
使用 Windows 主体的身份验证,从而可使用强身份 验证方式、密码策略、帐户锁定策略以及加密 |
• |
基于权限模式的授权,以确保高精度控制对站点内容的访问 |
• |
.NET Framework 中的代码访问安全,使您能够控制代码访问受保护的资源和操作 |
• |
使您能够在防火墙内部和外部保护通信的诸 如安全套接字层 (SSL)和 IPSec 的安全技术 |
• |
防火墙保护外部站点 |
本章将重点讲述 SharePoint 产品 与技术中的身份验证、授权、代码访问安全以及通讯安全。 调查结果表明早期身份验证和授权设计可消除大 部分漏洞。 取决于代码的出处和代码标识的其他方面,代码访问安全支持在不同程度上信任代码。 通讯安全 是保护您的部署的一个必备部分,以保护在用户与您的站点、与您部署中的服务器间传递的数据。 有关 SharePoint 产品与技术安全策略的讨论,请参阅第 24 章:“SharePoint 产品与技术的信息安全策略”。
本页内容
![]() |
身份验证 |
![]() |
授权 |
![]() |
代码访问安全 |
![]() |
通讯安全 |
![]() |
总结 |
身份验证
身份验证是明确 验证您的站点用户的过程。 身份验证确保用户为他们所声称的用户。 经过身份验证的客户端被称为 主体。
在 SharePoint 产品与技术中,身 份验证基于 Windows 安全帐户。
针对 SharePoint 站点,ASP.NET 被配置为使用 Windows 身份验证。 在 web.config 文件中,身份验证部分如下所示:
<system.web>???? <authentication mode="Windows” ></system.web>
依照 Windows 身份验证模式,ASP.NET 依靠 IIS 来执行客户端所需的身份验证。 IIS 依照 Windows 安全帐户验证提出请求的用户的身份。 IIS 在验证完客户端的身份后,会将用户标识传递给 ASP.NET.(见图 6-1)。
可使用多种 IIS 身份验 证方案进行 SharePoint 产品与技术的用户身份验证,如下所示:
“基本身份验证”。
• |
基本身份验证是几乎所有浏览器都支持的 HTTP 1.1 协议的一部分。 凭借 SharePoint 产品与技术,可以在外联网环境中使用基本身份验证。 以不加密的方 式传递凭据。 只应对 SSL 使用基本身份验证;否则,基本身份验证是不安全的。 |
“集成的 Windows 身份验证 ”。
• |
集成的 Windows 身份验证是一种安全的身份验证方式,最适合内联网 SharePoint 站点。 集成的 Windows 身份验证不通过代理服务器进行工作。 集成的 Windows 身份验证以 Kerberos 或 NTLM 的方式实施 。 Kerberos 要求客户端和服务器计算机上使用 Windows 2000 或更高版本的操作系统。 |
“客户端证书映射”。
• |
客 户端需要 X.509 证书。 这是一个可选的身份验证机制,可在客户端和服务器间启用了 SSL 时使用。 例如, 当安全策略要求双层身份验证时――需要客户端提供证书并要求用户提供身份验证凭据的系统,可以在外联网 上使用客户端证书映射。 有关配置的详细信息,请参阅第 27 章:“使用 SSL 和证书保护外联网”。 |
“匿名身 份验证”。
• |
匿名身份验证允许匿名访问站点。 用以匿名访问的默认用户身份为 IUSR_计算机名。 当 IIS 收到匿 名请求时,它将模拟 IUSR_计算机名帐户。. 在这种情况下,传递到 ASP.NET 的标识为 IUSR_计算机名。 |
SharePoint 产品与技术中的用户访问基于 Windows 安全原则,例如单独的用户帐户和安全组帐户(域\用户和域\安全组)。
不可以 使用分发列表来控制访问 Windows SharePoint Services 中的内容,因为分发列表不是 Windows 安全原则。
除了验证访问 SharePoint 站点的用户身份,SharePoint Portal Server 还提供了一 个单一登录 (SSO) 功能,允许您验证访问门户站点的用户身份,然后在需要时从 SSO 数据库中检索用户存储 的其他识别用户企业业务应用程序的凭据。 通过 Microsoft 单一登录服务 (SSOSrv) 执行 SSO 功能。 SSOSrv 可存储和映射诸如帐户名和密码等凭据,以便基于门户的应用程序能够从第三方应用程序和后端系统 中检索信息。 这可避免当基于门户的应用程序需要从其他业务应用程序和系统获得信息时,用户不得不再次 验证他们的身份。 有关在 SharePoint Portal Server 中启用和配置 SSO 方式的详细信息,请参阅第 26 章 :“SharePoint Portal Server 2003 中的单一登录”。
授权
授权定义了允许经过身份验证的用户访问的资源和操作。 在 Windows SharePoint Services 和 SharePoint Portal Server 中,通过一个基于角色的成员身份系统控制对站点的访 问,通过该系统每个用户直接或间接地与一个控制用户能够执行的特定操作的权限相联系。 该成员身份基于 网站用户组。 使用网站用户组是一种基于用户执行的任务的类别 为他们配置权限的方式。
网站用户组可指定用户在站点上拥有哪些权限。 这些权限决 定用户在站点上能够执行哪些特定操作。 虽然出于 SharePoint Portal Server 中的附加特性集的原因,使 用网站用户组的原理与 Windows SharePoint Services 和 SharePoint Portal Server 中的原理相同,但是 用户权利和相应的权限以及默认网站用户组还是有所不同。 因为这些差别,我们将分别探讨 Windows SharePoint Services 和 SharePoint Portal Server 中的授权。
Windows SharePoint Services 中的授权
本节将探讨访问 Windows SharePoint Services 的用户授权,以及设置权限相关的管理任务。 Windows SharePoint Services 使用网 站用户组来管理站点范围内的安全。 权限可指定用户能够执行的操作;在本质上,每个网站用户组就是一个 权限集合。
如果您想要所有用户都能够浏览您的站点,可以启用站点的匿名访问。 默认状态下禁用匿名访问。
启用了 匿名访问后,用户无需身份验证就可以浏览站点,但是他们不能在站点上执行任何管理任务。 管理页面要求 进行身份验证。
要想运行使用 Windows SharePoint Services 对象模型的自定义代 码,正象他们通过用户界面与站点或列表交互一样,用户必须拥有指派给他们的适当权限。
要想被授权在服务器计算机上执行影响所有站点和虚拟服务器设置的管理任务,用户必须是服务器计算 机上的本地管理组成员或 SharePoint 管理员组成员。
网站 用户组
Windows SharePoint Services 包含 21 种权限,在五个默认网站用户组 中使用。 这五个默认用户权限组为来宾、读者、参与者、Web 设计者以及管理员。 表 6-1 显示了每个网站 用户组中默认包含的用户权限。
不能更改指派给来宾和管理员网站用户组的权限。 然而,可以自定义读者、参与者以及 Web 设计者网站用户组中的权限,以便只包含想要的权限。
可以添加新的网站用户组来结合不同的权限集,编辑指派到网站用户组的权限或删除不用的网站 用户组。
不可以直接将用户指派到来宾网站用户组,而通过每个列表的权限被授予 访问列表或文档库权限的用户自动被添加到来宾网站用户组中。 不可以自定义或删除来宾网站用户组。
可以通过使用 HTML 管理页面或命令行管理工具 Stsadm.exe 来管理网站用户组和 权限。有关具体任务的详细描述,请参阅第 16 章:“Windows SharePoint Services 站点管理”。
也可以使用 Windows SharePoint Services 对象模型来执行代码中的管理任务。 如欲了解 详细信息,请参阅以下链接中的 SharePoint 产品与技术软件开发工具包 (SDK) http://msdn.microsoft.com/library/default.asp?url=/library/en -us/spptsdk/html/SPSDKWelcome.asp.
表 6-1. Windows SharePoint Services 默认的网站用户 组及其权限”
网站用户组名 | 默认状 态下含有的用户权限 | ||||||||||||||||
来宾 |
无 |
||||||||||||||||
读者 |
使用 自助站点创建 查看页面 查看项目 |
||||||||||||||||
参与者 |
读者网站用户组中包含的所有权限,加上:
|
||||||||||||||||
Web 设计者 |
参与者网站用户组中包含的所有权限,加上:
|
||||||||||||||||
管理员 |
Web 设计者网站用户组中包含的所有权限,加上
|
除了定义网站用户组外,还可以自己定义跨网站用户组。 跨网站用户组由用 户组成,并可以被指派到站点集合中的任何网站上的网站用户组中。 不存在默认定义的跨网站用户组。
根据网站定义网站用户组。 子站点可使用与父站点相同的权限(同时继承父网站 上的网站用户组和用户),或使用独特的权限。 当创建子站点时,可选择继承父网站的权限或为子站点创建 独特的权限。
可以在每个列表的基础上指定独有的权限。 与针对站点不同,可以 连同指定的权限直接将用户添加到列表中。在这种情况下,如果该站点是唯一的并且不继承父站点的权限,那 么用户被自动指派到当前站点上的来宾网站用户组。 如果当前站点继承权限,用户将被添加到最近的唯一原 型站点上的来宾网站用户组中。
通过网站用户组中的直接或间接的成员身份授予用 户站点或列表的权限。 可以将这些用户直接添加到网站用户组或属于网站用户组的跨网站用户组中,或者这 些用户可以属于被添加到网站用户组中的 Windows 域组。 此外,可以直接将单独的用户添加到与指定的权限 相关的列表中。 图 6-2 显示了授予用户站点或列表的权限所使用的方式。
大多数用 户权限依赖其他用户权限。 例如,在编辑项目前必须能够查看项目。 如果从网站用户组中删除某一权限,那 么依赖该权限的所有权限也将被删除。 有关用户权限相关性的详细信息,请参阅表 6-2.
在 Windows SharePoint Services 对象模型中,不像用户界面,权限之间不互相依赖。 要想运行使用 SharePoint 产品与技术对象模型中的类和成员的自定义的代码,必须指派给用户和组适当的权限,正象通过 使用用户界面与站点或列表交互时一样。. 然而,在这种情况下不存在相关性: 可以在不包含相关权限的情 况下单独指派权限,并可以以任意组合指派权限给用户和组。
表 6-2. Windows SharePoint Services 的权限相关性”
权利 | 权限 | 默认包含的组 | 所依赖的权限 |
添加和自定义页 面 |
创建网站的 ASP.NET、ASP 以及 HTML 页面 |
Web 设计者、管理员 |
浏览目录、查看页面 |
添加项目 |
添加项目到列表中或添加文档到文档库中 |
参与者、Web 设 计者、管理员 |
查 看项目、查看页面 |
添加/删除个人 Web 部件 |
添加和删除 Web 部件以个性化 Web 部件页 面 |
参与者、Web 设计者、管理员 |
更新个人 Web 部件、查看项目、查看页面 |
应用样式表 |
在整个网站中应用样式表 |
Web 设计者、管理员 |
查看页面 |
应用主题和边界 |
在整个网站中应用主题和边界 |
Web 设计者、管理员 |
查看页面 |
浏览目录 |
浏览网站的目录结构 |
参与者、Web 设计者、管理员 |
查看页面 |
取消签出 |
取消另一用户执行的签出操作 |
Web 设计者、管理员 |
查看页面 |
创建跨网站用户组 |
创建或删除跨网站用户组、或更改跨网站用 户组的成员身份 |
参与者、Web 设计者、管理员 |
查看页面 |
创建子站点 |
创建一个新的子站点或工作区站点,例如文 档工作区站点或会议工作区站点 |
读者、参与者、Web 设计者、管理员 |
查看页面 |
删除项目 |
从网站中删除列表项和文档 |
参与者、Web 设计者、管理 员 |
查看项目、查 看页面 |
编辑项目 |
编辑网站中的现有列表项和文档 |
参与者、Web 设计者、管理员 |
查看项目、查看页面 |
管理列表 |
创建、编辑或删除列表以及更改它们的设置 |
Web 设计者、管理员 |
查看项目、查看页面、管理个人视图 |
管理列表权限 |
更改列表或文档库的权限 |
管理员 |
管理列表、查看项目、查看页面、管理个人视图 |
管理个人视图 |
创建、编辑或删 除列表上的个人视图 |
参与者、Web 设计者、管理员 |
查看项目、查看页面 |
管理网站用户组 |
通过同时更改指派到网站用户组中的 权限和更改属于网站用户组的用户创建、删除以及编辑网站用户组 |
管理员 |
查看页面 |
管理 Web 站点 |
执行特殊站点或子站点的管理任 务 |
管理员 |
查看页面 |
更新个人 Web 部件 |
更新 Web 部件以显示个性化信息 |
参与者、Web 设计者、管理员 |
查看项目、查看页面 |
使用 自助站点创建 |
使 用自助站点创建顶级网站。 |
读者、参与者、Web 设计者、管理员 |
查看页面 |
查看项目 |
查看列表中的项目、文档库中的文档以及 Web 讨论注释 |
读 者、参与者、Web 设计者、管理员 |
查看页面 |
查看页面 |
浏览网站中的页面 |
读者、参与者、Web 设计者、管理员 |
无 |
查看使用数据 |
查看网站使用报告 |
管理员 |
查 看页面 |
站点创建权限
站点创建权限(使用自助站点创建和创建子站点)控制用户是否能够创建顶级网站、子站点或工作区 。
管理员网站用户组成员可以从他们的网站中创建子站点。 然而,自助站点创建 有所不同: 自助站点创建是由管理员启用的一种特性,允许用户创建他们自己的顶级网站。 用户无需服务器 或虚拟服务器上的管理员权限,而只需要托管自助站点创建的网站上的权限。 除了来宾网站用户组,所有网 站用户组中均默认包含自助站点创建权限,它使用户能够访问登录页面和使用自助站点创建。
只有站 点集合中的顶级网站才有自助站点创建权限。
自助站点创建允许用户自动创建和管 理他们自己的顶级网站。 默认状态下禁用自助站点创建――必须开启该特性才能使用。. 每次从想要启用的 虚拟服务器的配置自助站点创建页面,启用单独的虚拟服务器的自助站点创建。 如果想要在服务器场中的所 有虚拟服务器上都使用自助站点创建,必须单独地针对每台虚拟服务器启用自助站点创建。
可使用 HTML 管理页面或命令行工具 enablessc.exe 和 disablessc.exe 来开启和配置自助站点创建。 每种方式都 支持开启和关闭自助站点创建和指定创建站点时要求的信息类型。 如欲了解详细信息,请参阅第 15 章:“ 配置 Windows SharePoint Services”。
匿名访问
匿名访问允许用户匿名查看页面或匿名向列表和调查中投稿。 当您在 Windows SharePoint Services 中启用匿名访问时,正在启用的是 IIS 匿名帐户 IUSR_计算机名对您 站点的访问。
默认状态下禁用匿名访问,并在站点层面上控制匿名访问。 要想启 用匿名访问,您必须先验证 IIS 被配置为允许匿名访问,然后通过使用站点设置启用对您网站的匿名访问。 使用每个列表的权限来控制对特定列表的匿名访问。 如果您的站点禁用了匿名访问,它将无法面向站点中的 某一特定列表而启用。
您也可以授予“所有经过身份验证的用户”访问权限,以使 您域中的所有成员均能够无需启用匿名访问就可以访问网站。
如欲了解启用匿名访问的配置步骤的详细描述,请参阅第 16 章。
执行管理任务
指派到管理员网站用户组的用户只是 某一特定网站的管理员。 要想在服务器计算机上执行任何影响所有网站和虚拟服务器设置的管理任务,用户 必须是服务器计算机的管理员(也称为本地管理员)或 SharePoint 管理员组成员,而不是该站点的管理员网站用户组成员。
只有本地计 算机管理员或 SharePoint 管理员组成员才能够访问虚拟服务器管理页面。 这是使用位于文件夹<本地驱 动器>:\Program Files\Common Files\Microsoft Shared\web server extensions\60 \TEMPLATE\ADMIN\1033 中的中央管理页面的 web.config 文件中的 URL 授权配置的。 <authorization>元素的定义如下所示:
<authorization>??<allow roles="BUILTIN\Administrators” />??<allow users="Domain\SharePoint Administrators account name” />??<deny users="*” /></authorization>
SharePoint 管理员组是除了本地管理员组外,拥有 Windows SharePoint Services 的管理访问权限的 Windows 域组。 该本地管理员组成员可使用中央管理页面将 Windows 组的名称配置成为 SharePoint 管理员组。 在中央管理页面中指定的名称为 web.config 文件中的名称;当更改 SharePoint 管 理员组时,该名称将在 web.config 文件的<authorization>元素中被更改。
可以将用户添加到 SharePoint 管理员组中,而不是本地管理员组中,以区分 Windows SharePoint Services 的管理访问和本地服务器计算机的管理访问。 SharePoint 管理员组和本地管理员组的成员都能够 查看和管理在他们服务器上创建的所有站点。
SharePoint 管理员组成员不能够访问 IIS 配置数据库,因而他们不能执行 Windows SharePoint Services 的以下操作: 扩展虚拟服务器、管理路径、更改 SharePoint 管理员组、更改配置数据库设置以及使用 Stsadm.exe 命令行工具。 他们能够使用 HTML 管理页面或 Windows SharePoint Services 对象模型执行任 何其他管理操作。
SharePoint Portal Server 中的授权
本节将探讨 SharePoint Portal Server 站点、向后兼容的文档库以及调查结果的用户授权访问。
类似 Windows SharePoint Services,SharePoint Portal Server 使用网站用户组管理站点范围内的安全性。 每个用户都 是至少一个网站用户组的成员,并且通过网站用户组成员身份系统控制对门户站点的访问。 在创建了门户站 点后,可通过将用户指派到网站用户组来授予用户该门户站点的访问权限。 没有被指派到网站用户组的用户 将不能访问该门户站点。
除了提供基于网站用户组成员身份的授权外,SharePoint Portal Server 还针对向后兼容的文档库提供了基于角色的安全。
网站用户组
SharePoint Portal Server 使用六个默认网站用户组对具有 特定可自定义权限集的用户进行分组。 也可以针对某一特定区域或列表创建一个自定义的网站用户组,并为 其指派一个特定权限集。 可以编辑指派到网站用户组的权限,创建新网站用户组或删除不用的网站用户组。
这六个默认的 SharePoint Server 组如下所示:
• |
允许用户搜索、查看以及浏览站点内容 的读者网站用户组。 |
• |
允 许用户提交列表和创建个人站点的成员网站用户组。 |
• |
允许用户提交内容到他们被授予权限的站点中区域的参与者网站用户组。 |
• |
允许用户更改他们被授 予权限的 Web 页面上的布局和设置的 Web 设计者网站用户组。 |
• |
允许用户完全控制网站的管理员网站用户组。 |
• |
允许用户管理他们被授予权限的区域中的所有 设置和内容的内容管理者网站用户组。 |
可以使用网站用户组来控制对门户站点的常规访问以及控制对门户站点中的特定区域的访问。
虽然 SharePoint Portal Server 和 Windows SharePoint Services 中的网站用户组有许多 类似之处,但是还存在许多差别:
• |
SharePoint Portal Server 中有两种默认网站用户组是 Windows SharePoint Services 中所没有的: 成员和内容管理者网站用户组。 这两种网站用户组都允许用户访问只在 SharePoint Portal Server 中定义的特性: 成员网站用户组允许创建个人站点,内容管理者网站用户组允许使用用户定义的标准 管理用以对内容进行分组的区域。 |
• |
SharePoint Portal Server 中不存在默认的来宾网站用户组。 这是因为当指派每个列表的权限时, Windows SharePoint Services 自动使用来宾组。 |
• |
SharePoint Portal Server 与 Windows SharePoint Services 间的用户 权利和相应权限不同。 这是因为这两种产品的功能和特性集不同。 有些权限相同――例如,查看页面。 然 而,涉及管理区域、警报、用户配置文件、访问群体以及搜索等权限明显不同,因为只有 SharePoint Portal Server 才有这些功能。 |
表 6-3 中 列出了 SharePoint Portal Server 的用户权利和相应权限。
表 6-3. SharePoint Portal Server 用户权利 和相应权限
权利 | 权限 |
添加和自定义页面 |
使用兼容 Windows SharePoint Services 的编辑器添加 、更改或删除 HTML 页面或 Web 部件页面以及编辑门户站点 |
添加项目 |
添加项目到列表 中、添加文档到 SharePoint 文档库中,添加 Web 讨论注释 |
添加/删除个 人 Web 部件 |
添加 或删除个性化 Web 部件页面上的 Web 部件 |
应用样式表 |
在某个区域或门户站点中应用样式表 (.CSS 文件) |
浏览目录 |
浏览区域中的目录 |
取消签出 |
不保存当前更改 签入文档 |
创建区域 |
在门户站点上创建区域 |
创建个人站点 |
创建个人 SharePoint 站点 |
创建站点 |
使用自助站点创建创建 SharePoint 站点 |
删除项目 |
从列表中删除项目、从文档库中删除文档以及从文档中删除 Web 讨论注释 |
编辑项目 |
编辑列表中的项目、编辑 SharePoint 文档库中的文档以及自定义 SharePoint 文档库中的 Web 部件 页面 |
管理警报 |
更改门户站点的警报设置和管理用户警报 |
管理区域 |
删除或编辑门户站点上区域的属性 |
管理区域权限 |
添加、删除或更改某个区域的用户权限 |
管理访问群体 |
添加、更改或删除访问群体 |
管理个人 视图 |
创建、更改 以及删除个人列表视图 |
管理门户站点 |
指定门户站点属性和管理站点设置 |
管理搜索 |
添加、更改或删除门户站点中的索引和搜索设置 |
管理用户配 置文件 |
添加、更 改或删除用户配置文件信息和属性 |
搜索 |
搜索门户站点和所有相关内容 |
更新个人的 Web 部件 |
更新 Web 部件以显示个性化信息 |
使用个人特性 |
使用警报和个人 站点 |
查看区域 |
查看区域及其内容 |
查看页面 |
查看某个区域中的页面 |
与 Windows SharePoint Services 一样,通过网站用户组中直接或间接的成 员身份授予用户门户站点的访问权限。 然而,指派权限的区别在于 SharePoint Portal Server 不支持跨网 站用户组,只有 Windows SharePoint Services 支持跨网站用户组。 在 SharePoint Portal Server 中,可 以直接将用户添加到网站用户组中或者他们可以是被添加到网站用户组中的 Windows 域组成员。 图 6-3 显 示了授予用户门户站点的访问权限所使用的方式。
可通过将 用户指派到某一特定区域的网站用户组调整对门户站点区域的访问。 可通过添加、编辑或删除用户或网站用 户组自定义门户中每个区域的安全性。
默认自动将父区域上的安全设置应用到其所 有子区域中。 添加用户或组到具体区域中将打破安全设置的继承性: 如果自定义子区域上的安全性,子区域 将不再继承对父区域做出的更改。
站点 创建权限
站点创建权限(创建站点和创建个人站点)控制用户是否可以创建门户 站点和个人站点。
创建站点权限允许用户使用自助站点创建来创建门户站点。 与 Windows SharePoint Services 一样,SharePoint Portal Server 默认禁用自助站点创建――必须开启该特 性才能使用。 默认状态下,使用默认内容数据库创建新站点;可配置不同的内容数据库。 如欲了解详细信息 ,请参阅第 18 章:“管理 SharePoint Portal Server 2003”。
创建个人站点权 限允许用户通过单击门户主页标题栏上的“我的网站”来创建个人站点。 站点管理员通过使用管理个人站点 页面控制门户上个人站点的站点命名格式。
匿名访问
匿名访问允许用户匿名查看您门户网站上的页面,或进行匿名搜 索。 当您在 SharePoint Portal Server 中启用匿名访问时,您正在为 IIS 匿名帐户 IUSR_计算机名启用对 您站点的访问。
默认状态下禁用匿名访问,同时在门户站点层面上对其进行控制。 要想启用匿名访问,您必须先验证 IIS 被配置为允许匿名访问,然后通过使用 SharePoint Portal Server 中央管理页面启用对您门户站点的匿名访问。
如果想保留验证用户身份以及提供匿 名访问的能力,可创建一个新的虚拟服务器,扩展该虚拟服务器,然后通过使用 SharePoint Portal Server 中央管理启用对该虚拟服务器的匿名访问。 在这种情况下,访问源门户站点的用户将需要进行身份验证,而 访问新虚拟服务器的用户将拥有匿名访问权限。
要想创 建和扩展虚拟服务器,您必须是本地管理员组成员。 要想启用匿名访问或管理匿名访问设置,您必须是门户 站点上的管理员、SharePoint 管理员组成员或本地管理员组成员。
在您的门户站 点启用了匿名访问后,可允许匿名用户访问并在您门户站点上查看页面以及进行搜索。 如果您的站点禁用了 匿名访问,将不能启用查看区域或进行搜索。
有关设 置门户站点匿名访问配置步骤的详细指导,请参阅第 18 章:“管理 SharePoint Portal Server 2003”。
执行管理任务
SharePoint Portal Server 是基于 Windows SharePoint Services 而构建的,因此就执行管理任务而 言,权限在本质上保持一致并不奇怪:
• |
要想在服务器计算机上执行任何影响所有门户站点和虚拟服务器设置的管 理任务,用户必须是服务器计算机的管理员或 SharePoint 管理员组成员。 |
• |
指派到管理员网站用户组中的用户只是某一特 定门户站点的管理员。 |
向后兼容文档库的安全
经常需要限制对向后兼容文 档库(基于 Web 存储系统)中信息的访问。 在有些情况下,需要限制编辑或批准某个文档的用户查看该文档 ,直到其可供更大的访问群体进行查看。
在向后兼容文档库中,SharePoint Portal Server 扮演着添加操作的角色,例如签入、签出、发布以及批准诸如读取、写入和更改等传统文件访 问权限。 存在三种固定的角色;每种角色都验证一个具体的权限集,如下所示:
• |
处理管理任务的协调者。 |
• |
添加和更新文件的作者。 |
• |
拥有对已发布文档的只读访问权限的读 者。 |
这三种角色的访问权限是固定 的并且不能更改。 SharePoint Portal Server 还提供了拒绝用户访问特定文档的选项。 虽然可在管理任务 的文档库层面上添加协调者,但是通常在文件夹层面上指定角色。
搜索结果
SharePoint Portal Server 在搜索时可 识别您组织的服务器、共享文件以及数据库中使用的安全策略。 该授权非常重要,因为它避免用户在门户站 点中进行搜索时发现他们不能访问的文档。 有关搜索体系结构、功能以及配置的详细讨论,请参阅第 21 章 :“收集程序的体系结构”与第 22 章:“在 Microsoft Office SharePoint Portal Server 2003 中管理外 部内容”。
代码访问安全
SharePoint 产品与技术服务使用代码访问安全来控制对受保护资源的访 问。 代码访问安全是一种让您将符合预配置权限集的可配置信任级,指派到 SharePoint 产品与技术应用程 序的安全机制。 取决于代码的出处和代码标识的其他方面,代码访问安全允许在不同程度上信任代码。 代码 访问安全提供以下功能:
• |
定义代表不同系统访问权的权限和权限集 |
• |
使管理员能够通过联合权限集和代码组(代码组)配置安全策略 |
• |
使代码能够请求其需要运行的权限和有用的权限,并指定代码绝对不能拥有的 权限 |
• |
基于代码请求的权限和安全策略 允许的操作,授予加载的每个程序集的访问权限 |
• |
使代码能够要求其调用程序拥有特定的权限 |
• |
使代码能够要求其调用程序拥有数字签名,从而只允许来自特定组织或站点的调用程序调用受保 护的代码 |
• |
通过比较调用堆栈上每个调 用程序的授予权限和调用程序必须拥有的权限,在运行时限制代码 |
为了确定代码是否被授权访问某个资源或执行某种操作,运行时安全系统将查看调用堆 栈,比较每个调用程序的授予权限和被要求的权限。 如果调用堆栈中的任何调用程序没有所要求的权限,将 出现安全例外并拒绝访问。
为了使管理员能够改变指派给应用程序的信任级别,除了 ASP.NET 默认安全策略文件,Windows SharePoint Services 还提供了两个它自己的策略文件: Windows SharePoint Services Minimal (WSS_Minimal) 和 Windows SharePoint Services Medium (WSS_Medium). 当 虚拟服务器被扩展到托管 Windows SharePoint Services 时,将默认在其中应用 WSS_Minimal 策略。
SharePoint 产品与技术代码访问安全策略
WSS_Minimal 和 WSS_Medium 策略文件在默认状态下位于文件夹<本地驱动器>:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\config\中。 这两个文件分别被命名为 wss_minimaltrust.config 和 wss_mediumtrust.config,。 表 6-4 中列出了 WSS_Minimal 和 WSS_Medium 策略文件的权限
表 6-4. WSS_Minimal 和 WSS_Medium 策略中定义的权限
权限 | WSS_Medium | WSS_Minimal |
AspNetHostingPermission |
中 |
最低 |
环境 |
读取 : TEMP、TMP、OS、用户名、计算机名 |
|
FileIO |
读取、写入、添加、发现路径:应用程序目录 |
|
IsolatedStorage |
AssemblyIsolationByUser、指定的用户配额 |
|
安全 |
执行、声明 、控制原则、控制线程、远程配置 |
执行 |
Web 权限 |
连接到原始主机(如果已配置) |
|
DNS |
无限制或授予全部附属权限 |
|
SqlClientPermission |
无限制或授予全部附属权限 |
|
SharePointPermission |
SharePointPermission.ObjectModel |
|
WebPartPermission |
WebPartPermission.Connections |
WebPartPermission.Connections |
WSS_Minimal 和 WSS_Medium 策略都可扩展 ASP.NET 默认策略文件。 这些策略完全信任全局程序集缓 存 (GAC) 和 $CodeGen 中的程序集,但是它们只部分信任安装在虚拟服务器的 /bin 目录中的程序集。
除了 ASP.NET 定义的默认权限集和通用语言运行时以外,SharePoint 产品与技术还 定义了两个自定义的权限(SharePointPermission 和 WebPartPermission),作为位于 Microsoft.SharePoint.Security.dll 中的 Microsoft.SharePoint.Security 命名空间的一部分。所有试图 访问 SharePoint 产品与技术类库的代码均需要带有属性设置正确的 ObjectModel 的 SharePointPermission 。 如欲获得 SharePointPermission 和 WebPartPermission 属性的完整列表,请参阅位于以下地址的 “Microsoft Windows SharePoint Services 和代码访问安全”白皮书 http://msdn.microsoft.com/library/de fault.asp?url=/library/en- us/odc_sp2003_ta/html/sharepoint_wsscodeaccesssecurity.asp.
基于使用 SharePoint 产品与技术扩展的虚拟服务器的 / bin 目录中安装的程序集相关的要求和信任,管理员可选择更 改这些程序集的相关权限。 简单的方法是通过更改特定虚拟服务器的 web.config 文件中的信任级别属性, 更改虚拟服务器中应用的策略。 按权限次序列出的默认信任级别如下所示:
• |
完全 |
• |
高(这是一个 ASP.NET 默认级别,因此将不授予 SharePointPermission 和 WebPartPermission)。 |
• |
WSS_Medium |
• |
中(这是一个 ASP.NET 默认级别,因此将不授予 SharePointPermission 和 WebPartPermission)。 |
• |
低(这是一个 ASP.NET 默认级别,因此 将不授予 SharePointPermission 和 WebPartPermission)。 |
• |
WSS_Minimal |
• |
最低(这是一个 ASP.NET 默认级别,因此将不授予 SharePointPermission 和 WebPartPermission)。 |
如果您的代码试 图执行某种操作或访问受通用语言运行时保护的资源,默认的权限可能不够,您的代码可能需要一种或更多种 默认 ASP.NET 权限。
如果您 想要使用 Microsoft.SharePoint.Portal.SingleSignOn 命名空间中的类和成员,您的代码将需要额外权限( SingleSignonPermission.Access)。请参阅第 26 章了解详细指导。
有几种方式可 以确保您的代码拥有访问 SharePoint 产品与技术类库所需的权限,如下所示:
• |
创建一个自定义的安全策略和指派带有属性 设置正确的 ObjectModel 的 SharePointPermission 到特定程序集或一组程序集。 请参阅第 39 章:“使用 带有 SharePoint 产品与技术的 Microsoft Office InfoPath”了解详细指导。 |
||||||||||
• |
将程序集安装到全局程序集缓存中,因为其中的代 码总是被完全信任。 虽然在 GAC 中安装 Web 部件程序集是个可行的选择,但是为了更加安全地进行部署, 建议将 Web 部件程序集安装到 /bin 目录中。 如欲获得将程序集安装到 GAC 中的利弊的完整列表,请参阅 http://msdn.microsoft.com/library/de fault.asp?url=/library/en- us/odc_sp2003_ta/html/sharepoint_wsscodeaccesssecurity.asp. |
||||||||||
• |
通过更改 web.config 文件中的的信任级别属性,提高使用 SharePoint 产品与技术扩展的虚拟服务器的信任级别。 例如,要想将虚拟服务器的策略级从 WSS_Minimal 更改为 WSS_Medium,请执行以下步骤:
|
通讯安全
保护 SharePoint 产品与技术部署组件间的通讯是 深层安全体系结构的一个重要环节。 在 SharePoint 产品与技术部署中,一定要对防火墙的内部和外部都应 用安全通讯技术。 安全的通讯可提供保密和完整的数据。
保密性确保数据保持私有和 机密,并且配备网络监视软件的偷听者无法查看数据。 通常通过加密的方式提供保密性。
完整性确保数据传输时不会被意外或故意(恶意的)更改。 安全的通讯渠道一定能提供完整的数据。 通常通过使用消息身份验证代码 (MAC) 来提供完整性。
要想提供安全的通讯,可使用 以下技术:
安全套接字层/传输层安全(SSL/TLS) 。
• |
安全套接字层 (SSL) 是一种基于公钥的安全协议,由一组提供身份验证、机密性以及数据完整性的加密技术 组成。 一般最常用于保护浏览器和 Web 服务器间的信道。 然而,安全套接字层 (SSL) 也可用于保护与运行 Microsoft SQL Server 2000 的数据库服务器间的通信。 |
Internet 协议安全 (IPSec)。
• |
IPSec 提供了一种传输层安全通讯解 决方案,可用于保护两台计算机间发送的数据。 IPSec 是一种传输层机制,可通过其确保计算机间基于 TCP/IP 通信的机密性和完整性。 IPSec 完全对应用程序透明,因为在传输层执行加密、完整性以及身份验证 服务。 |
本节将观察 SharePoint 产品与技术的通 讯安全,包括以下主题:
• |
与 Microsoft SQL Server 的通讯 |
• |
SharePoint Portal Server 服务器场部署中的索引和搜索服务器间通讯 |
• |
使用防火墙保护 SharePoint 站点 |
• |
面向外部网络站点使用 SSL |
与 Microsoft SQL Server 的通讯
在 SharePoint 产品与技术部署中,前端 Web 服务器和运行 SQL Server 的计算机间的连接没有加密。 建议使 用安全套接字层 (SSL) 或者使用 IPSec 来加密服务器间的通信。
如果决定使用 SSL 来保护与 SQL Server 2000 的通讯,需要执行以下步骤:
1. |
在运行 SQL Server 的计算机上,申请并安装服务器证书。 |
2. |
连接的客户端必须信任颁发证书的证书颁发机 构 (CA)。 要想做到这一点,在诸如前端 Web 服务器等客户端计算机上,安装相应证书颁发机构(CA)的证 书。 |
3. |
在运行 SQL Server 的计 算机上,使用服务器网络实用程序 (Server Network Utility) 来配置强制所有客户端都使用 SSL 或允许客 户端选择是否使用 SSL。
|
如果决定使用 Ipsec 来保护与 SQL Server 2000 的通讯,需 要执行以下步骤:
1. |
在 数据库服务器计算机上创建 IP 安全策略。 |
2. |
导出已创建的 IPSec 策略,并将其复制到前端服务器计算机上。 |
3. |
在数据库服务器和远程服务器计算机上都指派 IPSec 策略。 必 须在 IPSec 策略变得有效前对其进行指派。
|
索引和搜索服务器间的通讯
在运行 SharePoint Portal Server 的服务器场中,当从索引管理服务器将索引传播到搜索服务器时, 该传输没有加密,因此可能不安全。 建议使用 IPSec 来保护索引和搜索服务器间的通讯。
要想使用 IPsec 保护索引的传播,请执行以下步骤:
1. |
在索引管理服务器计算机上创建一个 IP 安全策略。 |
2. |
将 IPSec 策略导出到每台搜索服务器计算机中。 |
3. |
在索引服务器和搜索服务器计 算机上,指派 IPSec 策略以将其激活。 |
使用防火墙保护 SharePoint 站点
当 SharePoint 站点在整个外部网络提供服务或公众可以从 Internet 访问 SharePoint 站点时,一定要确保 通过防火墙从外部访问站点。 防火墙检查传入和传出的通信,然后基于预配置的策略允许或禁止通信。
简单的说就是防火墙筛选数据包: 当通信到达防火墙时,防火墙将比较 IP 标头和 预配置的规则,以决定允许或拒绝访问。 然而,要想避免 SharePoint Portal Server 部署受到外部攻击, 一定也要检查和验证 HTTP 标头内部的有效负载。 Microsoft Internet Security and Acceleration (ISA) Server 2000 防火墙是一种应用层防火墙,除了筛选数据包还能够检查诸如 HTTP 等应用层协议中含有的内容 。 请参阅第 25 章:“SharePoint Portal Server 部署的防火墙注意事项”,了解有关配置 ISA server 使 外部用户能够不损害内部网络安全而使用 SharePoint 站点的详细信息。
面向外联网部署使用 SSL
在 Web 环境中,通常在 Web 浏览器和前端 Web 服务器间使用 SSL 创建安全通讯渠道。 在 SharePoint 产品与技术部署中,SSL 提供了 一种安全建立加密的通讯链接的方式,连接从防火墙外部连接 SharePoint 站点的用户。
有关 SSL 和如何在您的环境中启用 SSL 的指导的详细讨论,请参阅第 27 章:“使用 SSL 和证书保 护外联网”。
总结
本章讨论了 SharePoint 产品与技术用以为用户提供安全访问和降低安全威胁的安全机制。 用户身份 验证基于诸如 IIS 和 ASP.NET 等技术并使用 Windows 安全原则,而访问授权基于网站用户组成员身份(直 接或间接地使每个用户联系控制用户能够执行的具体操作的权限)。 代码访问安全使您能够配置对 SharePoint 产品与技术应用程序代码的精确访问。 通讯安全对于确保在防火墙内部和外部都安全地传输数据 至关重要。 因为 SharePoint 产品与技术的安全居于许多重要技术的安全之上,一定要使用深层防御方法, 解决整个 SharePoint 产品与技术部署过程中所有组件的安全问题。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=651240