Назначение определенной роли Exchange для аутентификации только на уровне приложений с помощью Exchange Online Powershell

Назначение определенной роли Exchange для аутентификации только на уровне приложений с помощью Exchange Online Powershell

Мне необходимо использовать следующие командлеты из модуля ExchangeOnline Powershell с автоматическим подключением.

  • Get-QuarantineMessage
  • Предварительный просмотр-карантинное сообщение
  • Выпуск-карантинСообщение
  • Экспорт-карантинСообщение
  1. После этой первой документацииhttps://learn.microsoft.com/en-us/powershell/exchange/app-only-auth-powershell-v2?view=exchange-psЯ создал регистрацию приложения Azure с самозаверяющим сертификатом, назначил разрешение API «Exchange.ManageAsApp», а затем предоставил согласие.

  2. Затем я создал группу безопасности Azure и добавил свое приложение в качестве члена этой группы.

  3. Затем я создал пользовательскую роль на портале Microsoft 365 Defender, следуя этой документации: https://learn.microsoft.com/en-us/defender-for-identity/role-groups

  4. В этой роли я добавил следующее пользовательское разрешение:

  • Карантин электронной почты (управление)
  • Расширенные действия по электронной почте (управление) и только для чтенияНеобработанные данные (электронная почта и совместная работа)
  1. И, конечно же, я назначил свою группу, созданную на шаге 2, на эту новую роль.

Все это позволяет мне использовать первые 2 командлета без каких-либо проблем, но я не могу получить доступ кЭкспорт-карантинСообщениеиВыпуск-карантинСообщение.

Мы можем перечислить разрешения, необходимые для этого командлета, с помощью этих команд (оттуда:https://learn.microsoft.com/en-us/powershell/exchange/find-exchange-cmdlet-permissions?view=exchange-ps)

PS > $Perms = Get-ManagementRole -Cmdlet Export-QuarantineMessage
PS > $Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-Table -Auto Role,RoleAssigneeType,RoleAssigneeName}

Role           RoleAssigneeType RoleAssigneeName
----           ---------------- ----------------
Security Admin RoleGroup        Organization Management
Security Admin RoleGroup        SecurityAdmins_782500194



Role              RoleAssigneeType RoleAssigneeName
----              ---------------- ----------------
Transport Hygiene RoleGroup        Hygiene Management
Transport Hygiene RoleGroup        Organization Management

Я попробовал эту последнюю команду:

PS > Add-RoleGroupMember "Hygiene Management" -Member <name of the application created at step 1>

Я могу увидеть своего участника приложения, если выполню:

PS > Get-RoleGroupMember "Hygiene Management"

Но у меня все еще нет доступа кЭкспорт-карантинСообщениеиВыпуск-карантинСообщениекомандлеты.

ОБНОВЛЯТЬ

Я пробую следующееhttps://learn.microsoft.com/en-us/powershell/exchange/app-only-auth-powershell-v2?view=exchange-ps#assign-custom-exchange-online-role-groups-to-the-application-using-service-principals

  1. Создание пользовательской роли Exchange с «Transport Hygiene» + «Security Administrator»

  2. PS > $AadApp = Get-AzureADServicePrincipal -SearchString ""

    PS > New-ServicePrincipal -AppId $AadApp.AppId -ServiceId $AadApp.ObjectId -DisplayName "ServicePrincipal для моего приложения"

    PS > $SP = Get-ServicePrincipal -Identity "ServicePrincipal для моего приложения"

    PS > Add-RoleGroupMember -Identity "<роль создала шаг 1>" -Member $SP.Identity

Безуспешно.

ОБНОВЛЯТЬ Изменение моей пользовательской роли Exchange только с: -Импортом и экспортом почтовых ящиков -Поиском почтовых ящиков -Приложением поиска почтовых ящиков -Отслеживанием сообщений -Гигиеной транспорта -Конфигурацией только для просмотра -Получателями только для просмотра, похоже, работает. Я отложу выходные, чтобы посмотреть, не являются ли эти изменения очередными, которые требуют времени для репликации на стороне Microsoft

Связанный контент