次の方法で共有


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

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 を使用して Exchange Online PowerShell に接続する

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

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

例:

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

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

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

リソースが接続されると、「手順 5: Microsoft Entra ロールをマネージド ID に割り当てる」で割り当てた 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. https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccountsの [Automation アカウント] ページで、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 を使用して Exchange Online PowerShell に接続する

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

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

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

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

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

リソースが接続されると、「 手順 6: Microsoft Entra ロールをマネージド ID に割り当てる」で割り当てた 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. https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccountsの [Automation アカウント] ページで、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. Exchange Online を呼び出すマネージド ID の Exchange.ManageAsApp API アクセス許可を付与する
  5. マネージド ID に Microsoft Entra ロールを割り当てる

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

手順 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 に追加する

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

ヒント

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

  1. https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Automation%2FAutomationAccountsの [Automation アカウント] ページで、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」を参照してください。

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

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

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

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

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

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

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

  2. 次のコマンドを実行して、Office 365 Exchange Online リソースが Microsoft Entra ID で使用できるかどうかを確認します。

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

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

  3. 次のコマンドを実行して、Exchange Online を呼び出すマネージド ID の 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 は、すべての組織で同じ Exchange.ManageAsApp API アクセス許可の ID (GUID) 値です。
    • $ResourceID は、Microsoft Entra ID の Office 365 Exchange Online リソースの ID (GUID) 値です。 AppId 値はすべての組織で同じですが、Id 値はすべての組織で異なります。

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

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

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

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: Microsoft Entra ロールをマネージド ID に割り当てる

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

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

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

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

² Microsoft では、アクセス許可が最も少ないロールを使用することをお勧めします。 アクセス許可の低いアカウントを使用すると、組織のセキュリティが向上します。 グローバル管理者は高い特権を持つロールであり、既存のロールを使用できない場合の緊急時に限定する必要があります。

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

  1. https://portal.azure.com/の Microsoft Entra 管理センターで、ページ上部の [検索] ボックスにロールと管理者の入力を開始し、[サービス] セクションの結果から [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
    

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

  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. Exchange Online を呼び出すマネージド ID の Exchange.ManageAsApp API アクセス許可を付与する
  6. マネージド ID に Microsoft Entra ロールを割り当てる

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

手順 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: Exchange Online を呼び出すマネージド ID の Exchange.ManageAsApp API アクセス許可を付与する

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

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

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

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

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

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