AppSheet設計のポイント(3) アクセス権限はAdmin・Userの2つにわける
はじめに
GoogleのノーコードツールAppSheetでのアプリ開発における設計のポイント第3回。前回までは「データ構造を最小限に設計」「シンプルで使えるアプリを目指す」がテーマでした。今回は利用者へのアクセス権限設定について解説します。
目標:
- 利用者にAdminかUserのいずれかのロールを設定する
- テーブル単位のアクセス権限を設定する
- View(画面)単位にアクセス権限を設定する
ありがちなトラブル
ケース1:マスタデータの誤編集による業務混乱
権限を明確に分けないまま運用すると、誰でもマスタデータを変更でき、気づいたときには売上管理や在庫管理が混乱していた、というリスクがあります。管理者以外は閲覧のみとし、編集は制限すべきです。
ケース2:機密情報の漏洩リスク
経理情報(給与明細・仕入金額・取引条件など)が広く見える状態は危険です。管理者のみアクセス可能にするか、当該データを非表示にすべきです。
アクセス権限が曖昧なままだと、誤操作や不正アクセスによるデータ破損・消失、機密情報漏洩のリスクが高まります。
2つのロールからはじめよう
「ロール」とは
ロール(役割)は、ユーザーに与える権限の区分です。ロールで権限をまとめることで、ユーザーごとの個別設定が不要になります。
最小構成:AdminとUser
最初は「Admin(管理者)」と「User(一般ユーザー)」の2ロールで十分です。後から必要に応じて追加できます。
Admin(管理者)ロール
Adminは以下の操作が可能です:
- アプリ全体の設定やメンテナンスの実施
- データ構造(テーブルや列)の変更
- 全レコードの編集・削除
経営者やIT担当者など、責任者が担当します。人数は最小限にします。
User(一般ユーザー)
以下の範囲で操作可能です:
- 日常業務に必要な範囲での閲覧・編集(営業記録入力など)
- データ構造の変更は行わない
現場業務に集中しやすくなり、誤操作リスクを軽減できます。
必要最低限のアクセス権設計
アクセス権の全体像
「誰が」「どのデータ」「どこまで操作できるか」をざっくり整理しておくことが重要です。細かすぎる設定は最初は不要で、運用しながら調整するアプローチが現実的です。
最低限押さえるべきポイント
- 細かすぎる設定は最初は不要 — 最初はAdminとUserの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ロールで足りなければ、利用者が多すぎるのかもしれません。セキュリティと業務効率を保ちながら運用するために、まずは小さく始めることをお勧めします。