カテゴリ「Microsoft 365 - SharePoint」の374件の投稿 Feed

2025年12月28日 (日)

Copilot Studio で作成するAI エージェントのツールとしてMCP(モデル コンテキスト プロトコル)サーバーを追加できますが、現在、SharePoint に関するMCPサーバーも利用できるようになっています。SharePoint を利用するので、Microsoft 365 Copilot のライセンスは必要です。

利用できるのは次の2つです。なお、これらは現在 Frontier プログラムの一部となっています。

  • Microsoft SharePoint Lists MCP

  • Microsoft SharePoint and OneDrive MCP

20251228_195226

この記事では SharePoint Lists MCP について説明します。

なお、今回の説明で使用しているモデルは GPT5-Auto (Preview) であり、プライマリ言語は日本語です。日本語でどこまで動作するのか試したくて。

Microsoft SharePoint Lists MCP とは?

このMCPをエージェント内でツールとして利用することでエージェントと自然な会話をしながら、SharePoint サイト内のリストを操作できます。

SharePoint Lists MCP サーバーに関する公式ドキュメントは次の通りです。

SharePoint Lists Tools MCP サーバー リファレンス | Microsoft Learn

ただし、Copilot Studioで利用する際にすべてこのドキュメントに書かれている通りに操作できるわけでもないようで、注意点などを含めてこの記事にまとめておきます。

※あくまでも 2025/12/28現在の情報であり今後いろいろとアップデートされていくことになると思います。

余談ですが上記ドキュメントに書かれている通り、この MCP ではすべての操作はMicrosoft Graph API v1.0 を使用しています。そのため、ある程度 Graph API v1.0 の知識があるとどうやってやり取りしたらいいかの勘所はつかみやすくなると思いますし制限もイメージしやすいと思います。

主な機能

このMCPサーバーで行える操作は次の通りです。

サイトの操作

  • 名前または URL でサイトを検索する
  • ホスト名とパスでサイトを解決する
  • サブサイトの一覧
  • サイト内のリスト一覧

リストの管理

  • 新しい SharePoint リストを作成する
  • 対応しているのはgenericList のみ
  • ドキュメント ライブラリの作成はサポートされない (試すと404エラーとなる)

列の操作

  • リスト内のすべての列を一覧表示する
  • 列の削除

アイテムの操作

  • アイテム取得(listListItems)
  • アイテム作成(createListItem)
  • アイテム更新(updateListItem、ifMatchで同時編集制御可)
  • アイテムの削除

サポートされる列の種類

  • 1行テキスト
  • 複数(プレーンテキスト、リッチ テキスト)
  • 数値 (小数点以下の桁数、最小値、最大値を含む)
  • 選択肢 (単一選択および複数選択)
  • はい/いいえ
  • 日付と時刻 (日付のみ、または日時)
  • ユーザーまたはグループの列 (単一選択および複数選択)
  • 参照
  • ハイパーリンク

サポートされていない機能

上記の機能以外は現時点ではサポートされていません。詳しくは先ほどの公式ドキュメントも確認してみてください。列の追加や編集ができたらいいなと思ったんですが、そこは難しそうですね。ちなみにドキュメント ライブラリを対象にファイル操作をしたい場合は、SharePoint and OneDrive MCPを使う必要があります。

MCPの追加

ツールタブから新しいツールとしてモデルコンテキスト プロトコルの一覧から Microsoft SharePoint Lists MCP を追加します。

追加すると、「ツール」に操作一覧が表示されます。必要な操作のみを許可することも可能ですが、ここでは一通りの処理を検証するため既定値のすべてオンのまま利用します。

20251227_100232 このツールを追加してチャットで利用する場合は(テストチャットを含む)、接続の許可が必要です。

20251227_100746_2

操作編

サイトの名前やURLを取得する

サイト名やURLの取得につかえるのは次の2つの操作です。リストを操作する際にまずは対象のリストが存在するサイトのURLが必要になるため、まずはサイトの情報の取得方法を覚えておきましょう。

英語名ですが名称からできることは推測できます。

  • searchSitesByName
  • getSiteByPath

