Exchange Web Service Managed API - The account does not have permission to impersonate the requested user

imageВ одном из локальных проектов по разработке веб-приложения возникла задача создания Задач в почтовых ящиках пользователей Exchange Server 2010. Для этого была предпринята попытка использовать Exchange Web Service Managed API (через веб-службу на сервере клиентского доступа https://ClientAccessServer/EWS/Exchange.asmx). Как мне объяснил разработчик приложения, при попытке подключится к пользовательскому почтовому ящику для того, чтобы создать в нём Задачу от имени отдельной специально созданной для этой цели сервисной учетной записи, возникала ошибка "The account does not have permission to impersonate the requested user"

image

Что само по себе в общем-то ожидаемо и говорит о том, что у сервисной учетной записи, от имени которой идёт попытка манипулировать почтовым ящиком пользователей нет права олицетворять себя с этими пользователями (Impersonation Rights). Для того, чтобы предоставить такие права воспользуемся Exchange Management Shell.

Для начала создадим в домене две группы безопасности, например:

  • KOM-SP-Protocol-Task-Performers
    Тип группы - Локальная группа безопасности.
    В эту группу включим учетные записи тех пользователей, почтовыми ящиками которых нужно будет управлять (например в плане создания Задач)
  • KOM-SP-Protocol-Task-Management-Accounts
    Тип группы - Универсальная группа безопасности.
    Во эту группу включим сервисную учетную запись, от имени которой будут выполнятся манипуляции с объектами в почтовых ящиках пользователей первой группы.

Далее создадим область действия (Management Scope) границами которой будет назначена первая группа безопасности:

New-ManagementScope -Name "KOM SharePoint Protocol Task Performers Scope" -RecipientRestrictionFilter {memberofgroup -eq "CN=KOM-SP-Protocol-Task-Performers,OU=Security Groups,OU=Service Objects,OU=KOM-AD01,OU=KOM,DC=holding,DC=com"}

Затем выполним назначение предопределённой роли Exchange ApplicationImpersonation для группы безопасности KOM-SP-Protocol-Task-Management-Accounts в рамках созданной ранее области действия:

New-ManagementRoleAssignment -Name:"KOM SharePoint Protocol Task Performers Impersonation" -Role:ApplicationImpersonation -SecurityGroup:"KOM-SP-Protocol-Task-Management-Accounts" -CustomRecipientWriteScope:"KOM SharePoint Protocol Task Performers Scope"

После этого сервисная учетная запись сможет выполнять необходимые действия.

Только один комментарий Комментировать

  1. Сергей /

    Подскажите, пытался следовать Вашим рекомендациям для обеспечения работоспособности выборочного восстановления писем в базе Exchange 2010 посредством Backup Exec 2010. Сделал все как Вы пишите, команды прошли успешно. Однако при попытке восстановления письма в ящик я получаю по-прежнему ошибку
    Ошибка : e00002fe - Не удается начать сеанс MAPI с указанными идентификационными данными. Проверьте идентификационные данные ресурса для задания, а затем повторно запустите задание.
    Для получения подробных сведений об этой ошибке перейдите по ссылке V-79-57344-766
    Возможно надо просто перезапустить службы exchange или что-то не так?
    Backup exec успешно проходит тестирование под этой учеткой но восстановить письмо не может.

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