top of page

​タグ一覧

配列処理(73)

階層化フォーム(33)

ファイル操作(28)

シート・セル操作(26)

開発事例(25)

図形操作(15)

設計思想(13)

講座実施報告(12)

ユーザーフォーム(10)

コード自動生成(10)

ココナラ(9)

数学(8)

文字列操作(8)

GAS(7)

開発効率化(6)

Webアプリ(6)

副業(5)

アニメーション(5)

技術解説(4)

イミディエイトウィンドウ(4)

OneDrive(4)

イベントプロシージャ(4)

Googleスプレッドシート(4)

クリップボード(4)

条件付き書式(4)

その他(4)

小説(3)

HTML(3)

JavaScript(3)

Enum(2)

PDF(2)

フリーランス(2)

リスキリング(2)

Excel(2)

Outlook(2)

介護(2)

Discord(2)

シフト表(2)

LookerStudio(2)

日報(2)

カレンダー(2)

公開ツール(2)

罫線(2)

パズル(2)

小ネタ(2)

コード解説(2)

クラスモジュール(2)

Antigravity(2)

デスクトップアプリ(2)

ステータスバー(1)

コード解析(1)

バックアップ(1)

可変長引数配列(1)

ブック処理(1)

スクレイピング(1)

スプレッドシート(1)

coconala(1)

