Azure マネージド ID を使用して PowerShell に接続するExchange Online

Exchange Online PowerShell V3 モジュールを使用すると、ユーザー割り当てまたはシステム割り当て Azure マネージド ID を使用して、Exchange Online PowerShell に接続できます。 マネージド ID の詳細については、「 Azure リソースのマネージド ID とは」を参照してください。

Exchange Online PowerShell モジュールを使用する他の接続方法とは異なり、ローカル コンピューターのWindows PowerShell セッションで接続コマンドを実行することはできません。 代わりに、マネージド ID (Azure Automation アカウントや Azure Virtual Machine など) に関連付けられている Azure リソースのコンテキストで接続します。

この記事の残りの部分では、マネージド ID を使用して接続する方法と、Azure でマネージド ID を使用して適切なリソースを作成および構成するための要件について説明します。

注:

Exchange Online PowerShell では、この記事の手順を次の Microsoft 365 グループ コマンドレットで使用することはできません。

Microsoft Graph を使用して、これらのコマンドレットのほとんどの機能を置き換えることができます。 詳細については、「Microsoft Graph でのグループの操作」を参照してください。

V3 モジュールの REST API 接続には、PowerShellGet モジュールと PackageManagement モジュールが必要です。 詳細については、「 Windows での REST ベースの接続用 PowerShellGet」を参照してください。

システム割り当てマネージド ID を使用して PowerShell Exchange Onlineに接続する

システム割り当てマネージド ID を作成して構成したら、次の構文を使用して PowerShell Exchange Online接続します。

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

例:

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

このセクションの残りの部分では、サポートされている Azure リソースを使用して接続する方法について説明します。 例:

  • システム割り当てマネージド ID を持つAzure Automation アカウント上の PowerShell Runbook。
  • システム割り当てマネージド ID を持つ Azure VM。

リソースが接続されると、「手順 5: マネージド ID にMicrosoft Entraロールを割り当てる」で割り当てた RBAC ロールに基づいて、Exchange Online PowerShell コマンドレットとパラメーターを使用できます。

システム割り当てマネージド ID を持つAzure Automation アカウントを使用して、Exchange Online PowerShell に接続する

Automation アカウントに PowerShell Runbook を作成します。 手順については、「Azure Automationでの Runbook の管理」を参照してください。

PowerShell Runbook の最初のコマンドは、このセクションの Connect-ExchangeOnline... 冒頭で説明されているように コマンドである必要があります。 例:

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

その後、テストとして、より複雑なコマンドまたはスクリプトに進む前に、Runbook で単純で影響の少ないコマンドから始めることができます。 例:

Get-AcceptedDomain | Format-Table Name

PowerShell Runbook を正常に作成、保存、発行したら、次の手順を実行して将来実行します。

  1. [Automation アカウント ] ページで https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccounts、Automation アカウントを選択します。
  2. 開いた詳細ポップアップで、[検索] アイコンに「Runbooks」と入力します。[検索] ボックスを選択し、結果から [Runbook] を選択します。
  3. いた Runbook ポップアップ で、Runbook を選択します。
  4. Runbook の詳細ページで、[開始] を選択 します

システム割り当てマネージド ID を使用して Azure VM を使用して Exchange Online PowerShell に接続する

Azure VM のWindows PowerShell ウィンドウで、このセクションの冒頭で説明したように コマンドを使用します。 例:

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

ユーザー割り当てマネージド ID を使用して PowerShell Exchange Onlineに接続する

ユーザー割り当てマネージド ID を作成して構成したら、次の構文を使用して PowerShell Exchange Online接続します。

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

UserAssignedManagedIdentityClientIdValue> 値は、「手順 3: 変数にユーザー割り当てマネージド ID を格納する」から取得<します。

このセクションの残りの部分では、サポートされている Azure リソースを使用して接続する方法について説明します。 例:

  • ユーザー割り当てマネージド ID を持つAzure Automation アカウントの PowerShell Runbook。
  • ユーザー割り当てマネージド ID を持つ Azure VM。

