Главная > Lync, SfB > Управление доступом на основе ролей(RBAC) в Lync 2013\S4B

Управление доступом на основе ролей(RBAC) в Lync 2013\S4B

Это статья о RBAC в Lync 2013\S4B. Статья применима как к Lync 2013 так и для S4B. Здесь собрана самая необходимая информация о RBAC Lync с моей точки зрения, она собрана из двух источников: technet и собственный опыт. Естественно рекомендуется сначала прочитать официальную документацию. Цель статьи – помочь администраторам\архитекторам Lync средних и крупных компаний понять тему(включая неосвещенные в документации вопросы), чтобы в итоге создать свою модель администрирования Lync\S4B.

 

Общая информация о RBAC в Lync\S4B

Lync\S4B имеют группы управления доступом на основе ролей (RBAC), которые помогают делегировать административные задачи. Эти группы создаются в процессе подготовки леса, не путайте их с другими группами которые также создаются во время подготовки леса (административные группы, группы инфраструктуры, группы служб). Используя эти группы RBAC, можно предоставить административные привилегии нужной учетной записи. При этом можно создавать свои уникальные роли которые можно ограничить рамками сайта lync(ограничение области действия на уровне серверов), OU (ограничение области действия на уровне пользователей), а также разрешенными для выполнения командлетами.

 

Предопределенные роли RBAC

Всего существует 11 предопределённых ролей RBAC:

CSAdministrator, CSVoiceAdministrator, CSUserAdministrator, CSResponseGroupAdministrator,  CSLocationAdministrator, CSArchivingAdministrator, CSViewOnlyAdministrator,  CSServerAdministrator,  CSHelpDesk, CSResponseGroupManager, CsPersistentChatAdministrator.

Увидеть их можно в AD в предопределенном контейнере Users:

Они охватывают определенный набор административных задач реализуемое через предоставление разрешений на использование определенного списка командлет. Посмотреть список командлет разрешенных для конкретной роли CSUserAdministrator можно посмотреть например так в удобном виде через Lync PS:

Get-CsAdminRole -Identity “CSUserAdministrator” | select -ExpandProperty cmdlets| select Name | sort Name

Не все командлеты доступны для предопределенных групп RBAC Lync, например Enable-CsADDomain (для запуска вы должны быть админом домена).

Также можно посмотреть остальную информацию о роли через GetCsAdminRole.

Все предопределенные роли действуют глобально(ConfigScopes и UserScopes : {Global}) поэтому чтобы реализовать необходимую административную модель в соответствии с областью действия (сайт Lync, OU) необходимо создавать новые административные роли и определять им область действия.

 

Создание новой административной роли (Custom RBAC)

Чтобы создать новую кастомную роль необходимо создать универсальную группу безопасности (Universal Security AD group), после этого можно создать кастомную роль RBAC на основе предопределенной группы, при этом можно добавить или убрать конкретные командлеты. Добавив учетную запись администратора в эту группу безопасности, мы делегируем ему соответствующие административные права.

На примерах посмотрим, как можно создать новую роль и изменить разрешенные командлеты:

  • Создание кастомной роли RegUsersAdmin. Эта роль обладает возможностями предопределенной роли CsUserAdministrator, но только для пользователей, расположенных в соответствующей OU. Этот командлет cработает только в том случае, если соответствующая OU и универсальная группа безопасности с именем RegUsersAdmin уже существуют.

New-CsAdminRole -Identity ”RegUsersAdmin” -Template CSUserAdministrator -UserScopes ”OU:OU=RegionUsers,OU=Samara,DC=domain,DC=ru”

  • Создание кастомной роли RegServersAdmin. Эта роль обладает возможностями предопределенной роли CsServerAdministrator, но только для серверов, расположенных в сайте “Site:SiteID”(список сайтов, а так же их идентификаторы можно получить через командлет Get-CsSite, в нашем случае SiteID = 1). Этот командлет работает только в том случае, если Site:SiteID уже создан и универсальная группа безопасности с именем RegServersAdmin уже существует.

New-CsAdminRole -Identity ”RegServersAdmin” -Template CSServerAdministrator -ConfigScopes ”site:1”

  • Создание кастомной роли RegAdmin. Эта роль обладает возможностями предопределенной роли CsAdministrator, но только для серверов, расположенных в сайте “Site:SiteID”(site:1) и пользователей в соответствующей OU. Соответственно сайт и OU уже должны существовать, а также универсальная группа безопасности RegAdmin.

New-CsAdminRole -Identity ”RegAdmin” -Template CSAdministrator -ConfigScopes ”site:1” -UserScopes ”OU:OU=RegionUsers,OU=Samara,DC=domain,DC=ru”

  • Убрать разрешения на использование определенных командлет у новой роли

Set-CsAdminRole -Identity “RegAdmin” -Cmdlets @{Remove=”get-CsSite”,”get-CsUser”}

  • Добавить разрешения на использование определенных командлет у новой роли

Set-CsAdminRole -Identity “RegAdmin” -Cmdlets @{Add=”get-CsSite”,”get-CsUser”}

  • Удалить роль

Remove-CsAdminRole -Identity RegionAdmin -Verbose

 

