セキュリティの概要

アプリとデータのセキュリティとプライバシーを維持することは、アプリ機能を構築することと同じくらい重要な作業です。

アプリとデータを保護するため、次のセキュリティ対策を検討してください。

コンポーネントセキュリティ対策
アプリ プロジェクトApp Maker を使用してアプリ プロジェクトを構築します。アプリ プロジェクトには、アプリのすべてまたは大半の機能とセキュリティを定義します。
アプリいくつかのセキュリティ対策はデータと UI の両方に適用できます。
実行 IDアプリをユーザーとして実行するか、アプリのデベロッパーとして実行するかを指定します。
データApp Maker モデルに保存されているデータを保護します。
アプリの UI
  • ページ全体とページの UI 要素の両方を保護します。
  • アクセス権を使用して、特定のユーザーが取得できる UI ページを制限します。
  • アクセス権の検証後に UI 要素を表示します(1 つ以上のセキュリティ基準に基づいてユーザーにアクセスを許可する場合)。
サーバー スクリプトデータにアクセスするサーバー スクリプトを保護します。
デプロイメント
  • デプロイメントを実行できるユーザー(Google アカウント)とグループ(Google グループ)を指定します。
  • 管理者役割のメンバーシップを指定します。他の役割を定義している場合は、その役割のメンバーシップも指定します。
  • アプリのデプロイメントの他のセキュリティ対策は、デプロイメントの作成に使用したアプリ プロジェクトのバージョンから継承されます。たとえば、アプリ プロジェクトではモデルとページのセキュリティが定義されています。

継続的にセキュリティを管理する

アプリケーションやそれが管理するデータが変更された場合は、次のことをおすすめします。

  1. セキュリティを見直す。
  2. 個人やグループの職務の変更に合わせてセキュリティを調整する。
  3. 次のセキュリティ対策を継続的に管理する。

    • アプリ プロジェクトの所有権と共有

    • データに対するアクセスの制限。役割とスクリプトのアクセス権データに適用して、特定のユーザー(Google アカウント)、グループのメンバー(Google グループ)、またはその両方のアクセスを制御します。

    • ページと UI 要素に対するアクセスの制限。役割とスクリプトのアクセス権UI に適用して、特定のユーザー(Google アカウント)、グループのメンバー(Google グループ)、またはその両方のアクセスを制御します。

    • アプリのデプロイメントを実行できるユーザー

    • アプリのデプロイメントに管理者役割持つメンバー

    • アプリのデプロイメントにデベロッパー定義の役割を持つメンバー

セキュリティ対策のベスト プラクティス

  • アプリ プロジェクトの共有を管理する - 開発やアプリの公開用にアプリ プロジェクトを共有すると、データへのアクセスも共有されます。

  • 実行 ID を選択する - アプリはデベロッパー(アプリ発行者)またはユーザーの実行 ID を使用します。どの実行 ID がアプリに適しているかは、アプリの使用方法とアプリがアクセスする G Suite データによって異なります。

  • (必要な場合)データを保護する - アプリに機密情報や重要なデータ、個人のデータが含まれている場合は、次の方法でデータを保護します。

    • 役割、サーバー スクリプト、またはその両方を使用して、レコードに対する操作を保護し、リレーション レコードの関連付けを制限します。

    • オーナー アクセス権を使用して、データアクセスをレコードのオーナーに制限します。

    • データにアクセスするサーバー スクリプトを保護します。サーバー スクリプトは非公開にできます。サーバー スクリプトを公開する場合は、データ セキュリティを実装する必要があります。

    • クライアント スクリプトだけでデータを保護することはできません。クライアント スクリプトは本質的に安全なものではありません。スクリプトを使用したセキュリティはサーバー上で行う必要があります。

  • (必要な場合)UI を保護する - 一部のユーザーに表示しない静的コンテンツがある場合は、UI を保護します。たとえば、管理者以外のユーザーに管理ページを表示しないようにします。

    • ページを保護して、特定のユーザーだけがページを取得できるようにします。

    • UI 要素の表示を制御します。たとえば、管理者以外のユーザーに管理者用ページへのリンクを表示しないようにします。

  • アプリのデプロイメントを管理できるユーザーを制御する - アプリの所有権共有を制御し、アプリのデプロイメントを管理できるユーザーを制御します。アプリ プロジェクトのオーナーは、アプリのデプロイメントを管理できます。編集者(アプリ プロジェクトを編集可能アクセス権で共有しているユーザー)は、デプロイメントを公開できます。デプロイメントの管理には、デプロイメントの再公開、デプロイメントの設定の編集(役割のメンバーシップを含む)、デプロイメントからのデータのエクスポート、デプロイメントの削除、サーバーログの表示などの作業が含まれます。

  • (省略可)アプリのデプロイメントを実行できるユーザーを指定する - アプリを実行できるユーザーを制限します。

  • 管理者役割を使用するかどうかを決める - 組み込みの管理者役割には固有の特性があります。管理者役割を使用するのか、独自の管理役割を定義するのかを検討してください。

  • 役割のメンバーシップを管理する - アプリが役割ベースのセキュリティを使用している場合は、役割のメンバーシップを管理します。

  • サーバー スクリプトで実装されたデータ セキュリティを管理する - データにアクセスするサーバー スクリプトを非公開にするか、セキュリティ対策を実装します。

  • 継続的にセキュリティを管理する - アプリケーションやそれが管理するデータが変更された場合は、セキュリティを見直してください。また、個人やグループの職務が変わった場合も、それに合わせてセキュリティを調整してください。