💻

SharePoint Online ドキュメントライブラリに TTL を導入し一定期間超過したファイルを自動削除させる

2023/06/10に公開

この記事について

この記事では、SharePoint Online の 情報管理ポリシー 機能、または Microsoft Purview データライフサイクル管理機能のアイテム保持ポリシーおよび保持ラベルを駆使し、任意のドキュメントライブラリに TTL (Time-To-Live) の仕組みを導入する方法について記載しています。

TTL とは

TTL は、主にネットワークやデータベースの世界で語られ、通信のパケットや DNS キャッシュ、データベース内のレコードに対し、寿命のようなものを設定しているものを指します。

TTL を SharePoint Online ドキュメントライブラリに導入する意味

この TTL ですが、SharePoint Online でも同様に、ドキュメントライブラリ内のデータ (ファイル/アイテム) に特定の条件で寿命を持たせる形で実装を行うことができるようになっています。これは、SharePoint Online の 情報管理ポリシー、あるいは Microsoft Purview の アイテム保持ポリシー 機能を使用することで可能となるものです。
SharePoint Online のドキュメントライブラリに TTL を導入することで、組織は以下のことを実現し、SharePoint サイト、または組織全体における SharePoint Online テナント容量のデータ使用量を節約・効率化することが可能になります。

  • 一定期間を超えて操作されなくなったリストアイテム (ファイル) を SharePoint Online 上から削除する
  • 指定の条件を満たす、保存されているリストアイテム (ファイル) のバージョン履歴のみを削除する
  • 特定の条件を満たすリストアイテム (ファイル) について、ユーザーによる削除を防止する

情報管理ポリシーとアイテム保持ポリシー

SharePoint Online ドキュメントライブラリに TTL を導入する方法については、2 つの手段があります。
1 つは、レガシー機能ではありますが、昔から提供されている SharePoint Online の 情報管理ポリシー 機能です。これは、SharePoint サイトリスト (ライブラリ)、または コンテンツタイプ に対して追加するもので、指定した条件を満たすデータの自動削除などを行うことができるようになるものです。

https://learn.microsoft.com/ja-jp/sharepoint/intro-to-info-mgmt-policies

もう 1 つは、この機能の進化版である Microsoft Purview データライフルサイクル管理に含まれる アイテム保持ポリシー 機能です。これは以前は Microsoft Information Governance と呼ばれていたものであり、SharePoint Online 以外にも、メール (Exchange Online) や Microsoft TeamsYammer (Viva Engage) などに対して設定を行い、指定した条件を満たすデータの保持や自動削除などを行うことができるようになるものです。

https://learn.microsoft.com/ja-jp/microsoft-365/compliance/manage-data-governance?view=o365-worldwide

SharePoint Online サイトで情報管理ポリシーを導入する

まずは、ドキュメントライブラリに配置されたファイルの最終更新日時をキーとして、情報管理ポリシーによるファイルの TTL を導入してみます。
なお、以降の作業については、情報管理ポリシーを導入したいサイトのサイト管理者の権限を持つユーザーで実行してください。

サイトポリシー機能の有効化

サイトポリシー機能をアクティブにします。

サイトポリシー機能がアクティブになると、アクティブという表示が表示されるようになります。

ドキュメントライブラリに情報管理ポリシーを設定

ドキュメントライブラリの情報管理ポリシーを作成します。

ポリシーソースを ライブラリやフォルダー に変更します。

設定を変更しようとすると、確認画面が入るので、OK を選択してください。

そうすると、画面内に新しく [ライブラリ ベースの保持スケジュール] 項目が表示されるようになるので、保持ステージを作成します。

[ステージのプロパティ] ウインドウが新しく開くので、ファイルの TTL を設定します。
今回は、ファイルおよびフォルダの (最終) 更新日時から 1 年経過 したものについて、自動でサイトのごみ箱に移動するように設定しています。

各プルダウンで選択可能な値は、以下の通りです。 (2023/06/09 時点)

項目 選択肢
期間 登録日時
更新日時
宣言済みのレコード
期間の単位