リソースが接続されると、「手順 6: マネージド ID にMicrosoft Entraロールを割り当てる」で割り当てた RBAC ロールに基づいて、Exchange Online PowerShell コマンドレットとパラメーターを使用できます。

ユーザー割り当てマネージド ID を持つAzure Automation アカウントを使用して、Exchange Online PowerShell に接続する

Automation アカウントに PowerShell Runbook を作成します。 手順については、「Azure Automationでの Runbook の管理」を参照してください。

PowerShell Runbook の最初のコマンドは、このセクションの Connect-ExchangeOnline... 冒頭で説明されているように コマンドである必要があります。 例:

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

ManagedIdentityAccount の値は 、「手順 3: 変数にユーザー割り当てマネージド ID を格納する」から取得します。

その後、テストとして、より複雑なコマンドまたはスクリプトに進む前に、Runbook で単純で影響の少ないコマンドから始めることができます。 例:

Get-AcceptedDomain | Format-Table Name

PowerShell Runbook を正常に作成したら、次の手順を実行して将来実行します。

  1. [Automation アカウント ] ページで https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccounts、Automation アカウントを選択します。
  2. 開いた詳細ポップアップで、[検索] アイコンに「Runbooks」と入力します。[検索] ボックスを選択し、結果から [Runbook] を選択します。
  3. いた Runbook ポップアップ で、Runbook を選択します。
  4. Runbook の詳細ページで、[開始] を選択 します

システム割り当てマネージド ID を使用して Azure VM を使用して Exchange Online PowerShell に接続する

Azure VM のWindows PowerShell ウィンドウで、このセクションの冒頭で説明したように コマンドを使用します。 例:

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

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

システム割り当てマネージド ID を作成して構成する

手順は次のとおりです。

  1. (省略可能)システム割り当てマネージド ID を使用してリソースを作成する
  2. システム割り当てマネージド ID を変数に格納する
  3. Exchange Online PowerShell モジュールをマネージド ID に追加する
  4. マネージド ID がExchange Onlineを呼び出す Exchange.ManageAsApp API アクセス許可を付与する
  5. Microsoft Entraロールをマネージド ID に割り当てる

手順を完了すると、システム割り当てマネージド ID を使用して PowerShell Exchange Online接続する準備が整います。

手順 1: システム割り当てマネージド ID を使用してリソースを作成する

システム割り当てマネージド ID で既に構成されている既存のリソースを使用する場合は、 次の手順に進むことができます。 次のリソースの種類がサポートされています。

  • Azure Automation アカウント
  • Azure 仮想マシン (VM)

システム割り当てマネージド ID を使用してAzure Automation アカウントを作成する

「クイック スタート: Azure portalを使用して Automation アカウントを作成する」の手順を使用して、システム割り当てマネージド ID 用に構成された Automation アカウントを作成します。

Azure PowerShellでシステム割り当てマネージド ID を使用して Automation アカウントを作成するには、次の手順を実行します。

  1. 次のコマンドを実行して 、Azure Az PowerShell に接続します。

    Connect-AzAccount
    
  2. 必要に応じて、次のコマンドを実行して、Automation アカウントで使用する Azure リソース グループを作成します。

    New-AzResourceGroup -Name "<ResourceGroupName>" -Location "<Location>"
    
    • <ResourceGroupName> は、新しいリソース グループの一意の名前です。
    • <Location> は、 コマンドの有効な値です。 Get-AzLocation | Format-Table Name

    例:

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

    完全な手順については、「 リソース グループの作成」を参照してください。

  3. システム割り当てマネージド ID を使用して Automation アカウントを作成するには、次の構文を使用します。

    New-AzAutomationAccount -Name "<AutomationAccountName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>" -AssignSystemIdentity
    
    • <AutomationAccountName> は、新しい Automation アカウントの一意の名前です。
    • <ResourceGroupName> は、使用する既存のリソース グループの名前です。 有効な値は、 コマンドの出力に表示されます。 Get-AzResourceGroup
    • <Location> は、 コマンドの有効な値です。 Get-AzLocation | Format-Table Name

    例:

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

    構文とパラメーターの詳細については、「 New-AzAutomationAccount」を参照してください。

