Поделиться через


Использование управляемых удостоверений Azure для подключения к Exchange Online PowerShell

С помощью модуля Exchange Online PowerShell версии 3 можно подключиться к Exchange Online PowerShell с помощью назначаемого пользователем или системой управляемого удостоверения Azure. Дополнительные сведения об управляемых удостоверениях см. в статье Что такое управляемые удостоверения для ресурсов Azure?

В отличие от других методов подключения, использующих модуль PowerShell Exchange Online, команды подключения в сеансе Windows PowerShell на локальном компьютере выполнять нельзя. Вместо этого вы подключаетесь в контексте ресурса Azure, связанного с управляемым удостоверением (например, учетная запись службы автоматизации Azure или виртуальная машина Azure).

В оставшейся части этой статьи объясняется, как подключиться с помощью управляемого удостоверения, а также требования к созданию и настройке соответствующих ресурсов с управляемыми удостоверениями в Azure.

Примечание.

В PowerShell Exchange Online нельзя использовать процедуры, описанные в этой статье, со следующими командлетами групп Microsoft 365.

Вы можете использовать Microsoft Graph для замены большинства функциональных возможностей этих командлетов. Дополнительные сведения см. в статье Работа с группами в Microsoft Graph.

Для подключений REST API в модуле версии 3 требуются модули PowerShellGet и PackageManagement. Дополнительные сведения см. в статье PowerShellGet для подключений на основе REST в Windows.

Подключение к Exchange Online PowerShell с помощью управляемого удостоверения, назначаемого системой

После создания и настройки управляемого удостоверения, назначаемого системой, используйте следующий синтаксис для подключения к Exchange Online PowerShell:

Connect-ExchangeOnline -ManagedIdentity -Organization <YourDomain>.onmicrosoft.com

Например:

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com

В оставшейся части этого раздела объясняется, как подключиться с помощью поддерживаемых ресурсов Azure. Например:

  • Модуль Runbook PowerShell в учетной записи службы автоматизации Azure с управляемым удостоверением, назначаемого системой.
  • Виртуальная машина Azure с управляемым удостоверением, назначаемое системой.

После подключения к ресурсу доступны командлеты и параметры PowerShell Exchange Online на основе роли RBAC, назначенной в шаге 5. Назначение ролей Microsoft Entra управляемому удостоверению.

Подключение к Exchange Online PowerShell с помощью учетных записей службы автоматизации Azure с управляемым удостоверением, назначаемого системой

Создайте модуль Runbook PowerShell в учетной записи службы автоматизации. Инструкции см. в статье Управление модулями Runbook в службе автоматизации Azure.

Первой командой в runbook PowerShell должна быть Connect-ExchangeOnline... команда, как описано в начале этого раздела. Например:

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com

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

Get-AcceptedDomain | Format-Table Name

После успешного создания, сохранения и публикации runbook PowerShell выполните следующие действия, чтобы запустить его в будущем:

  1. На странице Учетные записи службы автоматизации выберите https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccountsучетную запись службы автоматизации.
  2. В открывщемся всплывающем окне сведений начните вводить "Runbooks" в значок Поиска.Поле поиска , а затем выберите Runbooks в результатах .
  3. Во всплывающем окне Runbooks выберите модуль Runbook.
  4. На странице сведений модуля Runbook нажмите кнопку Пуск.

Подключение к Exchange Online PowerShell с помощью виртуальных машин Azure с управляемым удостоверением, назначаемого системой

В окне Windows PowerShell на виртуальной машине Azure используйте команду, как описано в начале этого раздела. Например:

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com

Подключение к Exchange Online PowerShell с помощью управляемого удостоверения, назначаемого пользователем

После создания и настройки управляемого удостоверения, назначаемого пользователем, используйте следующий синтаксис для подключения к Exchange Online PowerShell:

Connect-ExchangeOnline -ManagedIdentity -Organization <YourDomain>.onmicrosoft.com -ManagedIdentityAccountId <UserAssignedManagedIdentityClientIdValue>

Вы получите <значение UserAssignedManagedIdentityClientIdValue> из шага 3. Хранение управляемого удостоверения, назначаемого пользователем, в переменной.

