Microsoft Teamsでファイルのダウンロードを禁止する

# Microsoft Teams
Microsoft Teams、だいぶ流行ってきているようですね。
テレワーク環境でTeamsを使ってもらおうとすると、Teamsからのファイルの流出が気になるかと思います。
EMS (Enterprise Mobility + Security) のライセンスを利用して、ダウンロードを全面的に禁止する設定について説明したいと思います。
今回の設定は、ブラウザからTeamsにアクセスする場合に限定され、アプリからアクセスするところは禁止できません。

# できること

|デバイス|アクセス手段|アクセス可否|ダウンロード可否|
|:---|:---|:---|:---|
|管理されたデバイス|アプリ|○|○|
|管理されてないデバイス|アプリ|×||
|管理されたデバイス|ブラウザ|○|○|
|管理されていないデバイス|ブラウザ|○|×|
※管理されたデバイス＝Intune管理下 or　Hybrid Azure Join管理下
※ダウンロード禁止であって、オンライン編集は可能です

# Teamsと、SharePoint Online、OneDrive for Business
Teamsで扱われるファイルは大きく２種類あります
・チャネルで扱われるもの　…　SharePoint Online上に保存されます
・チャットで扱われるもの　…　個人のOneDrive for Businessに保存されます

SharePoint OnlineのURLは、https://ドメイン名.sharepoint.com/
OneDrive for BusinessのURLは、https://ドメイン名-my.sharepoint.com/
で兄弟関係にあります。
設定においては、SharePoint Onlineで設定したポリシーより広い権限を、OneDrive for Businessに与えることはできません。
なので、SharePoint Onlineにおける設定がより重要になります。

# SharePoint Onlineでのダウンロード禁止の設定
SharePoint Onlineの管理サイトのURLは、https://ドメイン名-admin.sharepoint.com/です。
ここの、ポリシー - アクセスの制御 - 管理されていないデバイス がポイントになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/64ff7fa2-1e45-4cfc-76df-e92781e35a6c.png)

ただ、EMSのライセンスがないと、設定できません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/34c9990b-c90e-eb0f-b9ca-42a118912d10.png)

EMSのライセンスがあると、次の設定が可能です。
デフォルトは「フルアクセスを許可する」ですが、**「制限されたWebのみのアクセスを許可する」に変えるところがポイントです。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/6e052f34-9cc5-3dbe-e572-102713d7958a.png)

この設定をONにすると、AzureADの条件付きアクセスポリシーが自動的に作成されます。
（[SharePoint admin center]とついているものが新しくできたものです）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/d7c81959-3fbd-0879-85ab-ca5188f270a9.png)

（ONにすると、すぐにポリシーが有効になるため、本番環境の場合、注意してください。
 ポリシーが作成されたのを確認した上、該当のポリシーの「ポリシーの有効化」を無効にすれば、通常の挙動に戻ります）

１つ目のポリシーは管理されていないデバイスからのアプリでのアクセスを禁止するものとなり、
２つ目のポリシーはブラウザーからのアクセスにおいて、管理されていないデバイスからのアクセスではダウンロード禁止とするものです。

# 動作例
Teamsのチャネルのファイルタブでの変化

ポリシー適用前
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/6c598510-ca87-fce0-e1f3-eda3f2c3d236.png)

ポリシー適用後　　ダウンロードできなくなります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/368df5a3-42b1-63da-471a-11f0591aa9bc.png)

SharePoint Onlineのサイトでの変化
ポリシー適用後
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/739db591-0772-ee9f-ac41-69d58e9d260e.png)


# 条件付きアクセスポリシーの解説
2つの条件付きアクセスポリシーともに、対象のクラウドアプリは「Office 365 Sharepoint Online」です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/220526c9-a45e-70bb-6159-b6834f0ee1a2.png)

## (1) Block access from apps on unmanaged devices
アプリからはダウンロードブロックができないため、管理されていないデバイスからはアプリのアクセスを禁止するポリシーです。

対象のクライアントアプリは、モバイルアプリと、デスクトップクライアントです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/03bf83e7-a0ae-aaf3-c36a-5759b01508d5.png)

管理されているデバイスであることがアクセス条件となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/9b57716b-55c6-5ee2-71a7-2bddf8c3f9b9.png)


## (2) Use app-enforced Restrictions for browser access
管理されていないデバイスからのブラウザのアクセスでは、ダウンロードを禁止する制限を適用するポリシーです。

対象のクライアントアプリは、ブラウザです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/7431941c-d7e3-053b-5355-0ac46cbd2cd4.png)

セッション制御が選択されることで、サーバー側でダウンロード可・不可が変わります。
（管理されているデバイス：可、管理されていないデバイス：不可）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/812d3009-31f5-f08e-bbe7-7e32e985ac49.png)

# カスタマイズ例
AzureADの条件付きポリシーを変更することで、ダウンロード禁止とする対象をカスタマイズすることが可能です。

## (1) 適用対象のユーザーを限定したい場合
自動作成された２つのポリシーの適用ユーザー、グループを限定すれば良いです。
## (2) 社内ネットワークのデバイスはダウンロード許可したい場合
繰り返しになりますが、管理されたデバイス ＝ Intune配下 or Hybrid AzureAD参加のデバイスです。

社内において、パソコンに対して、Intuneも展開していないし、Hybrid AzureADも展開できていないケースは多々あると思います。
その場合は、ポリシーを修正することで、IPアドレス制限下のデバイスを、許可することは可能です。

条件付きアクセスのネームドロケーションにて、社内からのグローバルIPアドレスを信頼できる場所と指定。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/1a468e5f-21ad-dee1-edcc-ebd24b9ed724.png)


今回のポリシーの「条件」-「場所」で、信頼できる場所を「対象外」と設定しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/632378/0f9dc93b-7d2d-3ad4-5a38-0b788fc74646.png)

# 実はアプリでもダウンロード制限できます
アプリではダウンロード制限できないと書きましたが、
「Block access from apps on unmanaged devices」の条件付きアクセスポリシーで、
アクセス権の付与をクリアして、セッション制御を選択すると、
Teamsアプリでも、ダウンロード抑制できます。

アプリ側の制御をMicrosoftはわざわざ別ポリシーにしていますが、気づけていない理由があるのですかね？

|デバイス|アクセス手段|アクセス可否|ダウンロード可否|
|:---|:---|:---|:---|
|管理されてないデバイス|アプリ|○|×|

OneDriveにあるファイルも、アプリ版のExcelでは編集できず、オンライン版のExcelでのみ編集できるなど、期待通りの挙動をしているようには見えます。

# 今回書けなかったこと
条件付きアクセスのセッション制御は高度な機能と思いますが、セッション制御には２種類あります。
　「アプリによって適用される制限を使用する」　　SharePoint Online、Exchange Onlineで使える
　「アプリの条件付きアクセス制御を使う」　　こちらはMCAS(Microsoft Cloud App Security)連携で使える
の２種類あります。
後者はAzureADでSAML連携しているアプリであれば、マイクロソフト製以外のアプリでも対象とできるので、
より適用範囲は広いですが、動きが複雑です。