searchSitesByName を利用できるということは、サイトの表示名や部分的なURLからサイトをできるようになっているということです。そのためサイト名が分かっていれば次のように目的のサイトの情報を取得できます。

例) 「Copilot Studio 入門」という名前のサイトの情報を取得して

20251227_100846

getSiteByPath はURLが分かっている場合にサイトの情報を取得できるということです。

例) 「次のURLのサイトの情報を知りたい。
<サイトのURL>」

20251227_101418

リストの取得

特定のサイトのリスト一覧を取得できる操作が利用できます。

  • listLists

たとえば、次のように指示します。

例)「次のURLにあるリストの一覧を表にしてほしい。<サイトのURL>」

20251227_102030 単にリストを一覧表示してほしいと依頼すると Hidden属性が True のものも表示されます。では次のように指示して、Hidden属性も表示させましょう。

例)「次のURLにあるリストの一覧を表にしてほしい。Hidden属性も表示すること。<サイトのURL>」

20251227_103611

Hidden属性は隠しリストであるかどうかを示すもので、一般的にはシステムが使うリストは Hidden属性がTrueになっています。そのため、一般利用のリストの一覧を取得したい場合は、「次のURLにあるリストの一覧を表にしてほしい。Hidden属性がTrue のものは除外して表示して。」と依頼するといいでしょう。

またリストにはドキュメント ライブラリも含まれます。ドキュメント ライブラリもリストの一種であるためです。もしリストのみにしたいのであれば、「ドキュメント ライブラリは除外して」「BaseType eq 0 のものだけにして」などと指定します。ちなみにライブラリのみにしたい場合は「ドキュメント ライブラリだけを対象にして」「BaseType eq 1 のものだけにして」などと指定します。

20251227_105207


Tips

設定メニュー内の「生成AI」の項目から「コードインタープリター」を有効化していれば、Excel への出力もできます。

20251227_102540

実際に Excel への出力を依頼するとすぐに作成してくれます。

20251227_105349


特定のリストを取得する

サイトのURLとリスト名が分かっている場合は次のように指定することも可能です。

  1. まず目的のサイトを取得する
  2. リスト名を指定してリストを取得する

20251227_113621

リストを新規に作成する

createList操作がサポートされており、リストの新規作成が可能です。ただし、現時点ではupdateList がサポートされていないためリスト名の変更などは対応していません。

例) 「このサイトに"図書の貸出台帳"という名前のリストを作成してください」

20251227_112359

列の操作

列の操作としては listListColumn と deleteListColumn がサポートされています。つまり既存の列の一覧および削除ができます。createListColumn やgetListColumn やupdateListColumnがサポートされていないため、列の新規追加、特定の列情報の取得や更新はできません。

ちなみに、公式ドキュメントには createListItem は掲載されているのですが、実際に追加したツールの操作一覧には表示されておらず、列の新規作成を依頼しても、誤ってリストアイテムを作成しようとします。今後、サポートされるといいですね。

さて、リストの列の取得は可能です。一覧を取得してみましょう。

例) 「このリストの列を一覧にしてください」

20251227_133946


Tips

決まったリストを操作するのに毎回サイトのURLやリスト名を指定するのは面倒です。このように特定のリストに対して繰り返し処理を行う場合は、指示に最初からサイトのURLとリスト名を指定しておくと便利です。

使用するURLはダブルクォーテーションで囲み、末尾には/を追加しないようにしましょう。末尾にスラッシュをうっかり追加してしまうだけで正しく回答してくれなくなります。

20251228_165157


アイテムの新規追加、更新、削除

アイテムの新規追加、更新、削除がサポートされています。

  • createListItem…新規追加
  • updateListItem…更新
  • deleteListItem…削除

例えば、次のような依頼をすることで新規にアイテムを追加できます。

例)「リストの列を確認したうえで、次のアイテムを追加してください。
タイトル: データ分析の基礎
貸出日: 2025-12-18
返却期限: 2026-01-08
状態: 貸出中
備考: 演習問題付き」
20251228_165327

特定の列の値を変更したい場合は次のように指示できます。

例) 「次の書籍名の貸出者をそれぞれ更新してください。
-プロジェクト マネージメント入門: 佐藤 花子
-データ分析の基礎: 鈴木 太郎
- クラウドサービス 活用ガイド: 高橋 正樹」

