使用 Exchange Online Powershell 將特定 Exchange 角色指派給僅應用程式驗證

使用 Exchange Online Powershell 將特定 Exchange 角色指派給僅應用程式驗證

我需要透過無人值守連接使用 ExchangeOnline Powershell 模組中的以下 cmdlet。

  • 取得隔離訊息
  • 預覽-隔離訊息
  • 發布隔離訊息
  • 出口檢疫資訊
  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 入口網站中建立了一個自訂角色: https://learn.microsoft.com/en-us/defender-for-identity/role-groups

  4. 在此角色中,我新增了以下自訂權限:

  • 電子郵件隔離(管理)
  • 透過電子郵件發送高級操作(管理)並且只讀原始資料(電子郵件和協作)
  1. 當然,我將步驟 2 中建立的群組分配給了這個新角色

所有這些都允許我使用前 2 個 cmdlet,沒有任何問題,但我無法訪問出口檢疫資訊發布隔離訊息

我們可以透過這些命令列出此 cmdlet 所需的權限(從那裡: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"

但我仍然無法訪問出口檢疫資訊發布隔離訊息cmdlet。

更新

我嘗試以下方法https://learn.microsoft.com/en-us/powershell/exchange/app-only-auth-powershell-v2?view=exchange-ps#assign-custom-exchange-online-role-groups-to-the-應用程式使用服務主體

  1. 使用「傳輸衛生」+「安全管理員」建立自訂 Exchange 角色

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

    PS > New-ServicePrincipal -AppId $AadApp.AppId -ServiceId $AadApp.ObjectId -DisplayName“ServicePrincipal 對於我的應用程式”

    PS > $SP = Get-ServicePrincipal -Identity“ServicePrincipal 對於我的應用程式”

    PS > Add-RoleGroupMember -Identity "<步驟 1 建立的角色>" -Member $SP.Identity

沒有任何運氣。

更新 僅更改我的自訂 Exchange 角色: -郵箱匯入匯出 -郵箱搜尋 -MailboxSearchApplication -郵件追蹤 -傳輸衛生 -僅查看設定 -僅查看收件者似乎有效。我將放過週末,看看這是否是另一個需要時間在微軟端複製的更改

相關內容