在 Lync Server 2013 中规划基于角色的访问控制

 

上次修改的主题: 2015-01-27

为了在维护高安全标准的同时委托管理任务,Lync Server 2013 提供基于角色的访问控制 (RBAC) 。 使用 RBAC,通过将用户分配到管理角色来授予管理权限。 Lync Server 2013 包含一组丰富的内置管理角色,还允许你创建新角色并为每个新角色指定 cmdlet 的自定义列表。 您还可以将 cmdlet 的脚本添加到所允许的预定义和自定义 RBAC 角色任务中。

提高服务器安全性和集中化

使用 RBAC,访问和授权完全基于用户的 Lync Server 角色。 这允许使用“最低特权”的安全做法,仅授予管理员和用户其作业所需的权限。

重要

RBAC 限制仅适用于使用 Lync Server 控制面板或 Lync Server Management Shell 远程工作的管理员。 RBAC 不会限制坐在运行 Lync Server 的服务器上的用户。 因此,Lync Server 的物理安全性对于保留 RBAC 限制非常重要。

角色和范围

在 RBAC 中,已启用 角色 以使用 cmdlet 列表,这些 cmdlet 旨在适用于特定类型的管理员或技术人员。 范围是角色中定义的 cmdlet 可以操作的对象集。 作用域影响的对象可以是组织单位) (分组的用户帐户,也可以是按站点) 分组 (服务器。

下表列出了 Lync Server 中的预定义角色,并概述了每个角色可以执行的任务类型。 第四列显示每个 Lync Server 角色的类似Microsoft Exchange Server角色(如果有)。

预定义的管理角色

角色 允许的任务 基础 Active Directory 组 Exchange 等效项

CsAdministrator

可以执行所有管理任务并修改所有设置,包括创建角色和将用户分配给角色。 可以通过添加新站点、池和服务来扩展部署。

CSAdministrator

组织管理

CsUserAdministrator

可以为 Lync Server 启用和禁用用户、移动用户并向用户分配现有策略。 无法修改策略。

CSUserAdministrator

邮件收件人

CsVoiceAdministrator

可以创建、配置和管理与语音相关的设置和策略。

CSVoiceAdministrator

不适用

CsServerAdministrator

可以管理、监视和排查服务器和服务问题。 可以阻止与服务器的新连接、停止和启动服务以及应用软件更新。 无法进行具有全局配置影响的更改。

CSServerAdministrator

服务器管理

CsViewOnlyAdministrator

可以查看部署,包括用户和服务器信息,以便监视部署运行状况。

CSViewOnlyAdministrator

View-Only组织管理

CsHelpDesk

可以查看部署,包括用户的属性和策略。 可以运行特定的故障排除任务。 无法更改用户属性或策略、服务器配置或服务。

CSHelpDesk

服务台

CsArchivingAdministrator

可以修改存档配置和策略。

CSArchivingAdministrator

保留管理、法定保留

CsResponseGroupAdministrator

可以在站点中管理响应组应用程序的配置。

CSResponseGroupAdministrator

不适用

CsLocationAdministrator

增强型 9-1-1 (E9-1-1) 管理的最低权限级别,包括创建 E9-1-1 位置和网络标识符,以及将这些位置相互关联。 此角色始终分配有全局范围。

CSLocationAdministrator

不适用

CsResponseGroupManager

可以管理特定的响应组。

CSResponseGroupManager

不适用

CsPersistentChatAdministrator

可以管理持久聊天功能和特定的持久聊天室。

CSPersistentChatAdministrator

不适用

Lync Server 中附带的所有预定义角色都具有全局范围。 若要遵循最低特权做法,如果用户只管理一组受限的服务器或用户,则不应将用户分配到全局范围的角色。 若要实现此目的,可以创建基于现有角色但范围更有限的角色。

创建作用域内角色

创建作用域有限的角色 (作用域) 角色时,请指定作用域及其所基于的现有角色以及要分配该角色的 Active Directory 组。 必须已创建指定的 Active Directory 组。 以下 cmdlet 是创建具有预定义管理角色之一的权限但范围有限的角色的示例。 它创建一个调用 Site01 Server Administrators的新角色。 该角色具有预定义的 CsServerAdministrator 角色的功能,但仅适用于 Site01 站点中的服务器。 若要使此 cmdlet 正常工作,必须已定义 Site01 站点,并且命名的通用安全组 Site01 Server Administrators 必须已存在。

New-CsAdminRole -Identity "Site01 Server Administrators" -Template CsServerAdministrator -ConfigScopes "site:Site01"

运行此 cmdlet 后,作为组成员 Site01 Server Administrators 的所有用户都将拥有 Site01 中服务器的服务器管理员权限。 此外,以后添加到此通用安全组的任何用户也可获得此角色的权限。 请注意,将调用 Site01 Server Administrators角色本身和分配给它的通用安全组。

以下示例限制用户范围,而不是服务器范围。 它将创建一个 Sales Users Administrator 角色来管理 Sales 组织单位中的用户帐户。 必须已创建 SalesUsersAdministrator 通用安全组才能使此 cmdlet 正常工作。

New-CsAdminRole -Identity "Sales Users Administrator " -Template CsUserAdministrator -UserScopes "OU:OU=Sales, OU=Lync Tenants, DC=Domain, DC=com"

创建新角色

若要创建一个角色,该角色有权访问一组不属于预定义角色之一的 cmdlet 或一组脚本或模块,请再次开始使用其中一个预定义角色作为模板。 请注意,角色要运行的脚本和模块必须存储在以下位置:

  • Lync 模块路径,默认情况下为 C:\Program Files\Common Files\Microsoft Lync Server 2013\Modules\Lync

  • 用户脚本路径,默认情况下为 C:\Program Files\Common Files\Microsoft Lync Server 2013\AdminScripts

若要创建新角色,请使用 New-CsAdminRole cmdlet。 在运行 New-CsAdminRole 之前,必须先创建与此角色关联的基础通用安全组。

以下 cmdlet 充当创建新角色的示例。 他们创建一个新的角色类型调用 MyHelpDeskScriptRole。 新角色具有预定义的 CsHelpDesk 角色的功能,还可以在名为“testscript”的脚本中运行这些函数。

New-CsAdminRole -Identity "MyHelpDeskScriptRole" -Template CsHelpDesk -ScriptModules @{Add="testScript.ps1"}

若要使此 cmdlet 正常工作,必须先创建通用安全组 MyHelpDeskScriptRole。

运行此 cmdlet 后,可以将用户直接分配到此角色 (在这种情况下,他们具有全局范围) ,或者根据此角色创建作用域角色,如本文档前面的“创建作用域角色”中所述。

向用户分配角色

每个 Lync Server 角色都与基础 Active Directory 通用安全组相关联。 添加到基础组的任何用户都可获得该角色的功能。

上述部分中的示例都创建了一个新角色,并向新角色分配了现有的通用安全组。 若要将现有角色分配给一个或多个用户,请将这些用户添加到与角色关联的组。 可以将单个用户和通用安全组添加到这些组。

例如, CsAdministrator 角色会自动授予 Active Directory 中的 CS 管理员 通用安全组。 部署 Lync Server 时,会在 Active Directory 中创建此通用安全组。 若要授予用户或组此权限,只需将其添加到 CS 管理员 组即可。

通过添加到与每个角色对应的基础 Active Directory 组,可以为用户提供多个 RBAC 角色。

请注意,创建角色时,稍后添加到基础 Active Directory 组的用户将获得该角色的功能。

修改角色的功能

可以修改角色可以运行的 cmdlet 和脚本列表。 可以修改自定义角色可以运行的 cmdlet 和脚本,但只能修改预定义角色的脚本。 键入的每个 cmdlet 都可以添加、删除或替换 cmdlet 或脚本。

若要修改角色,请使用 Set-CsAdminRole cmdlet。 以下 cmdlet 从角色中删除一个脚本。

Set-CsAdminRole -Identity "MyHelpDeskScriptRole" -ScriptModules @{Remove="testScript.ps1"}

规划 RBAC

对于要为 Lync Server 部署授予任何类型的管理权限的每个人,请确切地考虑需要执行哪些任务,然后将其分配给其工作所需的最低特权和范围的角色。 如有必要,可以使用 Set-CsAdminRole cmdlet 创建一个新角色,其中仅包含此人任务所需的 cmdlet。

具有 CsAdministrator 角色的用户可以创建所有类型的角色,包括基于 CsAdministrator 的角色,并向其分配用户。 最佳做法是将 CsAdministrator 角色分配给一组非常小的受信任用户。