20251228_165813

ここまではシステム管理者っぽく操作をしてきましたが、エージェントがあれこれ推論してくれるため、もっとフランクにやり取りすることもできます。たとえば、次のようなやり取りです。

例) 「これから3日間借りられそうな本はありますか? 」

これに対して利用可能な書籍をリストアップして回答してくれます。

20251228_171051

そのまま貸し出しを依頼することもできます。この場合、エージェントが先回りして特に指示しなくても、貸出日や返却期限、貸出者なども更新してくれます。
※返却日を空にするところまではしてくれませんでしたが。

20251228_171526

リスト操作に不足する機能をどう補うか考える

ここまで見てきたように SharePoint Lists MCPではリストに対して、かなりのことが自然な会話のやり取りで操作できます。ただし、不足する機能があれば、適宜、リストの「ルール」を使うことも検討する必要があります。今回は貸し出し管理が題材でしたが、例えば、返却されたら貸出日と返却予定日を空にするようにルールを作成しておくと、対応がスムーズです。もちろん、これをAIエージェントの指示に書くことも可能ですが、ルールのほうがより確実です。

現時点ではまだサポートされる機能が十分でないところもあります。必要があれば、Power Automate などを使って機能を補うことも考慮する必要があります。

まとめ

ここまで、SharePoint Lists MCP の機能について詳しく説明してきました。これまで、リスト操作はフィルターや検索くらいしかできませんでした。それが、自然な会話形式であれこれやり取りできるのは画期的で、驚きました。

ただ、欲を言えばリストの更新、列の追加、列の変更がサポートされるようになるといいのになと思います。例えば、図書の貸し出し管理をしたいので、リストと列を提案してほしいという。この時に、日本人が引っ掛かりやすい表示名と内部名の問題も、Copilot に考案してもらい、それをそのままリスト化できるといいんですけどね。将来に期待しましょう。

ぜひ、ご自身でもいろいろと試してみてください! なかなか楽しいですよ。

今年、最後のご挨拶

さて、2025年も残すところあと3日です。本年のブログはこの記事をもって終わりとします。

今年一年を簡単に振り返ってみると、初の試みとして SharePoint の勉強会コミュニティを立ち上げました。またメインの講師業としては、8月から Copilot Studio の入門者向け研修コースの開発をはじめ、11月に次の研修コースのリリースしました。

【オフィスアイ株式会社】Microsoft 365 Copilot ユーザーのためのCopilot Studioで始めるAIエージェント開発入門

新コースのリリース以降は、このブログでも生成AIおよび Copilot に関する情報を記事に書き始めましたが、来年も引き続きSharePoint が中心となりますが情報発信を続けていく所存でおりますので、皆様どうぞご期待ください。勉強会も不定期ですが来年もまた開催します。

そうそう、Microsoft 365 Copilot の中核を担っているのは SharePoint だといっても過言ではありませんし、今後ますます重要になりますから。


🗻🐍では、皆様、よい年をお迎えくださいませ🐎🎍


2025年12月14日 (日)

Adobestock_1575508426

この記事は、Microsoft 365 Advent Calendar 2025 に参加しています。※公開が予定より少し遅れてすみません💦

🎄 Microsoft 365 Advent Calendar 2025 - Adventar ⛄

SharePoint のリストやライブラリのURLは、新規作成時にリスト名やライブラリ名を日本語で指定すると、List, List1, List2,  や DocLib, DocLib1, DocLib2,,,, というようなパスを見ても一見よくわからないURLが生成されます。マルチバイトだと対応できないのが原因で、英語だとリスト名やライブラリ名がそのままパスとして利用されます。ですから、URLをわかりやすくしたければ、そもそも最初から英語表記で書いておくのが無難ではあります。

さて、こんな時にパスを、リストやライブラリ作成後に意味のある名称に変えることができるのですが、これには SharePoint のAPIを使う必要があります。PowerShellでも設定できますが、Power Automate を使うほうが慣れている人も多いでしょうから、SharePoint REST APIを使った変更方法をご紹介しましょぅ。