リボン登録マクロ(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

リボン(1)

超勉強会(1)

スピログラフ(1)

図名描写(1)

連想配列(1)

溶接ロボット(1)

VBA(1)

保育士(1)

楽天市場(1)

経理(1)

医療(1)

文書作成(1)

発注書(1)

ショートカット(1)

WebAPI(1)

色操作(1)

スーパー開発ショートカット(1)

ライブラリ処理(1)

放課後等デイサービス(1)

児童福祉支援(1)

学校(1)

UI(1)

CAD(1)

カーソル操作(1)

チェックボックス(1)

PowerShell(1)

python(1)

VPNなしで業務データを安全に共有するには?ITに詳しくない会社向けの現実的な選択肢

VPNなしで業務データを安全に共有するには?ITに詳しくない会社向けの現実的な選択肢

この記事は全2回シリーズの第2回です。

第1回では、OneDrive上のAccessやSQLiteのデータベースファイルを、複数PCから直接更新する運用は避けたほうがよい、という話を整理しました。要点は次の3つです。

  • OneDriveはファイル同期サービスであり、データベースサーバーではない

  • ファイル型データベースの直接共有には向かず、同期競合やロックの不整合が起こり得る

  • VPNを追加しても、OneDriveの同期競合そのものは解決しない

なぜOneDriveでのデータベース共有が危険なのか、その理由は「OneDriveでデータベースを共有するのは危険?複数PCからの同時更新を避けるべき理由」で詳しく解説しています。

では、それでも複数拠点・複数端末から業務データを共有したい場合、IT担当者がいない会社や、VPN・サーバー構築が難しい利用者には何を提案すればよいのでしょうか。第2回では、その現実的な選択肢を整理します。

 

中心となる考え方:利用者の操作を「URLを開いてログイン」までにする

私が一つの考え方としてお伝えしているのは、次の方針です。

利用者にデータベースやネットワークを操作させるのではなく、利用者側の操作を「URLを開いてログインする」まで簡単にする。データの同時更新、認証、権限、バックアップは、Webアプリやクラウドサービスの裏側で管理する。

お客さま側の利用イメージは、次のようになります。

1. 専用URLを開く
2. メールアドレスなどでログイン
3. 登録・検索・編集を行う

データベースファイルを開く、ネットワークドライブを設定する、VPNへ接続するといった作業は不要にします。

利用者がITに詳しくない場合、VPN、ODBC(データベースへ接続するための設定)、接続文字列、DBのポートといったものを設定してもらう構成は、導入時だけでなく運用後の保守負担も大きくなります。トラブルが起きたときに、どこが原因なのかを利用者自身が切り分けられないからです。

利用者
「URLを開く」
「ログインする」
「登録・検索する」
       ↓
裏側
認証/権限/DB/バックアップ

利用者に見せる範囲を狭くしても、開発・管理側の責任が減るわけではありません。裏側では、認証、権限、バックアップをきちんと設計する必要があります。

 

 

「必ず本格的なデータベースが必要」とは限らない

選択肢の話に入る前に、一つ確認しておきたいことがあります。業務内容によっては、最初からSQL ServerやPostgreSQLのような本格的なデータベースを使わなくてもよい場合があります。

例えば、次のような用途であれば、Microsoft Lists、SharePointリスト、Googleスプレッドシートなどをデータの保存先として使える場合があります。

  • 顧客一覧

  • 案件一覧

  • 作業記録

  • 日報

  • 点検結果

  • 簡単な予約

  • 申請状況

  • 小規模なマスター管理

一方、次のような要件がある場合は、本格的なデータベースを検討します。

  • 複数テーブルの複雑な関連

  • 大量データ

  • 高頻度な同時更新

  • 厳密なトランザクション

  • 利用者ごとの詳細な権限

  • 履歴や監査ログ

  • 将来の大幅な機能追加

ここは単純化しないほうがよい部分です。「小規模だから何でもスプレッドシートでよい」わけでもありませんし、「本格的なDBを使えば必ず安全」というわけでもありません。

 

 

選択肢1:Microsoft Lists+Power Apps

すでにMicrosoft 365を使っている会社であれば、まず検討したい構成です。

PC・スマホ
    ↓
Power AppsまたはMicrosoft Lists
    ↓
SharePoint上のリスト

利用者はMicrosoftアカウントでログインし、ブラウザまたはPower Appsからデータを登録・検索・編集します。

 

向いているケース

  • すでにMicrosoft 365を利用している

  • OneDriveやTeamsを使えている

  • 一覧表が中心の業務

  • 複雑なリレーション(テーブル同士の関連)が少ない

  • 社内ユーザーが中心

  • 早く小さく始めたい

 

メリット

  • VPNが不要

  • データベースの接続設定が不要

  • 既存のMicrosoftアカウントを使える

  • ブラウザやスマホから利用できる

  • OneDriveを使っている方には比較的説明しやすい

  • 一覧、入力、検索の画面を作りやすい

 

注意点

  • SharePointリストは、本格的なリレーショナルデータベースとは異なる

  • データ件数や検索方法によっては、Power Appsの委任制限(サーバー側で処理できる件数の制約)を考慮する必要がある

  • 複雑な集計や大量データには向かない場合がある

  • Power Appsのライセンス条件を事前に確認する

  • 外部ユーザーと共有する場合は、テナントや権限の設計が必要

  • Power Appsを導入すれば自動的に安全になるわけではなく、共有設定と権限の確認は欠かせない

公式の参考資料は次のとおりです。

 

 

選択肢2:GAS Webアプリ+Googleスプレッドシート

Google環境を使っている会社や、低コストで小さく始めたい場合の有力な選択肢です。

PC・スマホ
    ↓
GAS Webアプリ
    ↓
Googleスプレッドシート

ポイントは、利用者がスプレッドシートを直接開かないことです。GAS(Google Apps Script)で作成した入力・検索画面を使ってもらい、書き込み処理はサーバー側のGASが担当します。

 

向いているケース

  • Googleアカウントを利用できる

  • データ量が比較的小さい

  • 同時更新が極端に多くない

  • 一覧・登録・検索・帳票出力が中心

  • 低コストで始めたい

  • まず試験導入して様子を見たい

 

メリット

  • VPNが不要

  • PCへのアプリのインストールが不要

  • URLから利用できる

  • スマホにも対応しやすい

  • スプレッドシートを管理画面として利用できる

  • メール、PDF、Google Driveとの連携がしやすい

 

注意点

  • Googleスプレッドシートはリレーショナルデータベースではない

  • 高頻度のアクセスや大量データには限界がある

  • 同時書き込みが想定される場合は、LockServiceなどを使った排他制御を検討する

  • GASには実行時間や各種クォータ(利用上限)がある

  • シートを利用者へ直接編集させず、原則としてWebアプリ経由にする

  • 機密情報の共有範囲と、デプロイ時のアクセス設定を慎重に確認する

  • バックアップ、変更履歴、エラー通知を設計しておく

この選択肢の位置付けは、次のとおりです。

本格的なデータベースサーバーの代替ではなく、比較的小規模な業務をWeb化するための現実的な中間案です。

 

 

選択肢3:専用Webアプリ+マネージドDB

長期運用、複雑な処理、拡張性が必要であれば、最も本格的な選択肢になります。

利用者PC・スマホ
       ↓ HTTPS
   専用Webアプリ
       ↓
認証・権限確認・API
       ↓
クラウドデータベース

技術構成の一例は次のとおりです。

フロントエンド:Next.js
公開先:Vercelなど
認証:Supabase Auth、Microsoft Entra IDなど
DB:PostgreSQL、Azure SQLなど
ファイル:OneDrive、SharePoint、クラウドストレージ

お客さま側の操作は、他の選択肢と変わりません。URLを開き、メールアドレスとパスワード(またはメールに届くコード)でログインし、画面から登録・検索・更新を行うだけです。

 

メリット

  • VPNが不要

  • 同時更新をデータベース側で管理できる

  • 利用者ごとに権限を設定できる

  • Windows、Mac、スマホに対応できる

  • アプリの更新を一括で反映できる

  • 拠点が増えたときの端末設定が少ない

  • データ件数の増加や機能拡張に対応しやすい

  • データベースファイルを利用者へ配布しなくて済む

 

セキュリティ上の重要事項

VPNを使わないからといって、セキュリティ対策をしないという意味ではありません。むしろ、次の項目は省略できません。

  • HTTPSを使用する

  • データベースを無制限に公開しない

  • 認証を必須にする

  • 利用者ごとに権限を設定する

  • 秘密鍵や管理用キーをブラウザへ埋め込まない

  • 定期バックアップと、実際に復元できるかの確認を行う

  • 操作ログを残す

  • 退職者や不要なアカウントを停止できるようにする

  • 必要に応じて多要素認証を採用する

例えばSupabaseを使う場合、Row Level Securityという仕組みがあります。

Row Level Securityは、利用者ごとに閲覧・追加・更新できる行を制御する仕組みです。例えば、一般利用者には自分の担当データだけを表示し、管理者にはすべてを表示する、といった制御ができます。

公式の参考資料は次のとおりです。

 

注意点

  • 開発費と月額費用がかかる

  • 保守を担当する人が必要になる

  • 権限設計を誤ると、情報漏えいにつながる

  • サービスの料金・上限・仕様変更を定期的に確認する

  • 「クラウドだから安全」ではなく、設定と運用が重要

 

 

選択肢4:既存のAccess・Excelを1台に集約して遠隔操作

既存のシステムをすぐにWeb化できない場合の、暫定案です。

利用者PC
    ↓ 遠隔操作
管理PC・クラウドPC
 ├ Access/Excelアプリ
 └ DBファイル

データベースファイルは1台の管理PC(またはクラウド上のPC)にだけ置き、利用者はその画面を遠隔操作します。ファイルを各PCから直接開かないため、同期競合の問題は避けられます。

 

メリット

  • 既存のAccessやExcel VBAを大きく変更しなくてよい

  • データベースファイルを各PCから直接開かない

  • 短期間で遠隔利用へ移行しやすい

 

デメリット

  • 管理PCを常時稼働させる必要がある

  • 故障すると全員が利用できなくなる

  • 複数人が同時に使う場合の設計が必要

  • 遠隔操作環境のアカウント管理が必要

  • 恒久的に運用する場合、Webアプリより管理負担が大きくなることがある

この方法は完全な解決策ではなく、既存資産を残しながら移行するための期間限定の選択肢と位置付けるのが現実的だと考えています。

 

 

避けたい構成

VPNを使わない代替案として、安易に選びたくない構成もあります。

 

ExcelやAccessからクラウドDBへ直接接続する

各PCのExcel/Access
      ↓ インターネット
クラウドDB

技術的には可能ですが、次のような問題が残ります。

  • 各PCへのドライバー設定が必要

  • 接続文字列の管理が必要

  • 認証情報を各PCへ配布することになる

  • IPアドレス制限の運用が必要

  • 接続エラーが起きたときの切り分けが難しい

  • データベースのポートを公開するリスク

  • 利用者が設定を変更してしまう可能性

  • アプリの中に認証情報が残ってしまう危険

ITに詳しくないお客さまには、APIまたはWebアプリを介する構成のほうが運用しやすいと感じています。

 

OneDrive上のDBを「一人ずつ使うルール」で継続する

運用ルールだけに頼る方法にも、次の問題が残ります。

  • 誰かが閉じ忘れる

  • 同期が完了する前に、別の端末が開いてしまう

  • オフラインで編集されてしまう

  • 自動処理がバックグラウンドでファイルを開く

  • 競合が起きたとき、どちらが正しいファイルか判断しにくい

一時的な回避策にはなりますが、長期的な共有設計としてはおすすめできません。

 

 

OneDriveを残す役割

念のため書いておくと、OneDriveを全面的に廃止する必要はありません。役割を分けるだけです。

OneDriveに残してよいものは次のとおりです。

  • PDF

  • 画像

  • Word資料

  • Excel帳票

  • 操作マニュアル

  • 請求書

  • 出力済みのCSV

  • 利用者が参照する添付資料

別の仕組みへ移したほうがよいものは次のとおりです。

  • 頻繁に更新する顧客データ

  • 案件・予約・在庫などの業務データ

  • Accessのバックエンド

  • SQLiteのファイル

  • アプリが常時読み書きするデータ

  • 複数人が同時更新するマスターデータ

整理すると、次のようになります。

業務データ
  → Microsoft Lists/GAS Webアプリ/クラウドDB

資料・帳票
  → OneDrive

 

 

規模別の選び方

状況ごとの第一候補を整理します。

  • Microsoft 365を利用していて、単純な一覧管理が中心 → Microsoft Lists+Power Apps(既存アカウントを活用しやすい)

  • Google環境で、小規模・低コストで始めたい → GAS Webアプリ+スプレッドシート(URLだけで使い始めやすい)

  • 複雑な業務で、長期運用・拡張の予定がある → 専用Webアプリ+マネージドDB(権限・同時更新・拡張性に優れる)

  • 既存のAccessをすぐには変更できない → 管理PCへ集約+遠隔操作(改修を抑えた暫定運用)

  • 大量データや厳密な業務処理がある → SQL ServerやPostgreSQL等+Webアプリ(DBサーバーで整合性を管理)

 

 

選定時に確認したい質問

どの方法が合うかは、次の質問への答えで見えてきます。ご相談をいただいたときに、私が確認している内容です。

  1. 利用者は何人か

  2. 同時に操作する人数は何人か

  3. 社内だけか、社外・自宅・複数店舗からも使うか

  4. データ件数は、現在と3年後でどの程度になりそうか

  5. テーブル同士の関連は複雑か

  6. 誰がどのデータを見られるようにするか

  7. 削除や更新の履歴を残す必要があるか

  8. PDF、画像、Excelなどの添付ファイルがあるか

  9. 月額費用を許容できるか

  10. MicrosoftアカウントとGoogleアカウントのどちらを利用しているか

  11. 障害が起きたとき、誰が対応するか

  12. バックアップから復元する手順があるか

なお、ライセンスやサービスの仕様は変わります。導入を決める際は、その時点の公式情報を必ず確認してください。

 

 

お客さまへの説明例

技術用語を避けて説明する場合、次のような伝え方ができます。

現在の方法では、OneDrive上の一つのデータファイルを複数のパソコンが直接更新するため、操作のタイミングや同期状況によって内容が競合する可能性があります。 今後は、データファイルを直接開くのではなく、専用の入力・検索画面を通して管理する方法をおすすめします。 利用者側でVPNやデータベースの設定を行う必要はなく、通常のWebサイトと同じように、専用URLを開いてログインするだけで利用できます。 OneDriveは、PDF、画像、Excel帳票などのファイル共有に引き続き使用できます。

 

 

まとめ

2回にわたって整理した内容をまとめます。

  • ITに詳しくない利用者へ、サーバーやネットワークの設定を押し付けない

  • データベースファイルを配布せず、Web画面を提供する

  • 単純な業務であれば、Microsoft ListsやGAS Webアプリで始められる

  • 複雑で長期運用するなら、専用Webアプリ+マネージドDBを検討する

  • 既存のAccessを残す場合は、遠隔操作を暫定案にする

  • OneDriveは、資料・帳票の共有として引き続き活用する

  • 利用者の操作を簡単にしても、開発・管理側で認証、権限、バックアップを省略しない

ITに詳しくない利用者がいるからこそ、利用者自身にVPNやデータベースの設定を行ってもらうのではなく、仕組みの裏側を開発者側で整える必要があります。利用者に見せるのは、登録、検索、編集ができる分かりやすいWeb画面だけです。

「URLを開いてログインするだけ」という状態を作ることで、操作の難しさを減らしながら、OneDrive上のデータベースを直接共有する危険も避けられます。

Excel VBAによる業務自動化・ツール開発をご検討の方へ

​"脱Excel"の前に、現状のExcelの潜在能力を120%発揮してみませんか?

softex-celwareロゴ 透過 横長.png

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page