Exchange OnlineでSend As, Send on Behalf, Full Accessが割り当てられているユーザーの抽出

権限の棚卸しやトラブルシューティングに

Exchange OnlineでSend As, Send on Behalf, Full Access(等のメールボックス権限)が割り当てられているユーザーの抽出を行うスクリプトが紹介されています。

Reporting Exchange Online Mailbox and SendAs/On Behalf Of Permissions – Office 365 for IT Pros

Shortly after publishing Reporting Exchange Online Mailbox Permissions, I received two notes. One was from Vasil Michev to say that I should have used the REST-based cmdlets from the Exchange Online Management module. The other was a reply to my note in the Microsoft Technical Community to point me to some script snippets covering “the other” mailbox-level permissions that you might assign over mailboxes.

Send As

Send As権限はその人を送信元として違う人がメールを送信できる権限です。これを用いてメールを送ると受信者は本人から送られてきたかSend As権限を割り振られたユーザーから送信されたのか判別できません。

例えばITサポート部門などの共用メールボックスのアドレスを複数人で共通の窓口として利用し、送信元もそのアドレスにしたい場合とかに利用しますかね。

Send on Behalf

Send on Behalf権限はSend Asと同様に送信元を他者が利用できる権限ですが、違いはSend on Behalfの場合は「誰々が代理で送信しました」、と相手に表示されます。

秘書が役職者の代わりにメールを送信する場合などで使われますね。

Full Access

Full Access権限は実利用者と同等の権限で、これを割り当てられている人はなんでもできちゃいます。

PowerShellから割り当てる場合、AutoMappingというパラメーターをfalseにしない限り、自動で割り当てられた人のOutlookにそのメールボックスが追加されます。GUIからだとAutoMappingは指定できないので割り当てるとその人のOutlookに対象のメールボックスが勝手に出てきます。

他人が送信元を語れたりメールボックスの中身を操作できる権限

この3つの権限は性質上誤って与えるとコンプライアンスやセキュリティ上非常に厄介なことになりますし(特にFull Access)、もし権限をしっかり管理していきたければ定期的に棚卸しも実施すべきかと思います。

また、ユーザーが「見に覚えのないメールが自分のアドレスから送信されている」、という報告があった際にも確認したい権限たちです。

全部別のPowrShell cmdletで取る必要があります

PowerShellのcmdletはオンプレミスExchangeサーバー含めて以下の通りです。Exchange Onlineは理由がない限りV2を使った方がよいでしょうね、特に多数を対象とする場合は。

参考情報:Exchange Online Powershell V2 module 更新情報とGet-EXOMailbox確認

Send As

  • EXO V2: Get-ExoRecipientPermission
  • EXO V1: Get-RecipientPermission
  • オンプレ: Get-ADPermission

Send on Behalf

  • EXO V2: Get-ExoMailbox
  • EXO V1: Get-Mailbox
  • オンプレ: Get-Mailbox

FullAccess

  • EXO V2: Get-ExoMailboxPermission
  • EXO V1: Get-MailboxPermission
  • オンプレ: Get-MailboxPermission
Translate »