OneDrive / SharePoint で外部ユーザーとのファイル共有にワンタイムパスコードを利用する

公開:2020/09/26
更新:2021/01/24
2 min読了の目安(約2400字IDEAアイデア記事

ビジネスシーンでたびたび問題視される 「添付ファイル暗号化&パスワード別送」 (いわゆる PPAP) ですが、運用コストがかかる割にセキュリティ的には意味が無いどころか悪影響ということで指摘されているものの、では代替手段として具体的にどうすれば良いかというのがあまりセットで語られていないように感じます。

以前、Google Workspace のアップデートで Google Workspace のアカウントを持たない外部のユーザーにも PIN コードを使って安全にファイルを共有する機能が GA されベータ版のころから待っていた方の間で話題になっていたようですが、 Microsoft 365 の OneDrive と SharePoint にも特定のファイルやフォルダを外部のユーザーにワンタイムパスコード付きでリンク共有する機能は以前から備わっています。
備わってはいるのですが、観測する範囲ではあまり知られていないような気がするので本記事でご紹介します。

前提条件

SharePoint 管理センターで外部共有の設定が「すべてのユーザー」あるいは「新規および既存のゲスト」になっている必要があります。

これが許容できない場合は要件を満たさないのでワンタイムパスコードでの共有は諦めることになります。
がしかし、個人的にはこの辺りをあまり厳しくしても結局ユーザーは抜け道を探してしまいシャドーITの温床になったりするので、組織が管理するサービス上から適切にリソースを共有させることで検知・追跡可能な状態にする方がよほど健全なのではと思ったりします。

共有手順

手順は OneDrive と SharePoint で共通ですが、対象のファイルあるいはフォルダを選択して「共有」メニューを選択し、リンクの設定で「特定のユーザー」を選択します。編集権限を与えるかどうかを選んだ上で適用を押します。

 
 
リンクの送信画面で送りたい相手のメールアドレスを入力します。
ここで下にある「リンクのコピー」を選んでメールなりチャットの本文にペーストして送るのが最もポピュラーな使い方で実際の利用イメージも想像がつきやすいと思いますので、ここではあえて「送信」のほうを選ぶとどうなるのかをスクリーンショットとともにお送りします。

 
 
上記の画面で送信ボタンをクリックすると、相手側にこんな本文のメールが届きます。ちなみにメールの差出人アドレスは先ほどの操作を行ったユーザーのアカウントになります。
それでは「開く」ボタンを押してみましょう。

 
 
するとこんな感じでワンタイムパスコードが別メールで送られてくるので、それを使ってリンク先のファイルにアクセスするという流れになります。

管理者的な観点

Azure AD 上にゲストユーザーは作成されるのか?

この方法で共有を行った場合、共有した先の相手(外部ユーザー)は Azure AD 上にゲストユーザーは作成されません。Microsoft の表現では「アドホック外部受信者」という扱いになります。

ログにどう残るのか?

上記の手順で共有リンクを作成したログや、その共有リソースにどのメールアドレスがいつアクセスしたのかは、コンプライアンス管理センターで確認が可能です。
例えばリンクの作成であれば「SecureLinkCreated」、外部ユーザーがアクセスに成功した場合は「SharingInvitationAccepted」などのアクティビティで追跡が可能となっています。
詳細については下記の Docs に記載があります。
監査ログで共有監査を使用する - Microsoft 365 Compliance | Microsoft Docs

まとめ

一般的に Google Workspase か Microsoft 365 あるいは何らかのストレージサービスのいずれかは採用している組織が多いのではと思いますが、こういった機能の活用が広まることで「添付ファイル暗号化&パスワード別送」という習慣が無くなってくれたらなと切に願います。マルウェアチェックをすり抜けてくるとかのセキュリティ的な問題もそうだけど、何より受け取る側としてはとにかく面倒だしモバイルで開けないし、ということで。