AppSheet設計のポイント(3) アクセス権限はAdmin・Userの2つにわける

はじめに

GoogleのノーコードツールAppSheetでのアプリ開発における設計のポイント第3回。前回までは「データ構造を最小限に設計」「シンプルで使えるアプリを目指す」がテーマでした。今回は利用者へのアクセス権限設定について解説します。

目標:

  • 利用者にAdminかUserのいずれかのロールを設定する
  • テーブル単位のアクセス権限を設定する
  • View(画面)単位にアクセス権限を設定する

ありがちなトラブル

ケース1:マスタデータの誤編集による業務混乱

権限を明確に分けないまま運用すると、誰でもマスタデータを変更でき、気づいたときには売上管理や在庫管理が混乱していた、というリスクがあります。管理者以外は閲覧のみとし、編集は制限すべきです。

ケース2:機密情報の漏洩リスク

経理情報(給与明細・仕入金額・取引条件など)が広く見える状態は危険です。管理者のみアクセス可能にするか、当該データを非表示にすべきです。

アクセス権限が曖昧なままだと、誤操作や不正アクセスによるデータ破損・消失、機密情報漏洩のリスクが高まります。

2つのロールからはじめよう

「ロール」とは

ロール(役割)は、ユーザーに与える権限の区分です。ロールで権限をまとめることで、ユーザーごとの個別設定が不要になります。

最小構成:AdminとUser

最初は「Admin(管理者)」と「User(一般ユーザー)」の2ロールで十分です。後から必要に応じて追加できます。

Admin(管理者)ロール

Adminは以下の操作が可能です:

  • アプリ全体の設定やメンテナンスの実施
  • データ構造(テーブルや列)の変更
  • 全レコードの編集・削除

経営者やIT担当者など、責任者が担当します。人数は最小限にします。

User(一般ユーザー)

以下の範囲で操作可能です:

  • 日常業務に必要な範囲での閲覧・編集(営業記録入力など)
  • データ構造の変更は行わない

現場業務に集中しやすくなり、誤操作リスクを軽減できます。

必要最低限のアクセス権設計

アクセス権の全体像

「誰が」「どのデータ」「どこまで操作できるか」をざっくり整理しておくことが重要です。細かすぎる設定は最初は不要で、運用しながら調整するアプローチが現実的です。

最低限押さえるべきポイント

  1. 細かすぎる設定は最初は不要 — 最初はAdminとUserの2ロールのみで、必要が出てきたら追加します。
  2. 重要データを保護する — 機密情報(顧客情報・給与・取引条件)は最初からしっかり守る設定を検討します。

AppSheet標準機能でのアクセス権限コントロール

ユーザー管理を有効にする

SecurityメニューのRequire user sign-inを有効化します。ユーザーのログインが必須になり、アクセス権限が有効化されます。

ユーザーロールを割り当てる

Shareボタンで開いた画面でAdvancedをONにし、各ユーザーのメールアドレスに「Admin」または「User」を割り当てます。一般はUser、管理者のみAdminに設定します。

テーブル単位での「Are updates allowed?」制御

SWITCH(
  USERROLE(),
  "Admin", "ALL_CHANGES",
  "User", "READ_ONLY",
  "READ_ONLY"
)

このコードでAdminは編集可能、それ以外は閲覧のみになります。

Viewsでロール別のメニュー表示を切り替える

管理者向け設定画面はShow if欄に以下を記入します:

USERROLE() = "Admin"

これでAdminロールのみに表示されます。

細かい制御が必要な場合

「この人には営業部のデータだけ編集させたい」といった複雑な条件ではSecurity Filtersやユーザーテーブルを活用します。ただし最初から複雑にしすぎず、必要になったら拡張するのが実践的です。

運用フェーズでの見直しと拡張

運用を通じた権限の再検討

「ここは管理者以外でも編集できた方が良い」など、運用で出てきた声に応じて権限を修正します。人員異動や組織体制の変化にも対応していく必要があります。

ロール追加のタイミング

「営業管理者」「経理担当者」「外部スタッフ」といった新ロールは以下の場面で追加します:

  • 新部署や拠点ができたとき
  • 外部スタッフやパートナー企業とのアプリ共有が必要になったとき
  • コンプライアンス・セキュリティ面でより厳密な管理が求められるとき

まとめ

「最初に完璧に作りこまないといけない」と思わず、AdminとUserの2ロールでスタートしましょう。実際の利用を通じて、現場の声を取り入れながら少しずつ拡張していくアプローチが実践的です。MVPの段階で2ロールで足りなければ、利用者が多すぎるのかもしれません。セキュリティと業務効率を保ちながら運用するために、まずは小さく始めることをお勧めします。