Streamlit CloudやGAS(Google Apps Script)でデプロイした社内ツールの公開範囲を、非エンジニア向けに漫画で解説します。URLを社内チャットにしか送っていなくても、公開設定がPublicなら世界中からアクセスできる状態です。「ログイン画面があるから安全」も、そのままでは成り立ちません。この記事では、シークレットモードと社外回線で外からの見え方を確認する方法、GASの「全員」の本当の意味、アクセス制限(門)と認証(鍵)を重ねる考え方、そして公開前チェックリストまでを、10ページの漫画と文章でお伝えします。
「要約ツール、Webで使えるようになったよ!」
前回までで、AIと一緒にツールを作り(GitHub超入門)、APIキーをコードの外に出す(第2条)ところまで来ました。今回は、そのツールをデプロイして、社内のみんなに配るときの話です
ここでもまた、多くの人が同じところでつまずきます。
- URLは社内チャットにしか送っていないから、社内限定のはず
- ログイン画面があるから、パスワードを知らない人は入れないはず
どちらも、そのままでは成り立ちません。「URLを配った相手」と「そのURLに入れる相手」は別の話で、「入口が見えること」と「中身を使えること」も別の話です。まず漫画でその違いをつかんでいただき、そのあとで「公開前に何を確認すればいいのか」を文章で整理します。
まずは漫画でどうぞ(第3条:デプロイしたツールの公開範囲を確認する/10ページ)