⚠️注意

ちなみに、当然ではありますが、後からURLを変更するとすでにそのURLを告知している人はリンク切れになるので注意してください。

⚙️Power Automate クラウド フローの実装

さて、Power Automate のクラウドフローで例えば、「フローを手動でトリガーする」アクションから始めてみましょう。つづいて SharePointコネクターの 「SharePointにHTTP要求を送信します」アクションを追加します。

20251214_013749

このアクションでパラメーターを次のように指定していきます。

SharePoint API リクエスト情報
項目 内容
サイトのアドレス 目的の SharePoint サイトのアドレス(※末尾に / は不要)
方法 POST
URI _api/web/lists/getbytitle('<目的のリスト名>')/RootFolder/MoveTo(newurl='変更後のURLパス')
ヘッダー Accept: application/json;odata=verbose
Content-Type: application/json;odata=verbose
IF-MATCH: *
X-HTTP-Method: MERGE

パスの指定はリストとライブラリで異なります。

  • リスト… Lists/<新しいパス> ※リストは Lists というパスの配下に各リストのが作られる
  • ライブラリ…<新しいパス> ※ライブラリはサイトの直下に作られる

あとはフローを保存して、テスト実行してみるとURLパスが変わることが確認できます。

🧪実際に試そう!

たとえば、次のようにリストのURLを変更してみましょう。

変更

https://officeilearning.sharepoint.com/sites/Training-PowerAutomate-Advanced/Lists/DemoList

20251214_014029

変更

https://officeilearning.sharepoint.com/sites/Training-PowerAutomate-Advanced/Lists/
MerryChristmas

実際の画面の例は次の通りです。

20251214_014434実行後は元のURLにアクセスすると 404 Not Found エラーになります。URLを変更したためそのページは存在しないといわれるのです。

改めて新しいパスにアクセスするとパスが変更されたことが確認できます。

20251214_014739

まとめ

SharePoint のリストやライブラリのパスは一度作成したら変更できないと思い込んでいる方も少なくないと思いますが、こうやって比較的手軽に変更できるんですよ。

以上、オンプレミスの SharePoint時代からある REST API の Tips でした。

では皆様、素敵な🎅🏻 Happy Holidays 🎄をお過ごしください。

研修の紹介

弊社では Power Automate の入門者向け研修から、JSONや関数の使い方を体系立てて身に着ける上位研修までご用意しています。Copilot Studio によるAIエージェント構築では、エージェントフローが利用ができるようになっていますが、Power Automate が基盤となっており基礎知識は欠かせません。

体系立てた知識やスキルを身に着けたい方はぜひご受講もご検討ください。

2025年12月11日 (木)

先日(2025/12/8)に実施したMicrosoft 365 SharePoint 勉強会の第2回目の資料と録画を公開しています。

2回目のお題は OneDrive (Business) の基礎と最新情報です。

Microsoft 365 Copilot などによる AI エージェントが組織に導入される際に欠かせないのがドキュメント管理であり、その基盤の一つが OneDrive です。同期の話やAIエージェントの今後の展望も含めて説明しています。

今後も不定期で勉強会(無料)を行っていく予定です。ご興味のある方は下記 Connpass のページをご参照ください。

Microsoft 365 SharePoint 勉強会 - connpass

録画

スライド

先日(2025/10/31)実施したMicrosoft 365 SharePoint 勉強会の第1回目の資料と録画を公開しています。

初回のお題は SharePoint ナレッジエージェントです。 SharePoint でのナレッジマネージメントに関して機能の紹介だけでなく、今後、ナレッジマネージメントの基盤を十分に管理をしていくうえで何学んでおくべきかについても、弊社で行っている研修を含めご紹介しています。

今後も不定期で無料の勉強会を行っていく予定です。ご興味のある方は下記 Connpass のページをご参照ください。

Microsoft 365 SharePoint 勉強会 - connpass

録画

(補足) 勉強会中に説明している「SharePoint Premium」 は現在、「Microsoft 365 ドキュメントのドキュメント処理」という名称に変わっており、名称自体がいつの間にか消滅しているようです。その前の名称の SharePoint Syntex はまだドキュメントに記載が一部残っています。 なお、11月にはSharePoint ナレッジエージェントは2026年初頭に Microsoft 365 Copilot に全機能を含めるという発表がありました。

