Microsoft Teams では、社外ユーザーをチームに招待して行うチャネルチャットのほかに、1 : 1 などで行うプライベートチャットを利用できます。

社内ユーザー同士の場合、このプライベートチャットの履歴は各ユーザー個人の Exchange Online メールボックスにコピーされているため、監査などの時にはその社内ユーザーのメールボックスの中を検索することで確認することができます。

では、メールボックスを持たない社外ユーザーのプライベートチャットの履歴はどうやって確認することができるのか。

ちょっと試してみたのでメモしておきます。

社外ユーザーとプライベートチャットを行う 2 種類の方法

社外ユーザーとプライベートチャットを行うには、2 種類の方法が用意されています。

  • 外部アクセス(フェデレーション)
  • ゲストアクセス

まずは、それぞれどのようなものかを確認しましょう。

外部アクセス(フェデレーション)

外部アクセスは既定で有効となっています。プライベートチャットの相手として社外のユーザーを指定し、Office 365 のテナントに招待せずに(ゲストユーザーオブジェクトを作成せずに)チャットや通話などを行うことができます。

こちらの方法では、Microsoft Teams を利用している相手のほか、Skype for Business を利用している相手ともチャットができます。加えて、2020 年の早い時期に Skype(コンシューマー向け)を利用している社外ユーザーともチャットができるようになることが計画されているようです。

また、Microsoft Teams を利用している相手の場合、相手側がテナントを切り替える必要なく、所属している組織のチャットに直接着信するのも特徴です。

Microsoft Teams での外部アクセスの管理
https://docs.microsoft.com/ja-jp/microsoftteams/manage-external-access

Office 365 の管理者は、許可リストまたは禁止リスト形式で、チャットができる相手先を制限することもできますし、一切禁止させることもできます。

ゲストアクセス

ゲストアクセスは既定で無効となっているため、管理者によって有効化されることで利用が出来るようになります。

ゲストアクセスの基本的な使い方は、チームに招待し、チャネルのチャットやファイル共有を行うことです。

そして、Office 365 の管理者が禁止していない限りは、プライベートチャットも利用することができます。

Microsoft Teams でのゲスト アクセス
https://docs.microsoft.com/ja-jp/microsoftteams/communicate-with-users-from-other-organizations

また、ゲストアクセスの場合には、Azure AD Premium のライセンスが必要にはなりますが、社外ユーザーに対して条件付きアクセスや多要素認証を有効化することもできます。

社外ユーザーとのプライベートチャットの履歴を確認する

基本的には以前に書いた記事の方法で行うことができます。

Microsoft Teams のチャット履歴を管理者が確認できるか?
https://idea.tostring.jp/?p=2913

しかしながら、社外ユーザーが外部アクセスとゲストアクセスのどちらであるかで、履歴データの保管のされ方が少し異なるようです。

外部アクセス(フェデレーション)の場合

外部アクセスの場合、社外ユーザーとのプライベートチャットの履歴は、チャットを行った社内ユーザーのメールボックスに残っています。

監査時には、チャットを行った社内ユーザーのメールボックスを検索対象に含め、「送信者/作成者」や「受信者」に社外ユーザーのメールアドレスを設定し、「種類」を「インスタント メッセージ」として検索すると見つかります。

また、検索する場所をすべてのメールボックスとすることで、ゲストアクセスの社外ユーザーのチャットも見つかります。

ゲストアクセスの場合

ゲストアクセスの場合、社外ユーザーとのプライベートチャットの履歴は、Exchange Online に作成される特殊なメールボックスの中に保管されるようです。

そのため、チャットを行った社外ユーザーのメールボックスを指定することで、その社外ユーザーのプライベートチャット履歴を検索することができます。

しかしながらこの検索条件は、Office 365 セキュリティ/コンプライアンス センターから GUI では指定できず、Exchange Online の PowerShell を利用して登録する必要があります。登録さえしてしまえば、結果の確認はセキュリティ/コンプライアンス センターから GUI で 行うことができます。

New-ComplianceSearch "外部ユーザー検索" -ContentMatchQuery "" -ExchangeLocation user@example.com -IncludeUserAppContent $true -AllowNotFoundExchangeLocationsEnabled $true

ExchangeLocation プロパティに社外ユーザーのメールアドレスを指定します。

また、このコマンドレットのポイントは、IncludeUserAppContent プロパティと AllowNotFoundExchangeLocationsEnabled プロパティの両方が $true に設定されているところです。この指定により、社外ユーザーを検索対象に含めることができます。

New-ComplianceSearch
https://docs.microsoft.com/ja-jp/powershell/module/exchange/policy-and-compliance-content-search/new-compliancesearch?view=exchange-ps

同じ方法で、オンプレミスの Exchange Server にメールボックスを持つユーザーの Microsoft Teams のプライベートチャット履歴も検索し確認できます。

Office 365 でオンプレミスのユーザーのクラウドベースのメールボックスを検索する
https://docs.microsoft.com/ja-jp/microsoft-365/compliance/search-cloud-based-mailboxes-for-on-premises-users

こちらの記事を読むと、Microsoft のサポートにリクエストを送ることで、検索条件を GUI からも設定できるようになるオプションが有効化されるようです。一度、サポートに確認してみるのが良いのかもしれません。

さいごに

Microsoft Teams では、このように社外ユーザーであってもプライベートチャットの履歴を保管しており、管理者は監査などの必要に応じて検索して確認することができます。

保管場所として Exchange Online が利用されており、少し仕組みがややこしいところもありますが、有事に備えて動作などを確認しておくと良さそうに思います。