システム割り当てマネージド ID を使用して Azure VM を構成する

手順については、次の記事を参照してください。

手順 2: システム割り当てマネージド ID を変数に格納する

次の構文を使用して、マネージド ID の ID (GUID) 値を 、Azure Az PowerShell の今後の手順で使用する変数に格納します。

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

ResourceName <> は、Azure Automation アカウントまたは Azure VM の名前です。 例:

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

変数が正常にキャプチャされたことを確認するには、 コマンド を実行します $MI_ID。 出力は GUID 値である必要があります (例: 9f164909-3007-466e-a1fe-28d20b16e2c2)。

構文とパラメーターの詳細については、「 Get-AzADServicePrincipal」を参照してください。

手順 3: Exchange Online PowerShell モジュールをマネージド ID に追加する

Exchange Online PowerShell モジュールを、システム割り当てマネージド ID を持つアカウントをAzure Automationに追加する

ヒント

Azure portalの次の手順がうまくいかない場合は、Azure portal プロシージャの後で説明されているAzure PowerShellで New-AzAutomationModule コマンドを試してください。

  1. [Automation アカウント ] ページで https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccounts、Automation アカウントを選択します。

  2. 開いた詳細ポップアップで、[検索] アイコンに「モジュール」と入力します。検索ボックスを選択し、結果から [モジュール] を選択します。

  3. 開いた [ モジュール ] ポップアップで、[ モジュールの追加] アイコンを選択します。モジュールを追加します

  4. いた [モジュールの追加] ページで 、次の設定を構成します。

    • モジュール ファイルをアップロードする: [ギャラリーから参照] を選択します
    • PowerShell モジュール ファイル: [ここをクリックしてギャラリーから参照する] を選択します。
      1. 開いた [ギャラリーの参照] ページで、[検索] アイコンに「ExchangeOnlineManagement」と入力します。検索ボックスで Enter キーを押し、結果から [ExchangeOnlineManagement] を選択します。
      2. 開いた詳細ページで、[ 選択 ] を選択して[ モジュールの追加] ページに戻ります。
    • ランタイム バージョン: 5.1 または 7.1 (プレビュー) を選択します。 両方のバージョンを追加するには、このセクションの手順を繰り返して、モジュールの他のランタイム バージョンを追加して選択します。

    完了したら、[インポート] を選択 します

    Azure portalの Automation アカウントにモジュールを追加するスクリーンショット。

  5. [モジュール] ポップアップに戻り、[検索] アイコンに「ExchangeOnlineManagement」と入力します。[検索] ボックスをクリックすると、[状態] の値が表示されます。 モジュールのインポートが完了すると、値は [使用可能] になります

Azure PowerShellで Automation アカウントにモジュールを追加するには、次の構文を使用します。

New-AzAutomationModule -ResourceGroupName "<ResourceGroupName>" -AutomationAccountName "<AutomationAccountName>" -Name ExchangeOnlineManagement -ContentLinkUri https://www.powershellgallery.com/packages/ExchangeOnlineManagement/<LatestModuleVersion>
  • <ResourceGroupName> は、Automation アカウントに既に割り当てられているリソース グループの名前です。
  • <AutomationAccountName> は、Automation アカウントの名前です。
  • <LatestModuleVersion> は、ExchangeOnlineManagement モジュールの現在のバージョンです。 モジュールの最新の一般提供 (GA、非プレビュー) バージョンを確認するには、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」を参照してください。

Exchange Online PowerShell モジュールを、システム割り当てマネージド ID を使用して Azure VM に追加する

Exchange Online PowerShell モジュールを Azure VM にインストールします。 手順については、「Exchange Online PowerShell モジュールのインストールと保守」を参照してください。

手順 4: マネージド ID がExchange Onlineを呼び出す Exchange.ManageAsApp API アクセス許可を付与する