スライド

2025年12月 3日 (水)

Adobestock_361953779Microsoft 365 Copilot などの生成AI およびナレッジマネージメントの観点でのデータ整備が待ったなしとなってきています。

データ整備の観点はいろいろと考えられますが、例えば次の3つの仕組みはいまでこそ Microsoft Purview に役割および機能が移管していますが、実は SharePoint がもともと標準搭載していたものです。

  • 秘密情報保護
  • コンテンツのライフサイクル管理と監査ログ
  • レコード管理

このあたり過去の経緯をご存じない方も多くなっていると思うので、どういういきさつで現在に至っているのかなど踏まえてみたいと思います。

機密情報保護

SharePointで機密情報を保護するために行うべきことというのはまずはコンテンツに対する適切なアクセス権限設定を行うことです。不必要にコンテンツの所在を明らかにしないことです。機密情報の存在自体を不必要な範囲に公開しないようにすることで、うまく情報を隠蔽できます。「存在を知らない」物は例えば外部に流出させようがないわけです。

ただし、これだけでは十分な守りとは言えません。実際には情報を持ち出して漏洩させるのは「適切なアクセス権限を持っているユーザー」であるということです。よく顧客リストの流出などがニュースになることがありますが、これも日頃、こうした情報にアクセスできるからこそ、不意もしくは故意に流出させるリスクがあります。

Microsoft Purview につながる機密保持の仕組みが登場したのは、2003年ごろにさかのぼります。Microsoft は Windows Server 2003 向けに、データ漏洩防止 (Data Loss Prevention) を行うためにRights Management Servies (RMS) というサービスをリリースしました。これはサーバークライアント型のモデルとなっており、Information Rights Management (IRM)クライアントというソフトウェアと共に使うようになっており、主にはOffice アプリケーションに追加インストールできるようになっていました。

その後、RMSは Windows Server 2008から Active Directory Rights Manaement Services (AD RMS) と名称を変更し、Active Directoryと統合されます。これがクラウド環境になると Azure RMS が登場し、現在は Microsoft Purview Information Protectionに統合されています。

またIRM機能は Office 2007 以降、Office アプリケーションに標準搭載されるようになります。IRM機能を利用すると、例えば適切な権限を持っていてExcel ファイルは開けるけれど、別名でのファイル保存や印刷ができないよう一部の操作が制限させる。また、適切なアクセス権限を持っていなければ社外にファイルが流失しても暗号化が施されているのでファイルが開けない。というように、適切な権限を持つユーザーが情報流出できないようにファイルを暗号化したり、一部のアプリケーション操作を制限したり、参照できる期限を限定することなどがができたのです。

オンプレミスのサーバーであったSharePoint Server 2007以降、ドキュメントライブラリはIRM機能が統合できるようになっていました。もともとファイル単位での構成が必要なのですが、これをユーザーがファイルごとに判断して利用するのは煩雑で徹底できない。そこで、SharePoint のドキュメントライブラリにIRM設定を行っておくことで、このライブラリにアクセスできるユーザーは印刷ができないなどの一括設定をしておけたのです。

この機能は、現在は Microsoft 365 環境下では Microsoft Purivew で構成・管理する「秘密度ラベル」に移管されています。といっても、いまだにドキュメント ライブラリにはInformation Rights Management の設定は残ってはいます。ですが、この機能は下位互換のために残されていると考えるのが妥当であり非推奨になっています。

20251203_135239

20251203_140035

余談ですが、このRMSと IRM の仕組みは長年提供されてきましたが、なかなか流行はしなかったのです。理由の一つは「利便性とセキュリティのトレードオフ」にあります。IRM時代は現在の秘密度ラベルに比べるといろいろと運用上の課題も多く、この設定でかえって業務効率が下がるという声も少なくなかったようです。