ステージ開始時の処理 ごみ箱に移動
完全に削除
別の場所に移動
ワークフローの開始
次のステージにスキップ
レコード宣言
以前の下書きを削除
以前のバージョンをすべて削除

設定を保存すると、保持ステージに情報が追加されます。
ちなみに、保持ステージは複数作成可能です。

これで、設定した情報管理ポリシーの条件に従って、条件を満たしたファイルおよびフォルダーが自動でごみ箱に移動するようになります。
なお、情報管理ポリシーは 1 週間に 1 度の頻度 で発生するタイマージョブの実行によって削除されます。そのため、厳密には設定した保持ステージの内容と実際のファイル削除にはタイムラグが発生します。

ファイルだけ TTL を設定し、フォルダーは削除させたくない場合

先述のルールでは、ファイルもフォルダも関係なく条件に合致した場合に削除する仕組みになっています。
でもこれでは困る場合もあるでしょう。フォルダは残し、ファイルだけ削除したい、という場合には、コンテンツタイプを使って TTL を制御します。

コンテンツタイプの有効化については こちら の記事を見てください。

https://zenn.dev/ymasaoka/articles/take-advantage-of-spo-content-types#リストコンテンツタイプに作成したサイトコンテンツタイプを追加

これを行うことで、ドキュメントライブラリのビュー上でコンテンツタイプを確認することができるようになります。

画像を見るとわかる通り、既定では、

  • フォルダ: コンテンツタイプは Folder
  • ファイル: コンテンツタイプは ドキュメント

となっていることがわかります。よって、ファイルだけを TTL の対象としたい場合は、ドキュメント コンテンツタイプに対して情報管理ポリシーを設定すればいいわけです。

コンテンツタイプに応じて TTL を行う場合は、まず、ライブラリベースの保持スケジュールを コンテンツ タイプ に設定します。

その上で、TTL を導入したいコンテンツタイプに対して、情報管理ポリシーを設定します。
今回は、ドキュメント コンテンツタイプにのみ、情報管理ポリシーを適用します。

保持ステージを追加する... を選ぶと、ポリシーソースが ライブラリやフォルダー の時と同様に、ステージのプロパティ ウインドウが開きます。同様に TTL の設定を行います。
設定を行うと、保持ステージ情報が更新されます。
保持ステージを設定したら、忘れず OK ボタンを押して設定を保存しましょう。

これで、ファイルだけが TTL の対象になり、フォルダは TTL の対象外となります。

Microsoft Purview データライクル管理のアイテム保持ポリシーを SharePoint Online に適用する

先述の SharePoint の情報管理ポリシー機能は、実を言うと SharePoint Server の時代から存在するレガシー機能となります。
SharePoint Online では、新しく Microsoft Purview データライフサイクル管理 という機能が登場し、アイテム保持ポリシーの機能が内包されるようになりました。

https://learn.microsoft.com/ja-jp/microsoft-365/compliance/manage-data-governance?view=o365-worldwide

よって、今後は可能であれば、SharePoint Online では Microsoft Purview のアイテム保持ポリシーを使用して、ドキュメントライブラリ上のファイルの TTL を実現するのが望ましいです。
ただし、基本的に Microsoft Purview のデータライフサイクル管理におけるアイテム保持ポリシーの利用には、SharePoint Online に限って言えば SharePoint Plan 2 のライセンスが必要です。
また、Microsoft Purview データライフサイクル管理のアイテム保持ポリシーは、コンプライアンスセンターへのアクセス権、およびアイテム保持ポリシーの作成/編集権限を持つユーザーでないと実施ができないため、正直、社内の一般ユーザー目線では、SharePoint Online 情報管理ポリシーのほうが利用がしやすいです。

https://learn.microsoft.com/ja-jp/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/microsoft-365-security-compliance-licensing-guidance#microsoft-purview-data-lifecycle-management--microsoft-purview-records-management

では、実際に設定を行っていきます。なお、以降の作業は コンプライアンス管理者 を所持したユーザーで実施しています。
Microsoft Purview コンプライアンスポータルにアクセスし、[データ ライフサイクル管理] -> [Microsoft 365] -> [アイテム保持ポリシー] を選択します。
[新しいアイテム保持ポリシー] を選択し、TTL を行うためのアイテム保持ポリシーを作成します。

