Перейти к содержимому

Как настроить права «Только чтение» для транспортных правил в Exchange Server (2016/2019)

Оглавление:

Введение: Почему стандартных ролей недостаточно
Предварительные требования
Шаг 1. Анализ стандартной роли Transport Rules
Шаг 2. Создание кастомной роли на основе базовой
Шаг 3. Удаление опасных командлетов (прав на запись)
Шаг 4. Проверка итогового списка разрешений
Шаг 5. Создание группы ролей и привязка к пользователям AD
Шаг 6. Проверка назначения прав
Важные нюансы: проверка через веб-интерфейс (ECP)

Введение {#введение}

В Exchange Server по умолчанию существует встроенная роль Transport Rules, которая предоставляет полный доступ к управлению правилами обработки почты (создание, изменение, удаление, импорт/экспорт).
Назначение этой роли сотрудникам службы поддержки или аудиторам создает серьезный риск информационной безопасности: злоумышленник или невнимательный сотрудник может случайно перенаправить почту руководства или отключить критически важные правила фильтрации.
Поскольку встроенной роли «Только чтение» для транспортных правил не существует, мы создадим её самостоятельно, скопировав базовую роль и удалив из неё все командлеты, отвечающие за модификацию данных.

Предварительные требования {#предварительные-требования}

  1. Доступ к Exchange Management Shell (EMS) с правами роли Organization Management.
  2. Заранее созданная в Active Directory группа безопасности (Security Group), в которую входят пользователи, нуждающиеся в правах на просмотр (например, G-View-Only Transport Rules).
    ⚠️ Важно: Группа должна быть именно группой безопасности, а не группой рассылки (Distribution Group).

Шаг 1. Анализ стандартной роли {#шаг-1-анализ-стандартной-роли}

Для начала посмотрим, какие именно командлеты и параметры содержит стандартная роль Transport Rules. Это поможет понять, что именно мы будем удалять.
Get-ManagementRoleEntry "Transport Rules\*" | Select-Object Name, Parameters | Format-List
Эта команда выведет полный список из ~23 командлетов, включая New-TransportRule, Set-TransportRule, Remove-TransportRule и другие.

Шаг 2. Создание кастомной роли {#шаг-2-создание-кастомной-роли}

Создадим новую роль с именем View-Only Transport Rules Custom, используя встроенную роль Transport Rules как шаблон (родительскую роль).
New-ManagementRole -Name "View-Only Transport Rules Custom" -Parent "Transport Rules"

Шаг 3. Удаление опасных командлетов {#шаг-3-удаление-опасных-командлетов}

Теперь «очистим» нашу новую роль от всех командлетов, которые позволяют изменять состояние системы. Выполните следующий блок команд. Параметр -Confirm:$false подавляет запросы на подтверждение для каждого удаления.
# Удаление прав на управление правилами перехватчика
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\Set-InterceptorRule" -Confirm:$false
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\Remove-InterceptorRule" -Confirm:$false
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\New-InterceptorRule" -Confirm:$false

# Удаление прав на управление транспортными правилами
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\Set-TransportRule" -Confirm:$false
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\Remove-TransportRule" -Confirm:$false
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\New-TransportRule" -Confirm:$false
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\Enable-TransportRule" -Confirm:$false
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\Disable-TransportRule" -Confirm:$false
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\Import-TransportRuleCollection" -Confirm:$false
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\Import-JournalRuleCollection" -Confirm:$false

# Удаление прав на управление классификацией сообщений и аудитом
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\Write-AdminAuditLog" -Confirm:$false
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\Set-MessageClassification" -Confirm:$false
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\Remove-MessageClassification" -Confirm:$false
Remove-ManagementRoleEntry "View-Only Transport Rules Custom\New-MessageClassification" -Confirm:$false

Шаг 4. Проверка итогового списка разрешений {#шаг-4-проверка-итогового-списка-разрешений}

Убедимся, что в роли остались только безопасные командлеты для чтения (Get-*) и безопасного экспорта (Export-*).
Get-ManagementRoleEntry "View-Only Transport Rules Custom\*" | Select-Object Name
Ожидаемый результат: В выводе должны остаться только Get-TransportRule, Get-Recipient, Export-TransportRuleCollection, Get-InterceptorRule и другие вспомогательные командлеты чтения. Командлеты New-*, Set-* и Remove-* должны отсутствовать.

Шаг 5. Создание группы ролей и привязка к пользователям AD {#шаг-5-создание-группы-ролей}

Теперь создадим группу управления (Role Group), назначим ей нашу кастомную роль и добавим в неё группу пользователей из Active Directory.
New-RoleGroup -Name "Transport Rules Viewers" `
              -Roles "View-Only Transport Rules Custom" `
              -Members "G-View-Only Transport Rules" `
              -Description "Просмотр транспортных правил без возможности изменений"
💡 Замените "G-View-Only Transport Rules" на реальное имя вашей группы безопасности в Active Directory.

Шаг 6. Проверка назначения прав {#шаг-6-проверка-назначения-прав}

Выполните три команды для проверки корректности всей цепочки настроек:
# 1. Проверка создания самой группы ролей
Get-RoleGroup "Transport Rules Viewers"

# 2. Проверка того, что к группе привязана правильная роль
Get-ManagementRoleAssignment -RoleAssignee "Transport Rules Viewers" | Select-Object Role, RoleAssigneeName

# 3. Проверка того, что пользователи (или группа AD) успешно добавлены в состав
Get-RoleGroupMember "Transport Rules Viewers"

Важные нюансы: проверка через веб-интерфейс (ECP) {#важные-нюансы-проверка-через-веб-интерфейс}

  1. Обязательный перелогин. Права RBAC в Exchange кэшируются при входе в систему. Чтобы новые права вступили в силу, пользователь обязан полностью выйти из Центра администрирования Exchange (ECP / OWA) и зайти заново. Для первой проверки рекомендуется использовать режим инкогнито в браузере.
  2. Что увидит пользователь. В разделе Поток обработки почты (Mail flow) → Правила (Rules) пользователь увидит полный список правил, сможет открывать их и читать описание. Однако кнопки «Создать» (+), «Изменить» (карандаш) и «Удалить» (корзина) будут полностью неактивны (серые) или скрыты.
  3. Проверка через PowerShell. Если пользователь попытается выполнить Set-TransportRule, он получит ошибку: «The operation couldn’t be performed because it isn’t within your current write scopes».

Статья подготовлена на основе лучших практик управления ролями (RBAC) в Microsoft Exchange Server 2016/2019.

Similar Posts:

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

Яндекс.Метрика