※当時はRMSとIRMはデモ環境を構築するだけでも、いろいろと構成が難しくとても苦労した覚えがあります。特に一番最初のリリース時などは情報がほとんどなく手探りでの構築でIRMからの認証が通らないとか、内部的にロックボックスができるとか、Microsoft に聞かないとよくわからないことも多かったんですよね。。。今のクラウド環境はそういった悩みがなくすぐ使えるのでいい時代になりました。。。

「セキュリティを高める」ことと「利便性を担保する」ことはなかなか両立しづらいものですが、現在の Microsoft Purviewのアップデートを追かけてみている限り、利便性をうまく担保できるようにずいぶんと改善がされてきているなと感じます。

ということで、Microsoft Purview で利用できる「秘密度ラベル」はもともとはファイル単位で設定するものであり、だれがどの秘密度ラベルを使えるのかは管理者側で決定します。Microsoft 365 環境ではファイル単位での利用以外に、コンテナ単位での利用も可能で Microsoft 365 グループや SharePoint サイトへ適用することもできます。コンテナ単位の場合は、例えばMicrosoft 365 グループの場合は外部のユーザーを追加できないようにするとかプライベートグループを強制するなどできますし、SharePointサイト場合もサイトの共有設定を強制的に厳しいものに変えるとか、ダウンロードを禁止するなどが可能です。Teams Premium のライセンスがあればTeams会議に秘密度ラベルを適用して、会議のオプションをセキュリティレベルの高い設定を自動的に構成したりとセキュリティ機能を統括管理できるようになります。

コンテンツのライフサイクル管理と監査

コンテンツのライフサイクル管理とはファイルが生成されて削除するまでの一生をきちんと面倒を見ましょうという話です。つまり適切に「削除」をしようね、ということです。

SharePoint にはリストやライブラリ単位で設定できる「情報管理ポリシー」というものがありました。このポリシーでは保持期限の設定や監査対象を設定することなどができていました。たとえば、昔は(といっても未だにお知らせリストを使っている組織もあると思いますが)、社内周知には「お知らせ」というリストを使っていましたが、一定期間経過した古いお知らせを自動削除するためにこれを構成することはよくありました。

今も、クラッシクなサイトテンプレートから作成したサイトであればアクセスできます。ただし、昔の名残であり、ほとんどの機能が使えなくなっているので改めて利用する必要はありません。

とはいえ、どんな構成だったかをスクリーンショットで挙げていきましょう。これは手元のMicrosoft 365 環境に残っている昔研修で使っていたサイトです。改めて構成手順を確認してみると、当時は手順がこんなに多かったか! と思いますね。たしか、古い「ひと目でわかる」シリーズには書いていたはず。。

20251203_141700この設定はコンテンツ タイプ単位で構成できるようになっていました。

20251203_144318

20251203_144419この画面がポリシーの構成画面ですね。保持期限を有効化したり、監査を有効化したりできます。ちなみに、バーコードとかラベルはOfficeとの連携機能でメタデータを画像として埋め込んで印刷できるようにする機能であり、秘密度ラベルとは関係ありません。これ、研修で説明はしていたけれど、実際に使っていたところはほとんどないんじゃないかなぁ。

20251203_144459

20251203_144540


保持の構成のところではレコードとか非レコードという言葉が登場しますが、レコードの説明は後ほど説明します。さて保持期間ですが、作成日、更新日などをベースに決定することができ、指定した期限が来ればごみ箱に移動させたり別のトキロに移動させたり、ワークフローを開始したり(このワークフローは 当時あったSharePoint Designerというツールで作るものです)などいろいろと指定できました。

20251203_150322

さて、この保持の仕組みは現在は Microsoft Purview のデータライフサイクル管理の機能に移管されています。保持ポリシーや保持ラベルという仕組みです。保持ポリシーや保持ラベルは、一定期間削除させないように内部的にコンテンツを保持したり、一定期間後、自動削除した利する仕組みを提供します。重要な情報を間違って消してしまった! とか、なんらかの目的で収集した個人情報は一定期間後確実に削除する必要があったり、ある案件で顧客から入手した情報もプロジェクト終了後は速やかに削除しなければいけないのに、うっかり削除せずにいるというケースもあるでしょう。こういう不用意に保持する情報が情報漏洩につながる可能性もあります。また、生成AIのシナリオでいえば、古くなってしました情報が今となっては間違った情報を参照してしまう可能性があるため、古い情報は削除するとかアーカイブするといった対策が必要です。

