[Exchange] 訴訟ホールドと保持ポリシー

# この記事について
Exchange Online では、コンプライアンスの一環でメールアイテムを一定期間保持する機能が標準で用意されている。
訴訟ホールドと保持ポリシーが該当するが、この2つの違いについて簡単にまとめた。

公式資料としては以下がある。

インプレース保持と訴訟ホールド
https://docs.microsoft.com/ja-jp/exchange/security-and-compliance/in-place-and-litigation-holds#in-place-hold-and-litigation-hold


# 必要なライセンス
Exchange Online Plan 2 
Exchange Online Plan 1 + Exchange Online Archiving For Exchange Online 
Exchange Online Kiosk + Exchange Online Archiving For Exchange Online 

P2 以上のライセンスがあれば利用できる。
Office 365 E3/E5 や Microsoft 365 E3/E5 にも当然含まれる。


# 訴訟ホールド
オンプレミス時代から用意されている機能で、メールボックスの内容をすべて保存する機能。
保存期間 (1日 ~ 無期限) は設定できるが、保存するアイテムなどの選択はできない。
設定はメールボックス単位になる。新しいメールボックスが作成されるたびに設定(有効化) が必要になる。

なお、注意事項として Teams のチャット履歴は保持が保証されていない。チャット内容はメールボックス内の隠しフォルダーに保存されているので、おそらく保持されると思われるが保持が確約されてるものではない。
Teams のチャット履歴の保持は、後述の保持ポリシーがサポートされた構成になる。

### 訴訟ホールドの設定
メールボックスに対する設定なので、Exchange 管理センター (EAC) や Remote PowerShell で設定可能。
公式資料としては以下。

　訴訟ホールドを作成する
　https://docs.microsoft.com/ja-jp/microsoft-365/compliance/create-a-litigation-hold?view=o365-worldwide


#### 1. Exchange 管理センターで設定する場合
対象のメールボックスを選択して下記赤枠の [訴訟ホールドの管理] をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/f023ca9b-1659-f596-746f-41aef8d9d3f2.png)

訴訟ホールドのスイッチを ON にして、期日の設定をして [保存] をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/9b63f470-2936-8695-bde3-5e9ce96a6ad6.png)

#### 2. Remote PowerShell で設定する場合
以下のように、対象のメールボックスに対して Set-Mailbox コマンドで設定。
>Set-Mailbox UserA -LitigationHoldEnabled:$True

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/b3b47358-5585-8966-c884-9679dd2a5ba9.png)

上記コマンドは、訴訟ホールドの有効化のみなので、保持期限は無期限として有効化される。
期日を指定する場合は以下のように実施する。(ここでは5年に設定)

> Set-Mailbox UserA -LitigationHoldEnabled:$True -LitigationHoldDuration 1825

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/8cb74731-02d8-57bd-2c10-75e8d4c6b0cf.png)

設定内容は Get-Mailbox コマンドで確認可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/3158a9fe-63b8-d60c-f775-7b5388f88543.png)
LitigationHoldOwner には、訴訟ホールドを設定した管理者アカウントが表示される。


# 保持ポリシー
もともと Exchange で用意されていた機能の1つだが、個人のメールボックスだけでなく共有メールボックスやパブリック フォルダーにも適用される。
また、Exchange だけでなく Teams や SharePoint などの Office 365 の各ワークロードに対して適用することができる。
ポリシーベースの設定なので、メールボックス個々の設定は不要。すべてに適用とすることもできるし、特定のメールボックスだけに適用や、その逆の特定のメールボックス以外に適用といった制御が可能。
訴訟ホールドと同様に、保存期間 (1日 ~ 無期限) も設定できる。

### 設定方法
Exchange 管理センターではなく、コンプライアンスの管理センターから。
https://compliance.microsoft.com/homepage

[情報ガバナンス] をクリックして [アイテム保持ポリシー] が該当する。
新規作成 [+] でウィザードを進めると、以下のようにポリシーを適用する場所(対象の製品) を選べる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/7cb9166a-1d41-2a78-8a5e-67e25643c193.png)

注意事項としては、Teams だけは Exchange や SharePoint 等の他の製品と同じポリシーとして設定することはできず、どちらかを有効にするともう片方は無効になる。
ここでは、Exchange のみを有効にして次に進むと以下設定画面となり、保持期限や期限終了後に削除するか？の設定が可能。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/3949aef8-47c7-6401-1d90-45f53513f55c.png)