В оставшейся части этого раздела объясняется, как подключиться с помощью поддерживаемых ресурсов Azure. Например:

  • Модуль Runbook PowerShell в учетной записи службы автоматизации Azure с управляемым удостоверением, назначаемого пользователем.
  • Виртуальная машина Azure с управляемым удостоверением, назначаемое пользователем.

После подключения ресурса доступны командлеты и параметры PowerShell Exchange Online на основе роли RBAC, назначенной в шаге 6. Назначение ролей Microsoft Entra управляемому удостоверению.

Подключение к Exchange Online PowerShell с помощью учетных записей службы автоматизации Azure с управляемыми удостоверениями, назначаемых пользователем

Создайте модуль Runbook PowerShell в учетной записи службы автоматизации. Инструкции см. в статье Управление модулями Runbook в службе автоматизации Azure.

Первой командой в runbook PowerShell должна быть Connect-ExchangeOnline... команда, как описано в начале этого раздела. Например:

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com -ManagedIdentityAccountId bf6dcc76-4331-4942-8d50-87ea41d6e8a1

Значение ManagedIdentityAccount вы получите из шага 3. Хранение управляемого удостоверения, назначаемого пользователем, в переменной.

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

Get-AcceptedDomain | Format-Table Name

После успешного создания runbook PowerShell выполните следующие действия, чтобы запустить его в будущем:

  1. На странице Учетные записи службы автоматизации выберите https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccountsучетную запись службы автоматизации.
  2. В открывщемся всплывающем окне сведений начните вводить "Runbooks" в значок Поиска.Поле поиска , а затем выберите Runbooks в результатах .
  3. Во всплывающем окне Runbooks выберите модуль Runbook.
  4. На странице сведений модуля Runbook нажмите кнопку Пуск.

Подключение к Exchange Online PowerShell с помощью виртуальных машин Azure с управляемыми удостоверениями, назначаемых системой

В окне Windows PowerShell на виртуальной машине Azure используйте команду, как описано в начале этого раздела. Например:

$MI_ID = (Get-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2").ClientId

Connect-ExchangeOnline -ManagedIdentity -Organization contoso.onmicrosoft.com -ManagedIdentityAccountId $MI_ID

Создание и настройка управляемого удостоверения, назначаемого системой

Ниже описана последовательность действий.

  1. (Необязательно) Создание ресурса с управляемым удостоверением, назначаемого системой
  2. Хранение управляемого удостоверения, назначаемого системой, в переменной
  3. Добавление модуля PowerShell Exchange Online в управляемое удостоверение
  4. Предоставление API Exchange.ManageAsApp для управляемого удостоверения разрешения на вызов Exchange Online
  5. Назначение ролей Microsoft Entra управляемому удостоверению

После выполнения действий вы сможете подключиться к Exchange Online PowerShell с помощью управляемого удостоверения, назначаемого системой.

Шаг 1. Создание ресурса с управляемым удостоверением, назначаемого системой

Если вы собираетесь использовать существующий ресурс, который уже настроен с управляемым удостоверением, назначаемого системой, можно перейти к следующему шагу. Поддерживаются следующие типы ресурсов:

  • Учетные записи службы автоматизации Azure
  • Виртуальные машины Azure

Создание учетных записей службы автоматизации Azure с управляемыми удостоверениями, назначаемых системой

Создайте учетную запись службы автоматизации, настроенную для управляемого удостоверения, назначаемого системой, с помощью инструкций из раздела Краткое руководство. Создание учетной записи службы автоматизации с помощью портала Azure.

Чтобы создать учетную запись службы автоматизации с управляемым удостоверением, назначаемого системой, в Azure PowerShell, выполните следующие действия.

  1. Подключитесь к Azure Az PowerShell , выполнив следующую команду:

    Connect-AzAccount
    
  2. При необходимости создайте группу ресурсов Azure для использования с учетной записью службы автоматизации, выполнив следующую команду:

    New-AzResourceGroup -Name "<ResourceGroupName>" -Location "<Location>"
    
    • <ResourceGroupName> — это уникальное имя новой группы ресурсов.
    • <Расположение> — это допустимое значение из команды : Get-AzLocation | Format-Table Name.

    Например:

    New-AzResourceGroup -Name "ContosoRG" -Location "West US"
    

    Полные инструкции см. в разделе Создание групп ресурсов.

  3. Используйте следующий синтаксис для создания учетной записи службы автоматизации с управляемым удостоверением, назначаемого системой:

    New-AzAutomationAccount -Name "<AutomationAccountName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>" -AssignSystemIdentity
    
    • <AutomationAccountName> — это уникальное имя новой учетной записи службы автоматизации.
    • <ResourceGroupName> — это имя существующей группы ресурсов, которую вы хотите использовать. Допустимые значения отображаются в выходных данных команды: Get-AzResourceGroup.
    • <Расположение> — это допустимое значение из команды : Get-AzLocation | Format-Table Name.

    Например:

    New-AzAutomationAccount -Name "ContosoAzAuto1" -ResourceGroupName "ContosoRG" -Location "West US" -AssignSystemIdentity
    

    Подробные сведения о синтаксисе и параметрах см. в разделе New-AzAutomationAccount.

Настройка виртуальных машин Azure с управляемыми удостоверениями, назначаемых системой

Инструкции см. в следующих статьях:

Шаг 2. Хранение управляемого удостоверения, назначаемого системой, в переменной

Используйте следующий синтаксис, чтобы сохранить значение Id (GUID) управляемого удостоверения в переменной, которую вы будете использовать в следующих шагах в Azure Az PowerShell.

$MI_ID = (Get-AzADServicePrincipal -DisplayName "<ResourceName>").Id

Где <ResourceName> — это имя учетной записи службы автоматизации Azure или виртуальной машины Azure. Например:

$MI_ID = (Get-AzADServicePrincipal -DisplayName "ContosoAzAuto1").Id

Чтобы убедиться, что переменная успешно захвачена, выполните команду $MI_ID. Выходные данные должны иметь значение GUID (например, 9f164909-3007-466e-a1fe-28d20b16e2c2).

Подробные сведения о синтаксисе и параметрах см. в разделе Get-AzADServicePrincipal.

Шаг 3. Добавление модуля PowerShell Exchange Online в управляемое удостоверение

Добавление модуля PowerShell Exchange Online в учетные записи службы автоматизации Azure с управляемыми удостоверениями, назначаемых системой

Совет

Если следующая процедура на портале Azure не подходит для вас, выполните команду New-AzAutomationModule в Azure PowerShell, описанную после процедуры портала Azure.

  1. На странице Учетные записи службы автоматизации выберите https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccountsучетную запись службы автоматизации.

  2. Во всплывающем окне сведений начните вводить "Модули" в значке поиска.Поле поиска , а затем выберите Модули в результатах .

  3. Во всплывающем окне Модули выберите значок Добавить модуль.Добавьте модуль.

  4. На открывающейся странице Добавление модуля настройте следующие параметры:

    • Отправка файла модуля. Выберите Обзор из коллекции.
    • Файл модуля PowerShell: выберите Щелкните здесь, чтобы перейти из коллекции:
      1. На открывающейся странице Обзор коллекции начните вводить "ExchangeOnlineManagement" в значке Поиска.Поле поиска , нажмите клавишу ВВОД и выберите ExchangeOnlineManagement в результатах.
      2. На открывающейся странице сведений выберите Выбрать , чтобы вернуться на страницу Добавление модуля .
    • Версия среды выполнения: выберите 5.1 или 7.1 (предварительная версия). Чтобы добавить обе версии, повторите шаги в этом разделе, чтобы добавить и выбрать другую версию среды выполнения для модуля.

    По завершении выберите Импорт.

    Снимок экрана: добавление модуля в учетную запись службы автоматизации на портале Azure.

  5. Вернитесь во всплывающее окно Модули и начните вводить "ExchangeOnlineManagement" в значке поиска.Поле поиска , чтобы увидеть значение Состояние . После завершения импорта модуля значение Доступно.

Чтобы добавить модуль в учетную запись службы автоматизации в Azure PowerShell, используйте следующий синтаксис:

New-AzAutomationModule -ResourceGroupName "<ResourceGroupName>" -AutomationAccountName "<AutomationAccountName>" -Name ExchangeOnlineManagement -ContentLinkUri https://www.powershellgallery.com/packages/ExchangeOnlineManagement/<LatestModuleVersion>
  • <ResourceGroupName> — это имя группы ресурсов, которая уже назначена учетной записи службы автоматизации.
  • <AutomationAccountName> — это имя учетной записи службы автоматизации.
  • <LatestModuleVersion> — это текущая версия модуля ExchangeOnlineManagement. Чтобы просмотреть последнюю версию модуля общедоступной версии (общедоступная версия, не предварительная версия), выполните следующую команду в Windows PowerShell: Find-Module ExchangeOnlineManagement. Чтобы просмотреть последний предварительный выпуск, выполните следующую команду: Find-Module ExchangeOnlineManagement -AllowPrerelease.
  • В настоящее время процедуры PowerShell не позволяют выбрать версию среды выполнения (это 5.1).

Например:

New-AzAutomationModule -ResourceGroupName "ContosoRG" -AutomationAccountName "ContosoAzAuto1" -Name ExchangeOnlineManagement -ContentLinkUri https://www.powershellgallery.com/packages/ExchangeOnlineManagement/3.1.0

Чтобы убедиться, что модуль успешно импортирован, выполните следующую команду:

Get-AzAutomationModule -ResourceGroupName ContosoRG -AutomationAccountName ContosoAzAuto1 -Name ExchangeOnlineManagement

Во время импорта свойство ProvisioningState будет иметь значение Создание. После завершения импорта модуля значение изменится на Успешно.

Подробные сведения о синтаксисе и параметрах см. в разделе New-AzAutomationModule.

Добавление модуля PowerShell Exchange Online на виртуальные машины Azure с управляемыми удостоверениями, назначаемых системой

Установите модуль PowerShell Exchange Online на виртуальной машине Azure. Инструкции см. в статье Установка и обслуживание модуля Exchange Online PowerShell.

Шаг 4. Предоставление разрешения API Exchange.ManageAsApp управляемому удостоверению на вызов Exchange Online

Для процедур, описанных на этом шаге, требуется пакет SDK Для Microsoft Graph PowerShell. Инструкции по установке см. в разделе Установка пакета SDK Для Microsoft Graph PowerShell.

  1. Выполните следующую команду, чтобы подключиться к Microsoft Graph PowerShell с необходимыми разрешениями:

    Connect-MgGraph -Scopes AppRoleAssignment.ReadWrite.All,Application.Read.All
    

    Если откроется диалоговое окно Запрашиваемые разрешения , выберите Согласие от имени организации и нажмите кнопку Принять.

  2. Выполните следующую команду, чтобы убедиться, что ресурс Office 365 Exchange Online доступен в идентификаторе Microsoft Entra:

    Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"
    

    Если команда не возвращает результатов, следующий шаг не будет работать. Прежде чем продолжить, ознакомьтесь с подразделом в конце этого раздела, чтобы устранить проблему.

  3. Выполните следующие команды, чтобы предоставить API Exchange.ManageAsApp управляемому удостоверению разрешение на вызов Exchange Online:

    $AppRoleID = "dc50a0fb-09a3-484d-be87-e023b12c6440"
    
    $ResourceID = (Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'").Id
    
    New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $MI_ID -PrincipalId $MI_ID -AppRoleId $AppRoleID -ResourceId $ResourceID
    
    • $MI_ID — это значение идентификатора (GUID) управляемого удостоверения, сохраненного в переменной на шаге 2.
    • $AppRoleID — это значение идентификатора (GUID) разрешения API Exchange.ManageAsApp , которое одинаково в каждой организации.
    • $ResourceID — это значение идентификатора (GUID) ресурса Office 365 Exchange Online в идентификаторе Microsoft Entra. Значение AppId одинаково в каждой организации, но значение Id отличается в каждой организации.

Подробные сведения о синтаксисе и параметрах см. в следующих статьях:

Что делать, если ресурс Office 365 Exchange Online недоступен в идентификаторе Microsoft Entra

Если следующая команда не возвращает результатов:

Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'"

Выполните следующие действия.

  1. Зарегистрируйте приложение в Microsoft Entra ID, как описано в разделе Шаг 1. Регистрация приложения в Microsoft Entra ID.
  2. Назначьте приложению разрешение Office 365 Exchange Online > Exchange.ManageAsApp API с помощью метода "Изменение манифеста приложения", как описано в разделе Шаг 2. Назначение разрешений API приложению.

После выполнения этих действий снова выполните команду Get-MgServicePrincipal , чтобы убедиться, что ресурс Office 365 Exchange Online доступен в идентификаторе Microsoft Entra.

Для получения дополнительных сведений выполните следующую команду, чтобы убедиться, что разрешение API Exchange.ManageAsApp (dc50a0fb-09a3-484d-be87-e023b12c6440) доступно в ресурсе Office 365 Exchange Online:

Get-MgServicePrincipal -Filter "AppId eq '00000002-0000-0ff1-ce00-000000000000'" | Select-Object -ExpandProperty AppRoles | Format-Table Value,Id

Теперь, когда ресурс Office 365 Exchange Online доступен, вернитесь к шагу 4.3 в этом разделе.

Шаг 5. Назначение ролей Microsoft Entra управляемому удостоверению

Поддерживаемые роли Microsoft Entra описаны в следующем списке:

¹ Роли глобального администратора и администратора Exchange предоставляют необходимые разрешения для любой задачи в Exchange Online PowerShell. Например:

  • Управление получателями.
  • Функции безопасности и защиты. Например, защита от нежелательной почты, защита от вредоносных программ, защиты от фишинга и связанные отчеты.

Роль администратора безопасности не имеет необходимых разрешений для этих задач.

2 Корпорация Майкрософт рекомендует использовать роли с наименьшими разрешениями. Использование учетных записей с более низкими разрешениями помогает повысить безопасность организации. Глобальный администратор — это очень привилегированная роль, которая должна быть ограничена сценариями чрезвычайных ситуаций, когда вы не можете использовать существующую роль.

Общие инструкции по назначению ролей в Идентификаторе Microsoft Entra см. в статье Назначение ролей Microsoft Entra пользователям.

  1. В Центре администрирования Microsoft Entra начните https://portal.azure.com/вводить роли и администраторы в поле Поиск в верхней части страницы, а затем выберите Роли и администраторы Microsoft Entra в результатах в разделе Службы .

    Снимок экрана: роли и администраторы Microsoft Entra в результатах поиска на домашней странице портала Azure.

    Или, чтобы перейти непосредственно на страницу ролей и администраторов Microsoft Entra , используйте https://portal.azure.com/#view/Microsoft_AAD_IAM/AllRolesBlade.

  2. На странице Роли и администраторы найдите и выберите одну из поддерживаемых ролей, щелкнув имя роли (а не флажок) в результатах. Например, найдите и выберите роль администратора Exchange .

    Найдите и выберите поддерживаемую роль Exchange Online PowerShell, щелкнув имя роли.

  3. На открывающейся странице Назначения выберите Добавить назначения.

    Выберите

  4. Во всплывающем окне Добавление назначений найдите и выберите управляемое удостоверение, созданное или идентифицированное на шаге 1.

    Когда вы закончите, нажмите Добавить.

  5. Вернитесь на страницу Назначения и убедитесь, что роль назначена управляемому удостоверению.

Чтобы назначить роль управляемому удостоверению в Microsoft Graph PowerShell, выполните следующие действия.

  1. Выполните следующую команду, чтобы подключиться к Microsoft Graph PowerShell с необходимыми разрешениями:

    Connect-MgGraph -Scopes RoleManagement.ReadWrite.Directory
    

    Если откроется диалоговое окно Запрашиваемые разрешения , выберите Согласие от имени организации и нажмите кнопку Принять.

  2. Чтобы назначить необходимую роль Microsoft Entra управляемому удостоверению, используйте следующий синтаксис:

    $RoleID = (Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq '<Role Name>'").Id
    
    New-MgRoleManagementDirectoryRoleAssignment -PrincipalId $MI_ID -RoleDefinitionId $RoleID -DirectoryScopeId "/"
    
    • <Имя> роли — это имя роли Microsoft Entra, как указано ранее в этом разделе.
    • $MI_ID — это значение идентификатора (GUID) управляемого удостоверения, сохраненного в переменной на шаге 2.

    Например:

    $RoleID = (Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Exchange Administrator'").Id
    
    New-MgRoleManagementDirectoryRoleAssignment -PrincipalId $MI_ID -RoleDefinitionId $RoleID -DirectoryScopeId "/"
    

Подробные сведения о синтаксисе и параметрах см. в следующих статьях:

Создание и настройка управляемого удостоверения, назначаемого пользователем

Ниже описана последовательность действий.

  1. (Необязательно) Создание управляемого удостоверения, назначаемого пользователем
  2. (Необязательно) Создание ресурса с управляемым удостоверением, назначаемого пользователем
  3. Хранение управляемого удостоверения, назначаемого пользователем, в переменной
  4. Добавление модуля PowerShell Exchange Online в управляемое удостоверение
  5. Предоставление API Exchange.ManageAsApp для управляемого удостоверения разрешения на вызов Exchange Online
  6. Назначение ролей Microsoft Entra управляемому удостоверению

После выполнения действий вы будете готовы подключиться к Exchange Online PowerShell с помощью управляемого удостоверения, назначаемого пользователем.

Шаг 1. Создание управляемого удостоверения, назначаемого пользователем

Если у вас уже есть управляемое удостоверение, назначаемое пользователем, которое вы собираетесь использовать, можно перейти к следующему шагу , чтобы создать ресурс с управляемым удостоверением, назначаемым пользователем.

В противном случае создайте назначаемое пользователем управляемое удостоверение на портале Azure, следуя инструкциям в разделе Создание управляемого удостоверения, назначаемого пользователем.

Чтобы создать управляемое удостоверение, назначаемое пользователем, в Azure PowerShell, выполните следующие действия.

  1. Подключитесь к Azure Az PowerShell , выполнив следующую команду:

    Connect-AzAccount
    
  2. При необходимости создайте группу ресурсов Azure для использования с управляемым удостоверением, назначаемым пользователем, выполнив следующую команду:

    New-AzResourceGroup -Name "<ResourceGroupName>" -Location "<Location>"
    
    • <ResourceGroupName> — это уникальное имя новой группы ресурсов.
    • <Расположение> — это допустимое значение из команды : Get-AzLocation | Format-Table Name.

    Например:

    New-AzResourceGroup -Name "ContosoRG2" -Location "West US"
    

    Полные инструкции см. в разделе Создание групп ресурсов.

  3. Используйте следующий синтаксис для создания управляемого удостоверения, назначаемого пользователем:

    New-AzUserAssignedIdentity -Name "<UserAssignedManagedIdentityName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>"
    
    • <UserAssignedManagedIdentityName> — это уникальное имя управляемого удостоверения, назначаемого пользователем.
    • <ResourceGroupName> — это имя существующей группы ресурсов, которую вы хотите использовать. Допустимые значения отображаются в выходных данных команды: Get-AzResourceGroup.
    • <Расположение> — это допустимое значение из команды : Get-AzLocation | Format-Table Name.

    Например:

    New-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2" -Location "West US"
    

    Подробные сведения о синтаксисе и параметрах см. в разделе New-AzUserAssignedIdentity.

Шаг 2. Создание ресурса с управляемым удостоверением, назначаемого пользователем

Если вы собираетесь использовать существующий ресурс, который уже настроен с управляемым удостоверением, назначаемого пользователем, можно перейти к следующему шагу. Поддерживаются следующие типы ресурсов:

  • Учетные записи службы автоматизации Azure
  • Виртуальные машины Azure

Создание учетных записей службы автоматизации Azure с управляемыми удостоверениями, назначаемых пользователем

Создайте учетную запись службы автоматизации, настроенную для управляемого удостоверения, назначаемого пользователем, с помощью инструкций из раздела Краткое руководство. Создание учетной записи службы автоматизации с помощью портала Azure.

Чтобы создать учетную запись службы автоматизации с управляемым удостоверением, назначаемого пользователем, в Azure PowerShell, выполните следующие действия.

  1. Подключитесь к Azure Az PowerShell , выполнив следующую команду:

    Connect-AzAccount
    
  2. Используйте следующий синтаксис для создания учетной записи службы автоматизации с управляемым удостоверением, назначаемого пользователем:

    $UAMI = (Get-AzUserAssignedIdentity -Name "<UserAssignedMI>" -ResourceGroupName "<MIResourceGroupName>").Id
    
    New-AzAutomationAccount -Name "<AutomationAccountName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>" -AssignUserIdentity $UAMI
    
    • <UserAssignedMI> — это имя управляемого удостоверения, назначаемого пользователем, которое вы хотите использовать.
    • <MIResourceGroupName> — это имя группы ресурсов, назначенной управляемому удостоверению, назначаемому пользователем. Допустимые значения отображаются в выходных данных команды: Get-AzResourceGroup.
    • <AutomationAccountName> — это уникальное имя новой учетной записи службы автоматизации.
    • <ResourceGroupName> — это имя группы ресурсов, которую вы хотите использовать, которое может иметь то же значение, что и <MIResourceGroupName>.
    • <Расположение> — это допустимое значение из команды : Get-AzLocation | Format-Table Name.

    Например:

    $UAMI = (Get-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2").Id
    
    New-AzAutomationAccount -Name "ContosoAzAuto2" -ResourceGroupName "ContosoRG2" -Location "West US" -AssignUserIdentity $UAMI
    

    Подробные сведения о синтаксисе и параметрах см. в разделе New-AzAutomationAccount.

Настройка виртуальных машин Azure с управляемыми удостоверениями, назначаемых пользователем

Инструкции см. в следующих статьях:

Шаг 3. Хранение управляемого удостоверения, назначаемого пользователем, в переменной

Используйте следующий синтаксис в Azure Az PowerShell , чтобы сохранить значение ClientId управляемого удостоверения, назначаемого пользователем, в переменной, которую вы будете использовать в следующих шагах:

$MI_ID = (Get-AzUserAssignedIdentity -Name "<UserAssignedMI>" -ResourceGroupName "<MIResourceGroupName>").ClientId
  • <UserAssignedMI> — это имя управляемого удостоверения, назначаемого пользователем.
  • <MIResourceGroupName> — это имя группы ресурсов, связанной с управляемым удостоверением, назначаемого пользователем.

Например:

$MI_ID = (Get-AzUserAssignedIdentity -Name "ContosoMI1" -ResourceGroupName "ContosoRG2").ClientId

Чтобы убедиться, что переменная успешно захвачена, выполните команду $MI_ID. Выходные данные должны иметь значение GUID (например, bf6dcc76-4331-4942-8d50-87ea41d6e8a1).

Подробные сведения о синтаксисе и параметрах см. в разделе Get-AzUserAssignedIdentity.

Шаг 4. Добавление модуля PowerShell Exchange Online в управляемое удостоверение

Действия для управляемого удостоверения, назначаемого пользователем, аналогичны действиям, описанным в шаге 3, назначаемом системой управляемому удостоверению.

Примечание.

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

Шаг 5. Предоставление API Exchange.ManageAsApp для управляемого удостоверения разрешения на вызов Exchange Online

Действия для управляемого удостоверения, назначаемого пользователем, такие же, как и в шаге 4, назначаемого системой управляемого удостоверения.

Хотя значения управляемых удостоверений были получены по-разному для назначаемых пользователем и системой, мы используем одно и то же имя переменной в команде ($MI_ID), поэтому команда работает для обоих типов управляемых удостоверений.

Шаг 6. Назначение ролей Microsoft Entra управляемому удостоверению

Шаги для управляемого удостоверения, назначаемого пользователем, в основном такие же, как в шаге 5 управляемого удостоверения, назначаемого системой.

На портале Azure обязательно выберите управляемое удостоверение, назначаемое пользователем , в качестве управляемого удостоверения, чтобы назначить роль Microsoft Entra (а не саму учетную запись автоматизации).

Команда PowerShell работает как для управляемых удостоверений, назначаемых пользователем, так и для управляемых удостоверений, назначаемых системой. Хотя значения управляемых удостоверений были получены по-разному для назначаемых пользователем и системой, мы используем одно и то же имя переменной в команде ($MI_ID).