SharePoint サイトに対するアイテム保持ポリシーを設定する場合は、Policy Scope では何も入力しません。

作成するアイテム保持ポリシーの種類は、今回は 静的 を選択します。

ポリシーを適用する場所を選択します。アイテム保持ポリシーを導入する SharePoint Online サイトの種別によって、選択する項目が異なります。

対象の SPO サイト種別 有効化する場所
Microsoft 365 グループに接続されたチームサイト Microsoft 365 Group mailboxes & sites
クラシックサイト
コミュニケーションサイト
Microsoft 365 グループに接続していないチームサイト
SharePoint classic and communication sites

今回は、Microsoft 365 グループに接続された SharePoint サイトを対象とするため、Microsoft 365 Group mailboxes & sites だけ状態を有効に設定し、アイテム保持ポリシーの対象サイトを設定するため、編集 を選択します。

アイテム保持ポリシーを適用するサイトを検索し、設定します。
対象サイトのチェックボックスを入れるのは忘れないようにしましょう。

今回は、指定期間を超過したアイテムについて削除を行いたいので、特定の期間が経過した時のみアイテムを削除 を選択します。
削除の期間は情報管理ポリシーと異なり、かなり柔軟にカスタマイズができます。コンテンツを削除する基準については、アイテムの作成日時またはアイテムの最終変更日時のみ指定可能です。

設定値に問題がなければ、送信 を選択してアイテム保持ポリシーを登録します。

これで、アイテム保持ポリシーが適用され、指定した SharePoint Online サイト全体でアイテムの TTL が行われるようになります。
ここまでですでに勘づいている方もいるかもですが、TTL は指定した SharePoint Online サイト全体に適用 されます。つまり、アイテム保持ポリシーのみの設定では、特定のドキュメントライブラリだけを TTL の対象とすることができないのです。

特定の対象だけを削除するように機能させるためには、アイテム保持ポリシーだけでなく、保持ラベル の追加設定が必要になります。
例えば、SharePoint Online の サイトのページ ライブラリに含まれているファイル (Home.aspx) などは削除されたら困るため、別途、以下の対応を取る必要があります。

  • 無期限でアイテムを保持する保持ラベルを作成
  • アイテム保持ポリシーを適用しているサイトに保持ラベルを発行
  • 削除したくないファイルまたはライブラリに対し、保持ラベルを付与

基本的に、ライブラリ全体として削除したくない場合は、ライブラリ設定側で既定のラベルとして作成した保持ラベルを設定しておくのが無難でしょう。
ライブラリとしては TTL の対象とし、削除されたくないものがある場合については、個別にファイルやフォルダに対して保持ラベルを付与することも可能です。

SharePoint サイトに対して保持ラベルを発行してから、設定が反映されるまでには少し時間がかかります。保持ラベルが発行されると、ドキュメントライブラリの設定画面に保持ラベルの項目が表示されます。

ライブラリ自体の設定で、既定でどの保持ラベルを適用するかも設定が可能です。アイテム保持ポリシーによって削除されたくないドキュメント群がある場合は、ドキュメントライブラリを 1 つ専用に切るのもアリでしょう。

また、リストや通常のドキュメントライブラリにおいて、削除されたくないアイテムがある場合は、きちんと保持ラベルが設定されているか確認しましょう。

一括で保持ラベルを適用することも可能です。保存ボタンを押すのを忘れないようにしましょう。

まとめ

SharePoint Online の情報管理ポリシー機能と、Microsoft Purview のアイテム保持ポリシーの両方を触れましたが、やはり、現状はユーザー利便性を見ても、一般権限のユーザーが TTL を利用し始めるには、情報管理ポリシーの方が扱いやすそうです。
Microsoft Purview については、現状は、管理者側が SharePoint テナント全体に対して保持ポリシーを発行するなど、非常に重要な配慮を行う必要があります。この仕様では、エンタープライズ企業の管理者は非常に大変かなと思うので、今後の機能改善、および一般権限のユーザーが利用することを想定したユーザー利便性の向上に期待したいところですね。

参考情報

Discussion