こんにちは。
今回は、NetSuiteの開発案件で「外部ユーザーとのファイル共有どうする問題」にちょっとぶつかった話です。
結論だけ知りたい人向けに先に言うと、
SharePointのURLをそのまま渡しても外部ユーザーは見れないので、「共有リンク」をちゃんと発行する必要がある、これに尽きます。
ただ、そこに至るまで普通にハマりました。
■ 前提:もともと作っていた仕組み
まず前提から。
うちのチームでは、こんな運用をしていました。
-
Backlog で課題を発行
-
Power Automate でイベントをトリガー
-
課題ごとに専用のフォルダを自動作成
-
そのフォルダのURLを課題のトップページに貼り付け
フォルダ自体は
Microsoft Teams のファイル領域(=実体は SharePoint)に作っています。
イメージとしてはこんな感じです。
👉 課題を開けば、そのまま関連ファイルに飛べる
これ、運用としてはかなり便利で、
-
設計書
-
エビデンス
-
やりとり資料
全部そこに集約できます。
■ なぜ今まで問題なかったのか
この仕組み、しばらくは全く問題なく回っていました。
理由はシンプルで、
👉 プロジェクトメンバーが全員「社内ユーザー」だったから
です。
社内ユーザーであれば:
-
Teamsのメンバーに入っている
-
SharePointの権限も暗黙的に持っている
つまり
👉 URLをそのまま貼るだけで普通にアクセスできる
なので、
-
わざわざ共有リンクを発行する必要もない
-
権限を意識する場面もほぼない
正直、この時点では
👉 「ファイル共有まわりってこんなもんでしょ」
くらいの認識でした。
■ 状況が変わったきっかけ
転機になったのが今回の案件です。
👉 外注パートナーさんが複数名プロジェクトに参加
ここで初めて「外部ユーザー」という存在をちゃんと意識することになります。
やりたいこと自体は変わらず:
-
課題ごとにフォルダを作る
-
URLを貼る
-
そこにアクセスしてもらう
ただし前提が変わりました。
👉 そのURLを踏むのが社外の人になる
■ ここで問題発生
実際に運用を回し始めるとこうなりました。
-
社内メンバー → 問題なし
-
外部ユーザー → Teamsからは見れる
-
でも課題に貼ったURLからは見れない
「同じファイルなのに?」ってなります。
■ 原因(ここがハマりどころ)
整理するとこうです。
-
Teamsのファイル → 実体はSharePoint
-
Teams → チームメンバーとしての権限で見れている
-
課題に貼ったURL → ただのSharePointのパス
つまり
👉 Teams経由のアクセスと、URL直アクセスは別物
さらに言うと
👉 URLと権限は紐づいていない
ここが完全に盲点でした。
■ 最初にやっていたこと(ダメパターン)
Power Automateではこんな処理をしていました。
-
フォルダ作成
-
そのパスを取得
-
URLを組み立ててBacklogに貼り付け
社内だけのときはこれで成立してたんですが、
👉 外部ユーザーが入った瞬間に破綻
結果:
👉 外部ユーザー「開けません」
■ 解決策(ちゃんとやる)
ここでやっと気づきます。
👉 必要なのは「URL」ではなく「共有リンク」
やったことはシンプルで、
① 共有リンクを作る
Power Automateの
「共有リンクの作成」
-
スコープ:特定のユーザー
② アクセス権を付与
「アクセス権の付与(Grant access)」で
外部ユーザーのメールを指定
③ そのリンクを使う
Backlogには「生成した共有リンク」を貼る
■ やってみての気づき
今回の件で一番の学びはこれです。
👉 「社内でうまくいってる仕組み」は外部が入ると簡単に壊れる
特に
-
Teams
-
SharePoint
-
Power Automate
この組み合わせは
👉 権限とリンクの扱いを意識しないと事故る