Exchange Online Powershell を使用して特定の Exchange ロールをアプリのみの認証に割り当てる

Exchange Online Powershell を使用して特定の Exchange ロールをアプリのみの認証に割り当てる

無人接続で ExchangeOnline Powershell モジュールから次のコマンドレットを使用する必要があります。

  • 検疫メッセージの取得
  • プレビュー-検疫メッセージ
  • リリース-検疫メッセージ
  • エクスポート-検疫メッセージ
  1. この最初の文書に続いてhttps://learn.microsoft.com/en-us/powershell/exchange/app-only-auth-powershell-v2?view=exchange-ps自己署名証明書を使用して Azure アプリ登録を作成し、「Exchange.ManageAsApp」API アクセス許可を割り当ててから、同意を付与しました。

  2. 次に、Azure セキュリティ グループを作成し、アプリケーションをこのグループのメンバーとして追加しました。

  3. 次に、次のドキュメントに従って、Microsoft 365 Defender ポータルでカスタム ロールを作成しました。 ロールグループ

  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 ロールの作成

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

    PS > New-ServicePrincipal -AppId $AadApp.AppId -ServiceId $AadApp.ObjectId -DisplayName "ServicePrincipal For my app"

    PS > $SP = Get-ServicePrincipal -Identity "ServicePrincipal For my app"

    PS > Add-RoleGroupMember -Identity "<手順 1 で作成されたロール>" -Member $SP.Identity

運がなかった。

アップデート カスタム Exchange ロールを次のものだけに変更します: - メールボックスのインポートとエクスポート - メールボックスの検索 - MailboxSearchApplication - メッセージ追跡 - トランスポートの衛生 - 表示専用構成 - 表示専用受信者 うまく機能するようです。これが Microsoft 側で複製するのに時間のかかる別の変更ではないかどうか、週末に確認します。

関連情報