この手順の手順では、Microsoft Graph PowerShell SDK が必要です。 インストール手順については、「 Microsoft Graph PowerShell SDK のインストール」を参照してください。

  1. 次のコマンドを実行して、必要なアクセス許可を持つ Microsoft Graph PowerShell に接続します。

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

    [アクセス許可が要求されました] ダイアログが開いたら、organizationの代わりに [同意] を選択し、[同意] をクリックします。

  2. 次のコマンドを実行して、Microsoft Entra IDでOffice 365 Exchange Online リソースが使用可能であることを確認します。

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

    コマンドが結果を返さない場合、次の手順は機能しません。 続行する前に、このセクションの最後にあるサブセクションを参照して問題を解決してください。

  3. 次のコマンドを実行して、マネージド ID がExchange Onlineを呼び出す Exchange.ManageAsApp API アクセス許可を付与します。

    $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 は、 手順 2 で変数に格納したマネージド ID の ID (GUID) 値です。
    • $AppRoleIDは、すべてのorganizationで同じ Exchange.ManageAsApp API アクセス許可の ID (GUID) 値です。
    • $ResourceIDは、Microsoft Entra IDのOffice 365 Exchange Online リソースの ID (GUID) 値です。 AppId 値はすべてのorganizationで同じですが、id 値はorganizationごとに異なります。

構文とパラメーターの詳細については、次の記事を参照してください。

Microsoft Entra IDでOffice 365 Exchange Online リソースを使用できない場合の対応

次のコマンドが結果を返さない場合:

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

次の手順を実行します。

  1. 「手順 1: Microsoft Entra IDでアプリケーションを登録する」の説明に従って、Microsoft Entra IDでアプリケーションを登録します。
  2. >「手順 2: API のアクセス許可をアプリケーションに割り当てる」で説明されているように、"アプリ マニフェストの変更" メソッドを使用して、Office 365 Exchange Online Exchange.ManageAsApp API アクセス許可をアプリケーションに割り当てます

これらの手順を実行した後、Get-MgServicePrincipal コマンドをもう一度実行して、Office 365 Exchange Online リソースがMicrosoft Entra IDで使用可能であることを確認します。