ちなみに、ファイルレベルでのアーカイブは 2026年初夏あたりにリリースが予定されています。これと保持の仕組みを組み合わせた利用も可能になってくると思います。

もともと、保持の仕組みは各サイト管理者がSharePointサイトごとに設定する必要がありましたが、組織での一元的な管理はできなかったという経緯があります。しかし、現在は Microsoft Purviewへと機能が移管したことで組織全体のポリシー(ルール)を決定して、これを任意のサイトに適用できる。この保持期限の仕組みは、SharePoint だけにとどまらず、OneDrive およびTeams のチャットなどでも利用できるようになっています。たとえば、一定期間経過したら特定のユーザーのチャットを強制削除するような仕組みも構成できます。Microsoft Purview になり一か所からSharePointに限らず、各サービスへのコントロールがしやすくなったわけです。

続いて監査についてですが、これは「誰がいつ、どのコンテンツにどんな操作をしたのか記録する」仕組みのことです。不正アクセスなどを監視するのが主な目的です。オンプレミス時代はSharePoint 上での監査は SharePoint のサイトコレクションごともしくはリストやライブラリ単位でどの項目を監査するのか決定し、監査ログもサイトの管理者が閲覧できるようになっていました。

ですが、この監査機能も現在は Microsoft Purview に移管されています。SharePoint サイトごとに決めていた監査項目も自動的に必要な項目が監査されるようになっており、Microsoft Purview の「監査の検索」から監査ログのレポートが取得できます。

ちなみに、監査ログは SharePoint だけでなく Microsoft 365 の各サービスの監査ログが取得できるようなっており一元的に利用できるようになりました。

SharePoint 側では従来のようにサイトコレクションの管理者が自由にログの確認をすることはできなくなってしまいましたが、監査ログ自体もそもそも機密性の高い情報ではあるため、適切な権限を持つユーザーだけが確認できるようになったとも言えます。

ちなみに、ライセンスによっては監査ログの保持期限は異なりますが、最低180日保持されるようになっています。長いと1年、最大10年まで保持できます(ライセンスによる)。ちなみに、少し前までは標準カントログは90日間保持というルールになっていた時期がありましたが、昨今のサイバーセキュリティ攻撃を鑑み調査のためにログの保持期間を長くするように米国政府がMicrosoft に働きかけ、2023年10月17日以降、どのライセンスでも最低180日保管されるようになりました。

[参考] Microsoft Purview の監査ソリューションについて説明します | Microsoft Learn

レコード管理

SharePoint Server 2007のころからレコード管理という機能があります。レコード管理という言葉を聞きなれない方もいるでしょう。レコード(Record) = 記録 ということで、記録文書と言ったりもします。

国や業界でレコードとする対象が多少異なりますが、日本では一般的に法定保存文書や業務上重要な記録(ここでは主にドキュメント)を法令や社内規程に従って管理することを言います。もともと電子データに限らず紙、マイクロフィルム、磁気テープなどの記録媒体も含まれていますが、ここでは SharePoint を軸に話を勧めたいので、ドキュメントを対象とします。

例えば、電子帳簿保存法で法定保存期間が定められているものとしては、税務関連書類、契約書などありますし、業務遂行や監査に必要な記録としては議事録や品質管理記録などがあります。

こうした一定期間保管すべきものを適切に保管する仕組みが SharePoint のレコード管理という仕組みです。SharePoint Server 2007にこの機能が標準搭載されたのには理由があります。

SharePoint などの文書管理システムではレコード管理システムを搭載する重要性を再認識させる事件がかつてありました。エンロン社の粉飾決算事件です。エンロン社は、2001年に巨額の粉飾決算が発覚し、破綻します。この事件を発端に、企業の内部統制やコーポレートガバナンスを強化が必要であると、アメリカ政府は2002年にサーベンス・オクスリー法(SOX法)を制定します。この法律により、企業は財務データの正確性を確保するために、厳格なレコード管理システムを導入する必要があったわけです。日本では2008年4月から日本版SOX法として JSOXの運用が開始されました。

