🔒

組織におけるAppSheetの本格運用:セキュリティとガバナンス戦略

に公開

2025/9/30 公式情報に基づき内容を修正しました。複雑な表現式におけるパフォーマンスの警告を削除し、ガバナンスポリシーがAppSheet Enterprise Plusライセンスの必須機能であることを明確にしました。


ノーコードプラットフォームであるAppSheetは、組織内の誰もがアプリを構築し、イノベーションを加速できる「開発の民主化」を促進します。現場のユーザーが自らの業務課題を迅速に解決できる反面、その手軽さゆえに、本格運用にはセキュリティとガバナンスという統制の仕組みが不可欠です。

統制がないまま自由な開発を許容すると、以下のようなリスクが高まります。

  1. シャドーITの乱立: わずか250名のユーザーで500以上のアプリが開発された事例もあるように、組織が承認・管理していないアプリが急速に増殖します。
  2. セキュリティリスクとデータ漏洩: 従業員が個人アカウントで機密データを扱ったり、セキュリティ知識がないままアプリを構築したりすることで、データ流出のリスクが生じます。
  3. アプリのブラックボックス化: 担当者の異動や退職により、アプリが誰もメンテナンスできない状態になるリスクがあります。

AppSheetを安全かつ持続可能な業務基盤として展開するには、セキュリティとガバナンスという強固な土台が必要です。ガバナンスとは、非専門家が構築したアプリを、安全で、会社の目標に沿ったものにするための一連のポリシーとツールを指します。

AppSheetを組織の公式な資産として活用するには、以下の3つの視点から対策を講じることが重要です。

  • 【データ】のセキュリティ: 誰が、どのデータにアクセスできるのか。
  • 【ユーザー】のセキュリティ: 誰が、アプリを作成し、誰と共有できるのか。
  • 【アプリ】のセキュリティ: どのようなデータソースを使い、どのような機能を持つアプリを作成できるのか。

セクション1. データへのアクセスを制御する「セキュリティフィルター」

まず取り組むべきは、データへのアクセス制御です。たとえ同じアプリを使うユーザーでも、役職や担当業務に応じて、閲覧・編集できるデータ範囲は異なるはずです。これを実現するのがセキュリティフィルターです。

セキュリティフィルターの仕組み

セキュリティフィルターは、各テーブルの行に対して「この条件に合致するデータしか、ユーザーに見せない・アクセスさせない」というルールを定義する式です。最も重要なのは、このフィルタリング処理が「サーバーサイド」で行われるという点です。

  • セキュリティフィルター(サーバーサイド): 式の条件を満たすレコードのみを取得し、クライアント(ユーザーのデバイス)にダウンロードされるデータ量を制限します。これにより、同期速度が大幅に向上し、機密情報を扱うアプリでは必須の機能となります。
  • スライス(クライアントサイド): データをすべてクライアントにダウンロードした後で、表示上のみフィルタリングします。デバイス上にすべてのデータが存在するため、セキュリティの観点から不十分であり、大規模なデータセットではパフォーマンスのボトルネックを引き起こします。

データベースソースを使用する場合、AppSheetはセキュリティフィルターを効率的なSQLクエリに変換し、データベースにプッシュして、一致するレコードのみを返すように処理できます。

セキュリティフィルターの実践例

セキュリティフィルターの条件式には、ログインユーザーの情報(USEREMAIL()USERROLE())を使用できます。

  1. 自分のデータのみを表示する(基本):
    • 例: [AssignedTo] = USEREMAIL()
    • 現在ログインしているユーザーのメールアドレスと、データの作成者のメールアドレスを比較します。
  2. 役割に基づいたアクセス制御(応用):
    • 例: OR((USEREMAIL() = [Email]), (USERROLE() = "Admin"))
    • ユーザーのメールアドレスと一致するか、またはユーザーが管理者ロールを持っている場合に、行を含めることができます。

セクション2. 組織全体を統制する「ガバナンスポリシー」

セキュリティフィルターがデータ単位のミクロな制御であるのに対し、組織全体のAppSheet利用ルールを定めるのがガバナンスポリシーです。これは、IT部門が統制を維持するための生命線となる機能で、通常はAppSheet Enterprise Plusなどのライセンスが必要です。

ガバナンスポリシーは、組織内のAppSheetユーザーが「何をして良いか」「何をしてはいけないか」を定義する一元的なルールセットであり、管理コンソールから設定できます。これにより、シャドーITの発生を防ぎ、全社的なセキュリティ基準を維持することができます。ガバナンスポリシー機能が、EPライセンスのコア要素であり、EP管理者によって定義されたポリシーは、顧客のドメイン内のすべてのユーザー(Coreユーザーを含む)に適用されることを前提としています。

AppSheetで設定が推奨される主要なポリシー項目は以下の通りです。

  • データソースの制限: 承認されていない場所へのデータ保管を防ぎ、情報資産を組織の管理下に置きます。従業員が個人のストレージに機密データを置いてしまうリスクを根本から防ぎます。
  • アプリの共有制御: アプリケーションとそのデータが意図せず外部に共有されるのを防ぎます。組織内のアカウントにのみ共有を許可したり、特定の外部ドメインとの共有を例外的に許可したりすることができます。
  • オフラインアクセスの制御: デバイスの紛失や盗難時に、ローカルに保存されたデータからの情報漏洩を防ぎます。機密性の高いデータを扱うアプリに対し、オフラインアクセスを禁止するポリシーを適用できます。
  • AI機能の利用制御: Gemini in AppSheetなどの生成AI機能の利用について、組織としての方針を適用します。AI機能への情報入力を懸念する場合、利用を一旦禁止するなど、コンプライアンス上のリスクを管理できます。

まとめ

セキュリティフィルターは、ユーザーの役割に応じてデータへのアクセス権を厳密に制御する「盾」の役割を果たします。一方、ガバナンスポリシーは、アプリ開発の自由度と組織の安全性を両立させるための「羅針盤」です。

これらの機能は、自由な開発を妨げるものではなく、むしろ従業員が安心してアプリを開発・利用できる環境を整備する「ガードレール」となります。セキュリティとガバナンスという強固な土台を固めることで、AppSheetは信頼性の高い「公式な業務改善プラットフォーム」へと進化し、統制の取れた安全な市民開発文化が企業のDXを真に加速させます。

Discussion