Google が提供するノーコード開発プラットフォーム「 AppSheet (アップシート)」の基礎的な解説シリーズです。
「AppSheetとは」をテーマに初歩から解説します。第6回は、AppSheetの セキュリティ と ガバナンス の機能を紹介します。
この記事は、これから情報を集めて検討しようとしている企業の担当者様向けに、初歩から解説しています。
現場主導の業務改善、ノーコード開発、Google Workspaceと連携したデータ活用やDX推進に関心がある方は、是非参考にしてください。
1. AppSheet に セキュリティ ガバナンス が必要な理由
経済産業省(2008)「産業構造審議会情報セキュリティ基本問題委員会 中間とりまとめ」によると、「セキュリティガバナンスとは、情報資産に係わるリスクの管理を目的として、情報セキュリティに関わる意識、取組及びそれらに基づく業務活動を組織内に徹底させるための仕組みを構築・運用することである」とされています。
AppSheetは社内の情報資産を取り扱います。時には、個人情報や機密情報をアプリに含めていることもあります。このため、アプリ作成者とアプリユーザーは、情報セキュリティに関するルールとガイドラインを遵守した上で、AppSheetを運用する必要があります。
こうしたことから、AppSheetに関するセキュリティガバナンスの構築、運用のために、ポリシー(Policy)を策定することが求められます。ポリシーとは、
- AppSheetで作成される全てアプリに適用されるルールとガイドラインを表現する
- AppSheetアプリの作成、管理及び配布の方法を規定するルールとして策定する
- 設計の一貫性とコンプライアンスのために策定する
ものです。
AppSheetでは、ポリシーを追加して、自動的にアプリにポリシーを適用させることができます。ただし、契約しているサブスクリプションにより、ポリシーの適用範囲が異なります。
- Starter、Coreプラン:アカウント内のすべてのアプリに対してポリシーを適用する
- Enterpriseプラン:チームに属するアカウント内のすべてのアプリに対してポリシーを適用する
Google Workspace に含まれている AppSheet Core プランの場合、それぞれのアカウントでポリシーを追加する必要があります。これから市民開発を始めるアプリ作成者にとっては技術的にハードルが高く、情シスがアプリ作成者を回ってポリシー設定するのも手間と時間がかかります。AppSheet Core プランでポリシーを策定し、運用したい場合は、まずはドキュメントを作成することをオススメします。ポリシーのドキュメントをアプリ作成者とユーザーに配布し、適宜参照、遵守しながらアプリ作成、管理及び配布するようにします。
アプリスイートでは、セキュリティガバナンス支援を行っています。ポリシー策定支援もあるので、気になる方はご相談ください。
2.セキュリティフィルター
AppSheetにはセキュリティに関する機能があります。ここでは、代表的な機能である、セキュリティフィルターを紹介します。アプリ作成者は、セキュリティフィルターを使って、ユーザー別に表示されるデータを制御(フィルタリング)することができます。具体的には、
- 日報アプリで、ユーザーは自分の日報だけを表示する(他のユーザーに自分の日報は見られない)
- 日報アプリで、管理者だけは全員の日報を表示することができる
ように、ユーザーの職位、権限、所属組織によって表示できるデータを制限するような使い方ができます。
セキュリティフィルターの設定手順は、以下の通りです。
- ユーザーサインインを有効にする
- レコード作成者を識別する列を用意する
- セキュリティフィルターに条件式を設定する
ユーザーサインイン
エディタ左側メニュー「Security」をクリックします。「Require Sign-In」タブに移動して、「Require user signin?」をONして有効にします(デフォルトで有効です)。こうすることで、AppSheetはサインインしているユーザーのメールアドレスを認識して、表示されるデータをフィルタリングできるようになります。
レコード作成者を識別する列を用意する
データソース(Googleスプレッドシートなど)にレコード作成者を識別する列を追加します。この列にはサインインしているユーザーのメールアドレスを保存するようにします。日報アプリの例では、Googleスプレッドシートの「日報」ワークシート内に「作成者」という列を追加します。
アプリエディタで「日報」テーブルを追加して、「作成者」列を設定します。
- TYPE(データ型):Email または Ref
- 社員マスタと紐付けたい場合は、Ref を使います。
- INITIAL VALUE:USEREMAIL()
このように設定することで、日報を追加する時に、「作成者」列にアプリユーザーのメールアドレスが保存されます。
開発中は、エディタ右側のプレビュー画面の下にある「Preview App as」でメールアドレスを設定して試すことができます。「yamashita@xxx.com」というメールアドレスを入力して、「Apply」ボタンをクリックします。こうすることで「yamashita@xxx.com」というメールアドレスのユーザーがサインインして、アプリを使っている状態になります。この状態で日報を追加すると、「作成者」列に「yamashita@xxx.com」が保存されます。
セキュリティフィルターに条件式を設定する
セキュリティフィルターを設定しない状態では、アプリ共有している全員分の日報データが表示されます。
エディタ左側メニュー「Security」をクリック、Securityナビゲーション内の「Security Filters」をクリックします。「日報」テーブルをクリックして設定パネルを開きき、「Security filter」の入力フィールドをクリックします。
条件式を設定するためのExpression Assistantが開くので、以下のように入力します。
これで、「日報」テーブルの「作成者」の値が、サインインしているユーザーのメールアドレスに合致するデータのみを表示することができます。プレビュー画面で確認してみましょう。メールアドレスが「yamashita@xxx.com」の作成者(山下健太)の日報がフィルタリングされて表示されます。
3.アプリ転送
AppSheetにはアプリ管理関する機能があります。ここでは、代表的な機能である、アプリ転送を紹介します。アプリ作成者が異動したり退職したりした後に、引き続きチームでアプリを使用したい場合に、アプリ転送することができます。アプリ転送は情報セキュリティに関わるので、ポリシーに則って手順通りに実行するようにします。
アプリ転送の手順
Google Workspaceなど、同一の組織ドメイン内でアプリ転送するパターンを考えます。はじめに、受信者が転送をリクエストします。受信者はアプリ定義の編集権限(Edit definition)が必要です。受信者が、アプリ転送をリクエストする手順は以下の通りです。
- エディターでアプリを開き、左側メニュー「Manage」をクリック、Manageナビゲーション内の「Collaborate & Publish」をクリックして開きます。
- 「Transfer」をクリックして開きます。
- 「Request Transfer」ボタンをクリックします。 転送リクエストは48時間有効です
元のアプリ所有者(アプリ作成者)が、アプリを転送する手順は以下の通りです。
- エディターでアプリを開き、左側メニュー「Manage」をクリック、Manageナビゲーションパネル内の「Collaborate & Publish」をクリックして開きます。
- 「Transfer」をクリックして開きます。
- 「Transfer App」ボタンをクリックします。
以上でアプリ転送は完了です。
アプリで使用するフォルダやデータを共有する
アプリで使用しているデータ類(フォルダ、Googleスプレッドシート、画像、ファイルなど)を共有ドライブに置いており、かつ、転送した受信者が共有ドライブを共有しているメンバーの場合は、以下のデータ共有手続きは不要です。
アプリ転送すると、アプリオーナー(App owner)が受信者に変更されます。アプリオーナーには、アプリデータにアクセスできる権限(共有されている、または所有権をもつオーナーである)が必要です。受信者にアクセス権限がない場合、アプリを開くことができません。
共有ドライブを使用していない(マイドライブ使用)場合は、Googleドライブの共有設定で、アプリデータを受信者と共有します。元のアプリ所有者が異動や退職する場合は、アプリデータのオーナー権限を受信者に譲渡します。Googleドライブにおける共有設定、および、オーナー権限譲渡については、組織内のポリシーに従って手順通りに実行してください。
以上、AppSheetのセキュリティとガバナンスについて、代表的な機能を2つ紹介しました。AppSheetはチームで運用することが多いため、情報資産に係わるリスク管理のために、セキュリティガバナンスを構築する必要があります。AppSheetは、セキュリティフィルターやアプリ転送以外にも、様々なセキュリティガバナンス機能を備えています。アプリスイートでは、セキュリティガイドラインやアプリ統制手順など、ポリシー策定支援を行っています。セキュリティガバナンスに関する研修も行っているので、気になる方はお気軽にご相談ください。
- 第1回 特徴、メリット、料金を解説
- 第2回 AppSheetでできること
- 第3回 AppSheet活用事例(1)設備保全管理
- 第4回 AppSheet活用事例(2)問い合わせ管理
- 第5回 AppSheet活用事例(3)QRコードで備品管理
- 第6回 セキュリティとガバナンス