Далее добавим учетную запись администратора филиала\дочки\региона и т.п в необходимые группы безопасности(созданные для ролей RBAC), тем самым делегировав им соответствующие права.

Посмотреть какие роли RBAC сейчас присвоены УЗ можно либо в Control Panel Lync на странице приветствия (войти из-под этой УЗ) либо так:

Get-CsAdminRoleAssignment ”domain\user”

 

Параметры роли RBAC

Разберем свойства у кастомной роли созданной на основе CS Administrator действующей на определенный сайт и OU

PS C:> Get-CsAdminRole -Identity RegAdmin

 

Identity       : RegAdmin

SID           : S-1-5-21-2825852277-2804793686-1768688180-1134

IsStandardRole : False

Cmdlets       : {Name=Debug-CsInterPoolReplication,…}

ScriptModules : {}

ConfigScopes   : {Site:1}

UserScopes     : {OU:OU=RegionUsers,OU=UCLAB,DC=uclab,DC=ru}

Template       : CSAdministrator

  • Identity – имя роли
  • SID идентификатор безопасности группы AD
  • IsStandardRole признак предопределенной группы, чтобы увидеть все кастомные роли выполнить Get-CsAdminRole | ? {$_.IsStandardRole -eq $False}
  • Cmdlets перечень командлет разрешенных для этой роли
  • ScriptModules перечень сценариев и модулей которые может выполнять данная роль. Они должны храниться в следующих каталогах(для Lync2013):

Путь к модулю Lync (по умолчанию: C:\Program Files\Common Files\Microsoft Lync Server 2013\Modules\Lync)

Путь к модулю S4B (C:\Program Files\Common Files\Microsoft Skype for Business Server 2015\Modules\Skype for Business\)

Путь к пользовательскому сценарию (по умолчанию: C:\Program Files\Common Files\Microsoft Lync Server 2013\AdminScripts)

Пример: New-CsAdminRole -Identity «RegUsersAdmin» -Templated CsUserAdministrator -ScriptModules @{Add-«MyScript.Ps1} -Verbose

  • ConfigScopes это сайт Lync (или сайты), к которому относится роль RBAC. По умолчанию установлено значение Global, что подразумевает все сайты. Если сайты были добавлены, то в параметре будет значение (например, Site: 1). УЗ ограниченные сайтом не смогут создавать глобальные уникальные объекты, например политики, правила нормализации, параметры безопасности можно создавать\изменять только на уровне сайта Lync. При этом если не изменяется UserScopes то управление пользователями разрешенными командлетами осуществляется на глобальном уровне.
  • UserScopes это область ограничения администрирования пользователей на уровне OU. Указывается в виде distinguished name OU. При этом если не изменяется ConfigScopes то управление конфигурацией разрешенными командлетами осуществляется на глобальном уровне.
  • Template предопределённая роль RBAC Lync использованная как шаблон во время создания кастомной роли.

Администрирование с помощью кастомных ролей RBAC

Для целей администрирования используются средства, устанавливаемые по умолчанию на каждый сервер Lync FE либо отдельно на компьютер администратора. При выполнении командлета через Lync PS всегда выполняется подключение к CMS (топология, конфигурация и политики), чтобы проверить ограничения RBAC. Также при запуске Lync Control Panel тоже выполняется подключение к CMS. Группа безопасности, которая создается для новой роли не имеет доступа к базе данных CMS.Поэтому при использовании Lync PS или Lync Control Panel (из Lync administrative tools) вы не сможете выполнять администрирование через новую роль, будет ошибка:

Есть два варианта выхода из ситуации:

  • Первый вариант:

Использовать Lync Remote PowerShell

Например, подключаться со своей рабочей станции:

$credential = Get-Credential uclab\regionadmin

$SessionOptions = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck

$session = New-PSSession -ConnectionUri ”https://lyncpoolfe01.uclab.ru/OcsPowershell” -Credential $credential -SessionOption $sessionoptions

Import-PSSession -Session $session –AllowClobber

При этом импортируются все командлеты которые вы можете использовать в соответствии с вашей ролью.

Также можно использовать Lync Control Panel подключаясь удаленно через браузер.

  • Второй вариант:

Дать права на доступ к CMS, сделав например членом административной группы RTCUniversalReadOnlyAdmins (группа создается во время подготовки леса и позволяет членам считывать параметры серверов, пулов и пользователей). При этом появляются права доступа к CMS и собственно проблема разрешается.

 

Чем можно облегчить жизнь при работе с RBAC

  • Скрипт просмотра ролей RBAC и кому они назначены. Очень полезен при сложной административной модели и большом количестве филиалов компании.
  • Инструмент для визуальной работы по созданию ролей(сторонняя разработка).
  • Файл Excel в котором можно посмотреть и сравнить командлеты назначенные всем предопределенным ролям RBAC
Реклама
Рубрики:Lync, SfB
  1. Комментариев нет.
  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

Заметки ИТ инженера

Мои заметки, связанные с профессиональной деятельностью в сфере Информационных Технологий

IT in realworld

о технологиях Microsoft, или кратко обо всем. Active Directory and other stuff.

%d такие блоггеры, как: