Teams「リンクを知っていれば誰でも編集可能」←ヤバくね？

## はじめに
弊社環境では、Teamsでチャットでファイルを送信したりすると⇩のような表示が出てきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/1c3ade51-04f6-db52-9e6e-66f08889a800.png)

チャットで送信しただけでファイルに「リンクを知ってさえいれば社内全員が閲覧と編集可能」の権限がついてしまう...ってセキュリティ的にどうなのよ？
と、疑問に思ったので共有の方法と、そのオペレーションで設定される権限について調査を行いました。


## 前提知識(OneDrive)
まずTeamsで共有されたファイルがどこに格納されているのかの前提知識です。

### ➀チャットで送信する場合
チャットで送信されたファイルは個人領域のOnedirveの「Microsoft Teams チャットファイル」なる場所に格納されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/ba7e754e-9ce8-c054-f7ef-331c6d0038ee.png)

【余談】
誰に送ろうがここに格納されます。
格納場所が同じなので、同じ名前のファイルを後で他の人に送ろうとすると名前がぶつかってしまいますね。
⇩の場合、「テスト.txt」の名前が使われているため、別名のファイルにしてアップロードする挙動になっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/579cf1c5-0a51-6b86-4a59-89de4d4ef77c.png)

### ②チームにアップロードする場合
チームにアップロードされたファイルは、組織のOneDrive上に構築されたSharePointサイトに格納されます。(少し複雑ですね)

【チーム】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/12fb3877-164b-745f-4f13-0c3a066b3482.png)
　⇅
【SharePoint】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/26e21661-e845-a537-1bdc-cd5693fb2ba4.png)
　⇅
【OneDrive】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/6efbee91-5576-0be5-c7a9-187293ca8825.png)
<br>
OneDrive上にSharePointのサイトを挟むかどうかが違いになってそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/255d0157-2887-3743-137b-133375da7a22.png)
チャットの場合とチームの場合も確認しましたが、どちらもOneDriveを利用するため、
設定される権限についてはOneDriveのルールを確認すれば良さそうです。

### OneDriveの権限
OneDriveにあるファイルは以下の権限設定が可能です。
1. ユーザー
2. グループ
3. リンク

これは、OneDrive > アクセス許可の管理 から確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/ee0f5cd9-1784-5d43-6e3e-620ffca52f97.png)

ユーザーはそのままユーザーのこと、グループはチームやセキュリティループなどの所謂グループのことです。
<br>
リンクの方は、更に設定に種類があり、
1. 自組織のユーザ
2. 既存のアクセス権をもつユーザ
3. 選択したユーザ

に割り当てることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/c2f1c9b3-e582-030d-d311-a989fd4e7885.png)

前提知識は以上です。ここからは実際に設定される権限について書かせていただきます。


## 実際に設定される権限設定
チャットでのファイル送信とチームへのファイルのアップロードを行ってみて、OneDrive上のファイルにどんな権限がつくのかを確認してみました。


結果はこちらです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/9ffe1b0e-7c72-0eff-4e3f-a4e886e2fe1b.png)
・「チャットで送ったときに送信先の相手に権限が設定されること」
・「チームにアップロードしたときに置かれたチームのグループに権限が設定されること」
この2点はあまり違和感が無いのですが、チャットでファイルを送った時のリンクの設定は少し違和感がありました。
チャットでファイルを送信してしまうと「リンクを知っている人が誰でも編集可能」になってしまうことには少し注意が必要ですね。
<br>

一方、チームに置いたファイルはグループに権限が設定されるので大丈夫！と思いますが、運用によっては落とし穴がありそうです。
「リンクのコピー」からリンクを取得すると「リンクを知っている人が誰でも編集可能」のリンクがファイルに設定されてしまいます。

避けるためにはリンクの作成後に歯車の設定ボタンからリンクの権限設定を変えましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/46ccd0bf-8194-6f3e-d9d9-d17a07ad91f4.png)
　↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/f63ca6f5-0a6b-f627-84c9-45172663a595.png)



## Teamsの設定を変える
「リンクを知っている人が誰でも編集可能」のリンクがついてしまうのは避けられないかというとそうでもなく、組織のTeams設定によって恐らく変更が可能です。

<br>
「Microsoft365管理センター」 ＞　「SharePoint管理センター」 ＞ 「ポリシー」 ＞ 「ファイルとフォルダーのリンク」に以下の項目があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708993/dab280be-5bff-e153-cbe7-f233e8ad1b01.png)

ここの設定によって規定されている挙動に見受けられるので、見直したい場合はここを修正しましよう。（実験できてないのでどんな挙動になるのかわかりませんがw）
<br>

## で、「リンクを知っている人が誰でも編集可能」の設定ってやばいの？
リンクを知っていれば、の条件がだいぶ厳しいので多分ヤバくないです。
「リンクを知っている人が誰でも編集可能」の権限があるだけでは、他人のOneDrive領域にあるファイルを見つけることはできないでしょう。
（タイトル詐欺ですね。）
<br>
無理やり考えた実際に起こりうるセキュリティリスクとしては、
・「ファイルを送信したのちに権限が他の人についていることを忘れてしまって、重要な情報をファイルに追加してしまう」
・「他の人がチームのファイルを共有している状態に気づかずに、重要な情報をファイルに追加してしまう」
あたりでしょうか.


この辺りがセキュリティリスクとして評価されるのであれば設定の見直しを行うべきだと思います。
<br><br>
ただやっぱり「リンクを知っている人が誰でも編集可能」というのは気持ち悪いなと。
直した方がいいんじゃないのかなというのがこの記事の趣旨でした。

以上です、読んでくれてありがとうございました。
補足や訂正があれば大歓迎ですのでコメントをいただけますと幸いです。