詳細については、次のコマンドを実行して、Exchange.ManageAsApp API のアクセス許可 (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: マネージド ID にMicrosoft Entraロールを割り当てる

サポートされているMicrosoft Entraロールについては、次の一覧で説明します。

*グローバル管理者と Exchange 管理者の役割は、Exchange Online PowerShell のタスクに必要なアクセス許可を提供します。 例:

  • 受信者の管理。
  • セキュリティと保護機能。 たとえば、スパム対策、マルウェア対策、フィッシング詐欺対策、関連するレポートなどです。

セキュリティ管理者の役割には、同じタスクに必要なアクセス許可がありません。

Microsoft Entra IDでのロールの割り当てに関する一般的な手順については、「Microsoft Entra ロールをユーザーに割り当てる」を参照してください。

  1. のMicrosoft Entra 管理センターでhttps://portal.azure.com/、ページ上部の [検索] ボックスに「ロールと管理者」と入力し、[サービス] セクションの結果から [Microsoft Entraロールと管理者] を選択します。

    Azure portalのホーム ページの [検索結果] にMicrosoft Entraロールと管理者を示すスクリーンショット。

    または、Microsoft Entraロールと管理者ページに直接移動するには、 を使用https://portal.azure.com/#view/Microsoft_AAD_IAM/AllRolesBladeします。

  2. [ロールと管理者] ページで、結果でロールの名前 (チェック ボックスではなく) をクリックして、サポートされているロールの 1 つを見つけて選択します。 たとえば、 Exchange 管理者 ロールを見つけて選択します。

    役割名をクリックして、サポートされている Exchange Online PowerShell の役割を見つけて選択します。

  3. 開いた [ 割り当て] ページで、[ 割り当ての追加] を選択します。

    Exchange Online PowerShell の [役割の割り当て] ページで [割り当ての追加] を選択します。

  4. 開いた [ 割り当ての追加] ポップアップで、 手順 1 で作成または識別したマネージド ID を見つけて選択します。

    完了したら、[追加] を選択します。

  5. [ 割り当て] ページに戻り、ロールがマネージド ID に割り当てられていることを確認します。

Microsoft Graph PowerShell でマネージド ID にロールを割り当てるには、次の手順を実行します。

  1. 次のコマンドを実行して、必要なアクセス許可を持つ Microsoft Graph PowerShell に接続します。

    Connect-MgGraph -Scopes RoleManagement.ReadWrite.Directory
    

    [アクセス許可が要求されました] ダイアログが開いたら、organizationの代わりに [同意] を選択し、[同意] をクリックします。

  2. 次の構文を使用して、必要なMicrosoft Entra ロールをマネージド ID に割り当てます。

    $RoleID = (Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq '<Role Name>'").Id
    
    New-MgRoleManagementDirectoryRoleAssignment -PrincipalId $MI_ID -RoleDefinitionId $RoleID -DirectoryScopeId "/"
    
    • <[ロール名]> は、このセクションで前述したMicrosoft Entra ロールの名前です。
    • $MI_ID は、 手順 2 で変数に格納したマネージド ID の ID (GUID) 値です。

    例:

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

構文とパラメーターの詳細については、次の記事を参照してください。

ユーザー割り当てマネージド ID を作成して構成する

手順は次のとおりです。

  1. (省略可能)ユーザー割り当てマネージド ID を作成する
  2. (省略可能)ユーザー割り当てマネージド ID を使用してリソースを作成する
  3. ユーザー割り当てマネージド ID を変数に格納する
  4. Exchange Online PowerShell モジュールをマネージド ID に追加する
  5. マネージド ID がExchange Onlineを呼び出す Exchange.ManageAsApp API アクセス許可を付与する
  6. Microsoft Entraロールをマネージド ID に割り当てる

手順を完了すると、ユーザー割り当てマネージド ID を使用して PowerShell Exchange Onlineに接続する準備が整います。

手順 1: ユーザー割り当てマネージド ID を作成する

使用する既存のユーザー割り当てマネージド ID がある場合は、 次の手順 に進んで、ユーザー割り当てマネージド ID を使用してリソースを作成できます。

それ以外の場合は、「ユーザー割り当てマネージド ID を作成する」の手順に従って、Azure portalでユーザー割り当てマネージド ID を作成します

Azure PowerShellでユーザー割り当てマネージド ID を作成するには、次の手順を実行します。

  1. 次のコマンドを実行して 、Azure Az PowerShell に接続します。

    Connect-AzAccount
    
  2. 必要に応じて、次のコマンドを実行して、ユーザー割り当てマネージド ID で使用する Azure リソース グループを作成します。

    New-AzResourceGroup -Name "<ResourceGroupName>" -Location "<Location>"
    
    • <ResourceGroupName> は、新しいリソース グループの一意の名前です。
    • <Location> は、 コマンドの有効な値です。 Get-AzLocation | Format-Table Name

    例:

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

    完全な手順については、「 リソース グループの作成」を参照してください。

  3. ユーザー割り当てマネージド ID を作成するには、次の構文を使用します。

    New-AzUserAssignedIdentity -Name "<UserAssignedManagedIdentityName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>"
    
    • <UserAssignedManagedIdentityName> は、ユーザー割り当てマネージド ID の一意の名前です。
    • <ResourceGroupName> は、使用する既存のリソース グループの名前です。 有効な値は、 コマンドの出力に表示されます。 Get-AzResourceGroup
    • <Location> は、 コマンドの有効な値です。 Get-AzLocation | Format-Table Name

    例:

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

    構文とパラメーターの詳細については、「 New-AzUserAssignedIdentity」を参照してください。

手順 2: ユーザー割り当てマネージド ID を使用してリソースを作成する

ユーザー割り当てマネージド ID で既に構成されている既存のリソースを使用する場合は、 次の手順に進むことができます。 次のリソースの種類がサポートされています。

  • Azure Automation アカウント
  • Azure Virtual Machines (VM)

ユーザー割り当てマネージド ID を使用してAzure Automation アカウントを作成する

「クイック スタート: Azure portalを使用して Automation アカウントを作成する」の手順を使用して、ユーザー割り当てマネージド ID 用に構成された Automation アカウントを作成します。

Azure PowerShellでユーザー割り当てマネージド ID を使用して Automation アカウントを作成するには、次の手順を実行します。

  1. 次のコマンドを実行して 、Azure Az PowerShell に接続します。

    Connect-AzAccount
    
  2. ユーザー割り当てマネージド ID を使用して Automation アカウントを作成するには、次の構文を使用します。

    $UAMI = (Get-AzUserAssignedIdentity -Name "<UserAssignedMI>" -ResourceGroupName "<MIResourceGroupName>").Id
    
    New-AzAutomationAccount -Name "<AutomationAccountName>" -ResourceGroupName "<ResourceGroupName>" -Location "<Location>" -AssignUserIdentity $UAMI
    
    • <UserAssignedMI> は、使用するユーザー割り当てマネージド ID の名前です。
    • <MIResourceGroupName> は、ユーザー割り当てマネージド ID に割り当てられているリソース グループの名前です。 有効な値は、 コマンドの出力に表示されます。 Get-AzResourceGroup
    • <AutomationAccountName> は、新しい Automation アカウントの一意の名前です。
    • <ResourceGroupName> は、使用するリソース グループの名前です。MIResourceGroupName> と同じ値<を指定できます。
    • <Location> は、 コマンドの有効な値です。 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」を参照してください。

ユーザー割り当てマネージド ID を使用して Azure VM を構成する

手順については、次の記事を参照してください。

手順 3: ユーザー割り当てマネージド ID を変数に格納する

Azure Az PowerShell で次の構文を使用して、ユーザー割り当てマネージド ID の ClientId 値を、今後の手順で使用する変数に格納します。

$MI_ID = (Get-AzUserAssignedIdentity -Name "<UserAssignedMI>" -ResourceGroupName "<MIResourceGroupName>").ClientId
  • <UserAssignedMI> は、ユーザー割り当てマネージド ID の名前です。
  • <MIResourceGroupName> は、ユーザー割り当てマネージド ID に関連付けられているリソース グループの名前です。

例:

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

変数が正常にキャプチャされたことを確認するには、 コマンド を実行します $MI_ID。 出力は GUID 値である必要があります (たとえば、bf6dcc76-4331-4942-8d50-87ea41d6e8a1)。

構文とパラメーターの詳細については、「 Get-AzUserAssignedIdentity」を参照してください。

手順 4: Exchange Online PowerShell モジュールをマネージド ID に追加する

ユーザー割り当てマネージド ID の手順は、 システム割り当てマネージド ID の手順 3 と同じです。

注:

リソース グループ名と Automation アカウント名には、必ず正しい値を使用してください。

手順 5: マネージド ID がExchange Onlineを呼び出す Exchange.ManageAsApp API アクセス許可を付与する

ユーザー割り当てマネージド ID の手順は、 システム割り当てマネージド ID の手順 4 と同じです。

マネージド ID の値は、ユーザー割り当てとシステム割り当てで異なる方法で取得されましたが、コマンド ($MI_ID) では同じ変数名を使用しているため、コマンドは両方の種類のマネージド ID に対して機能します。

手順 6: マネージド ID にMicrosoft Entraロールを割り当てる

ユーザー割り当てマネージド ID の手順は、基本的に システム割り当てマネージド ID の手順 5 と同じです。

Azure portalで、(自動化アカウント自体ではなく) Microsoft Entra ロールを割り当てるマネージド ID として、ユーザー割り当てマネージド ID を選択してください。

PowerShell コマンドは、ユーザー割り当てマネージド ID とシステム割り当てマネージド ID の両方に対して機能します。 マネージド ID の値は、ユーザー割り当てとシステム割り当てで異なる方法で取得されましたが、コマンド ($MI_ID) では同じ変数名を使用しています。