設定が完了すると以下のように表示され、ポリシー適用に最大で24時間要する場合があるので注意。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/6097f506-33e4-0b59-06a6-f9d15e005097.png)

作成した保持ポリシーの状況は Remote PowerShell で確認できる。
まず、Get-RetentionCompliancePolicy コマンドで、作成した保持ポリシーの GUID を確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/a098c5bd-0357-165b-a547-147508a18a4b.png)

次に、Get-OrganizationConfig コマンドで、組織に割り当たている保持ポリシーを確認する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/d7dd44da-86c8-a5b6-918b-828f9f5a2d9c.png)

GUID を結びつけると以下になる。10年保持のポリシーが出てこないがこれはまだ組織に適用されていないことを示唆している。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/04e61b06-db1c-00d4-cbcb-41b4dd2dacb1.png)

GUI の前後に mbx とか grp や数字が記載されているが、これの見方は以下公式 Docs がある。

　アイテム保持ポリシーの InPlaceHolds 値の形式について
　https://docs.microsoft.com/ja-jp/microsoft-365/compliance/identify-a-hold-on-an-exchange-online-mailbox?view=o365-worldwide#understanding-the-format-of-the-inplaceholds-value-for-retention-policies
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/ede9d13d-dcb6-9ba7-e1e9-85b189f41951.png)

保持ポリシーの以下設定箇所で、"含む" も "除外" も指定しなかった場合は、組織に適用された保持ポリシーが自動的に適用される。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/e6c783e5-5133-c63e-f51d-45dcf01af8f2.png)

ここで、特定のメールボックスにのみ適用する設定をした場合は、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/fac69ea5-3ae8-2922-816e-dc0e58250e2f.png)

以下のように指定したメールボックスにのみポリシーが適用されている状況を確認できる。最後に 2 があるので保持のポリシーということもわかる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/96eb8491-ea29-585e-eb4c-52434a1a9b48.png)

逆に、特定のポリシーが提供されるのを除外した場合は、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/7f13359b-e8be-b94d-c4c2-400ec73fafe2.png)

以下のように除外したメールボックスの設定として以下のように見えるようになる。また、GUID の前に "-" マイナスがあるので、除外を示している。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/5c430235-b312-b60f-2fdb-e44e3214a359.png)

公式資料としては以下。
Teams や Yammer 以外の場所のアイテム保持ポリシー
https://docs.microsoft.com/ja-jp/microsoft-365/compliance/create-retention-policies?view=o365-worldwide#retention-policy-for-locations-other-than-teams-and-yammer

なお、Teams チャットの内容も保持する必要がある場合は、別途 Teams 用の保持ポリシーを作成して適用する必要がある。

Teams の場所のアイテム保持ポリシー
https://docs.microsoft.com/ja-jp/microsoft-365/compliance/create-retention-policies?view=o365-worldwide#retention-policy-for-teams-locations


#### <注意事項>
保持ポリシーの設定では少し注意が必要な場合がある。
例えば、対象を限定したり除外する場合はグループを指定することも可能だが、グループのメンバーシップの変更は考慮されないので要注意。
例として Grp001 というグループに以下メンバーが参加してる状態で除外対象として設定する。

Grp001
　|-- UserA
　|-- UserB
　|-- UserC  

しばらくして、新たなユーザーとして UserD を Grp001 に追加しても、除外とはならず組織のポリシーとして保持ポリシーが適用されることになる。
あくまで、設定時のメンバーシップの情報をもとに構成されるもの。

また、ポリシーの適用先の指定や除外をしなかった場合、先述の通りすべてのメールボックスに適用されることになるので、共有メールボックスにも適用される。
このとき、共有メールボックスはライセンス不要のリソースなので、この保持を維持する場合は別途ライセンスの付与が必要になるので要注意。

https://docs.microsoft.com/ja-jp/microsoft-365/admin/email/about-shared-mailboxes?view=o365-worldwide
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1307699/113462da-70c8-6349-9270-06a3cef53bee.png)

共有メールボックスの保持が不要な場合は、除外対象として設定する必要がある。


# まとめ
訴訟ホールドまたは保持ポリシーのいずれかの設定をすることで、ユーザーが削除したり編集しても、残り続けるので監査可能になる。
要件次第でもあるが、トレンドとしては訴訟ホールドではなく保持ポリシーによる運用が推奨されているように思える。

保持が有効な場合の削除されたアイテムがどのように処理(保持) されているのか？や、保持し続けたらメールボックスの容量があふれるのでは？という観点はまた別途まとめる予定。