参考文献

こうした経緯があり、そもそもSharePointはレコード管理システムを備えていたのですが、日本は電子データの扱いに関する法整備が遅れたため、ほとんどこの機能の認知は浸透しなかったのです。特に財務報告の信頼性の確保をする際の電子データの取り扱いに関する法整備は米国と比較するとかなり遅れました。

本格的な電子データ対応への流れは、2015年以です。電子帳簿保存法は1998年に制定はされたもののさまざまな要件が厳しかったのですが、そこから何度も改正されてきました。クラウドの台頭とコロナ禍も後押しすることになり、令和3年に帳簿保存法が改めて改正されてペーパーレス化が加速することになったのです。

ですから、こうした法定保存文書に対応する機能は SharePointは米国に合わせていち早くもっていたのです。先ほど昔の SharePointで使っていた「情報管理ポリシー」でもレコード管理の設定項目があります。

また、以前は SharePoint でレコード管理する場合は、専用の「レコードセンター」サイトテンプレートというものが用意されており、ここでレコード管理を行っていたのです。それがいつしか、どこにレコード管理対象のファイルが格納されていたとしても管理できるように、インプレースレコード管理機能なども登場します。Microsoft 365 の SharePoint サイトもサイトコレクションの管理者なら、「サイトの設定」にある「サイトコレクションの機能」の一覧に今も「インプレース レコード管理」機能があるのがわかるでしょう。

20251203_184458

これを有効にするとサイトコレクション単位でレコードをどう扱うかを決めることができるようになっていました。

20251203_185101

あとは、ライブラリ単位でインラインレコード管理を有効化するかどうかを決めて、、、という流れですね。

20251203_185540

手動でレコード宣言する場合は、ファイルの「コンプライアンス詳細」からレコード宣言します。
(試しに宣言したら、これで以前はファイルの名前の横に鍵のアイコンが表示されていたのですが、今はそういった表示もなくチェックアウトのアイコンになってしまっていました。まぁ、Purview に移管したのでこれは昔の名残ですからね。)

20251203_185213

しかし、この機能も現在は Microsoft Purview のレコード管理機能へと移管しており、保持ラベルの拡張機能としてレコード管理ができるようになっています。なお、レコード管理機能は Microsoft 365 E5 を持っていないと利用できないので注意してください。逆に持っているユーザーは利用できますから、せっかくの機能をうまく使ってみて欲しいところです。

レコードとして作成する保持ラベルは、編集のブロックを行えるように設定できます。これを構成すると、サイトコレクションの管理者であっても編集できなくなりますし、バージョン履歴の削除も不可になり、「改ざん防止」が強固なものになります。

レコードの保持ラベルを適用すると錠前のアイコンが表示されるので、ひと目でわかります。

20251203_190052

レコード管理するところまでの一連の流れは去年した Japan Microsoft 365 コミュニティカンファレンスのセッションで一通りデモをしているのでよかったこちらもご覧ください。

A13「Microsoft 365 のドキュメント管理徹底詳解 フル機能を使った高度な管理」

参考: Microsoft 365 でのドキュメントとメールのレコード管理 | Microsoft Learn

まとめ

ということで、私がMicrosoft 365 での Microsoft Purview での機密情報保護やライフサイクル管理の重要性をよく話をしているのですが、これは2007年からずっと説明してきた流れなのです。

電子帳簿保存法対応なども SharePoint + Purview の仕組みで対応可能です。また、Microsoft 365 Copilot を導入する際の組織内のデータ整備にも欠かせないため、ぜひ知見を深めてみてください。

研修のご案内

Microsoft Purview へSharePointの持っていた機能が一通り移管され、管理機能も充実してきたので、数年前から弊社でもこれに対応する研修を私の方でオリジナル開発して提供しています。

なかなか独学だとわかりにくい部分ですが、研修とフォローアップのコンテサルティングも実施しておりますので、興味のある方はぜひ、弊社サービスをご利用ください。

【オフィスアイ株式会社】Microsoft Purview コンプライアンス入門~Microsoft 365 ファイルおよびメールに対する機密情報保護と情報ガバナンス~

Purview