いかがでしょうか。ここからは、漫画に出てきた考え方を順番に補足していきます。
デプロイとは ── 「手元で動く」から「URLで届く」へ
デプロイは、手元のパソコンで動いていたツールを、サーバーやクラウドに置いて、URLでアクセスできるようにすることです。Streamlit Community Cloud、Google Apps Script(GAS)のウェブアプリ、Vercelなど、いまは無料や低コストで、数クリックでデプロイできるサービスがたくさんあります。
便利な反面、デプロイした瞬間に、そのツールは「インターネット上の住所」を持ちます。誰がその住所にたどり着けるのかは、URLを誰に送ったかではなく、サービス側の公開設定で決まります。ここが今回のテーマです。
公開範囲の確認方法① シークレットモード(未ログイン)で開いてみる
漫画2ページ目で先輩が最初にやったのは、設定画面を見ることではなく、実際に開いてみることでした。
普段のブラウザは、自分のアカウントでログインしたままになっています。その状態でツールを開いて「ちゃんと使えた」としても、それは「許可された自分が使えた」だけで、外の人がどう見えるかは分かりません。
そこで使うのが、ブラウザのシークレット(プライベート)モードです。普段のログイン状態を引き継がずに開けるので、「何も持っていない人」としてURLにアクセスしたときの見え方を確かめられます。コツは、開いているシークレットの窓を全部いったん閉じてから開き直すこと。シークレットの窓同士はログイン状態を共有しているので、閉じずに使い回すと確認になりません。
漫画では、未ログインでもログイン画面が表示されました。ここで「じゃあ大丈夫」と思うかどうかが、次の分かれ道です。
公開範囲の確認方法② 社外回線から開く ── URLの配布先と公開範囲は別
3ページ目で先輩が指摘したのは、「シークレットモードで開いても、まだ社内のネットワークからアクセスしている」という点です。オフィスのWi-Fiから見て入口が見えるのは当然で、本当に確かめたいのは「社外の回線からどう見えるか」です。
スマホの回線(VPNなし)から開いてみて、そこでもログイン画面が表示されるなら、そのツールは世界中のどこからでも入口に到達できる状態です。公開設定がPublicになっていれば、まさにそうなります。
「URLは社内にしか送っていない」は、鍵を「知り合いにしか渡していない」のと同じで、玄関自体は通りに面したままです。配った相手と、たどり着ける相手は、別の集合だと考えてください。
「ログイン画面があるから安全」は本当か ── 入口が見えることと、中身を使えることは別
4ページ目の主人公の反論はもっともです。「パスワードを知らなければ入れないなら、入口が見えても問題ないのでは?」
たしかに、認証(ログイン)は「中身を使えるかどうか」を守る仕組みです。入口が見えていても、正しい認証を通らなければ保護された情報や機能には触れません。ただし、その前提には「公開した入口は、守らなければならない」という条件がつきます。
ブルートフォース攻撃 ── 公開したログイン画面に自動で繰り返し試してくる
5ページ目の「総当たり(ブルートフォース)」がその理由です。インターネットに公開されたログイン画面には、パスワードを自動で、繰り返し試すプログラムがやってきます。人と違って休みませんし、よく使われるパスワードの一覧を片っ端から試すこともあります。
これに対する基本の守りが2つあります。
- 試行回数の制限:一定回数失敗したら、しばらく受け付けない・ロックする
- 多要素認証(MFA):パスワードに加えて、スマホの確認やセキュリティキーなど、もうひとつの要素を求める
自作のツールにこれらを自前で組み込むのは大変なので、後述するように、サービスが提供している認証機能や、会社のアカウント基盤(Google Workspaceなど)に乗るのが現実的です。
アクセス制限(門)と認証(鍵)を重ねる
6ページ目の家の例えは、この記事の考え方の中心です。
- 玄関の鍵(認証):中に入れる人を本人確認で絞る
- 門(アクセス制限):そもそも玄関まで来られる人を絞る
鍵だけの家は、誰でも玄関の前まで来て、鍵をガチャガチャ試せます。門があれば、玄関の前に立てる人自体が減ります。逆に、門だけで鍵がなければ、門を越えた人は誰でも中に入れます。社内ツールでは、この2つを重ねるのが基本です。「門があっても、鍵は必要」。主人公の言葉どおりです。
Streamlit Cloudの非公開設定、IP制限、VPN ── サービスごとに違う入口の制限
7ページ目は、実際の設定の話です。何ができるかはサービスごとに違うので、まずは「非公開設定」や「閲覧者の制限」があるかを確認します。
Streamlit Community Cloud:閲覧者を指定する
アプリを非公開にし、閲覧できるユーザーのメールアドレスを指定できます(利用できる機能はプランや設定によります)。デプロイ直後の初期設定がどうなっているかを、必ず確認してください。
IP制限・VPN:対応する構成で使う
会社のネットワークやVPNを経由した人だけを通す方法もありますが、これは「IP制限やVPNに対応した構成」で動かしている場合の話です。個人が無料のクラウドにデプロイしたツールに、あとから会社のVPNをかぶせることはできません。
ここで注意したいのが、漫画3コマ目の「VPNを使うだけでは、公開URLは閉じない」です。自分がVPNでアクセスしていても、ツール側が公開URLのままなら、公開経路は残ったままです。「VPN経由でしか使っていない」と「VPN経由でしか使えない」は別です。
使える機能はサービスごとに違い、会社側のネットワーク構成にも関わるので、公開経路については担当者と一緒に確認するのが確実です。
GASウェブアプリの「アクセスできるユーザー:全員」は、会社の全員ではない
8ページ目は、GAS(Google Apps Script)をウェブアプリとして公開する人が、ほぼ必ず一度は迷う設定です。
「アクセスできるユーザー」の選択肢に「全員」があります。会社のGoogleアカウントで作業しているので、「全員=会社のみんな」と読みたくなりますが、これはインターネット上の全員です。未ログインの社外の人も含みます。
似た選択肢に「Googleアカウントを持つ全員」があります。こちらはログインを求めますが、Googleアカウントは誰でも作れるので、社内限定ではありません。「Googleへのログインが必要」と「社内限定」は別です。
社内限定にしたい場合は「(組織名)内の全員」のような、組織内に限定する選択肢を選びます。この選択肢は、会社のGoogle Workspaceの管理設定によっては表示されないことがあります。選べないときは、自分で無理に回避策を考えず、管理者に相談してください。
デプロイ前・公開前チェックリスト
9ページ目で主人公が自分でやっていた確認を、そのままチェックリストにします。
- 未許可の人は拒否されるか:社外回線・未ログイン・配布するURLの3点セットで開き、使えないことを確認する
- 必要な人は利用できるか:承認済みの社内アカウントで、ちゃんと使えることを確認する
- 設定と動作を照合する:設定画面で「こうなっているはず」と、実際に開いてみた結果が一致しているか
想定外に使えてしまったら、いったん公開を止めて(非公開に戻して)、担当者に相談します。「とりあえず動いているから」で放置しないことが大切です。
よくある質問(社内ツールの公開設定Q&A)
Q. URLが長くてランダムなら、推測されないので大丈夫では?
A. URLは、送った相手の転送、ブラウザの履歴、チャットの検索、ログなど、いろいろな経路で広がります。「知られなければ安全」に依存する設計は、知られた瞬間に守りがゼロになります。門と鍵を別に用意してください。
Q. 自分しか使わないツールでも、公開設定を気にすべき?
A. はい。使うのが自分だけでも、公開範囲がPublicなら入口は全世界に見えています。第2条で扱ったAPIキーを使うツールなら、なおさら他人に使われた分の請求は自分に来ます。
Q. 社内ツールのログインを、自前で作ってもいいですか?
A. おすすめしません。試行回数制限や多要素認証を自前で正しく作るのは難易度が高く、AIが生成した「それらしいログイン」には抜けが残りがちです。サービスの認証機能や、会社のアカウント基盤(Google Workspace、Microsoft Entra IDなど)でのログインに乗せる方が安全です。
Q. 確認して問題があったら、誰に言えばいい?
A. 会社の情報システム担当や、ツールの責任者に、そのまま伝えてください。「公開範囲を確認したらこう見えた」という報告は、責められる話ではなく、歓迎される話です。
まとめ:公開する前に、誰が入れるか確認
最後の10ページ目のチェックリストを、もう一度。
- 公開先の設定を確認する(Public/非公開、閲覧者の指定、GASの「全員」の意味)
- 社外回線・未ログインで、実際に開いて確認する
- 必要な人だけに許可する(配った相手ではなく、入れる相手で考える)
- 入口の制限(門)と認証(鍵)を重ねる
「URLを送った相手」と「URLに入れる相手」は別。この一点を覚えておくだけで、社内ツールの事故はぐっと減ります。次にデプロイするときは、ぜひシークレットモードとスマホの回線で、外からの見え方を確かめてみてください。
次回は第4条を、同じく漫画でお届けします。
株式会社Four Youでは、生成AIの導入支援から、AIで作った社内ツールを安全に運用するための体制づくりまで、企業のAI活用を伴走支援しています。「AIでツールは作れたが、公開設定やアクセス管理が不安」という方は、お気軽にご相談ください。



