セキュリティとデータレジデンシー
SheetApps は、アクセス制御、分離、および任意の 暗号化 によってデータを保護します。その意味と限界を以下に示します。
- アクセスと分離。 各ユーザーはアプリごとにロール(オーナー/管理者/編集者/閲覧者)を持ち、管理者はワークスペースをメンバーに対して一時的にロックできます。ワークスペースのデータは他のすべてのワークスペースから分離されます — 共有ホスティングでは行レベルセキュリティにより、セルフホストのアプリでは別個のデータベースファイルにより分離されます。 サインインは1 つのアクティブセッションに制限されます:新しいデバイスでサインインすると、他のすべての端末からサインアウトされます。
- 自動サインアウト。 ワークスペースの管理者はアイドルタイムアウトを設定できます(管理コンソール → ユーザー)。一定時間操作がないと全員がサインアウトされます(事前に短い警告あり)。既定では無効です。空欄のままにすると、サインアウトするまでログイン状態が維持されます。
- 2 段階認証(2FA)。 運営者が有効にすると、認証アプリ(Google Authenticator、1Password、Authy など)のワンタイムコードをパスワードでのサインインに追加できます。アカウントのパスワード変更ページから設定してください。有効にすると、1 回だけ使えるリカバリコードが 10 個発行されます。スマートフォンを紛失した場合に復帰できる唯一の手段なので、安全な場所に保管してください。2FA はパスワードでのサインインに適用されます。Google でサインインはすでに Google によって保護されています。
- 新しいデバイスからのサインイン通知。 運営者がこれを有効にしている場合、これまで確認されていないデバイスや国からアカウントにサインインされるたびにメールでお知らせします。予期しないサインインを見逃さないためです。心当たりがない場合は、パスワードをお忘れですかからすぐにパスワードを変更してください。
- フィールド暗号化(保存時の暗号化)。 運営者が有効にすると、機微なフィールドは データベースに到達する前にバックエンドで暗号化 され、その鍵はデータベースが保持しません。したがって、データベース・バックアップ・ダッシュボードに直接アクセスできる者にも暗号文しか見えません。型による
ssnとcredit_cardに加え、Rules シートでsensitive/mask/piiと指定した 任意のフィールド が対象になるため、自由記述のメモや給与の列も暗号化できます。値は権限のある閲覧者にのみ復号され、エクスポートやサポートセッションでは既定でマスクされ、カード番号は常に下4桁に短縮されます。トレードオフ:暗号化フィールドは部分一致検索ができません(インデックスは暗号文しか見ないため)。 - サポートアクセス。 SheetApps のサポートは、あなたが 読み取り専用・期限付き の同意を与えた場合にのみデータを閲覧できます。その場合でも機微なフィールドはマスクされたままで、アプリのデータをサポートが一切開けないように指定することもできます。
- データレジデンシー。 ホストされたデータは、サインインした SheetApps デプロイメントのリージョンに保存されます。現在 ワークスペースごとのリージョン選択はなく、フィールド暗号化は運営者が管理する単一の鍵を使用します。データを特定の国に保持する必要がある場合や、暗号化鍵を自分で保持したい場合は、アプリ(または公開した バンドル)を セルフホスト することで、データの保存場所と鍵の保持者を完全に制御できます。
鍵に注意。 フィールド暗号化は鍵があってこそ復元できます。鍵は運営者が設定し、失われたりローテーションされたりすると、暗号化された値は(古いバックアップ内のものも含め)読み戻せません。デプロイメントを運用する者は、鍵をデータとは別に安全にバックアップすべきです。