Spanner の責任共有モデル

Spanner は、高可用性と大規模なスケーリングを実現するように設計された、グローバルに分散されたフルマネージドのマルチモデル データベース サービスです。 Google Cloudのマネージド サービスとして、セキュリティと運用の復元力に関する責任はお客様と Google の間で共有されます。

このドキュメントでは、Spanner インスタンスとデータのセキュリティ、コンプライアンス、運用を確保するための責任分担について説明します。

責任共有モデルの概要

責任共有モデルでは、Google は Spanner サービス、インフラストラクチャ、基盤となるグローバル ネットワークのセキュリティを管理し、顧客はデータ、アプリケーション アクセス、構成など、Spanner インスタンス内のセキュリティと管理に責任を負います。

責任範囲 Google Cloud 自分
インフラストラクチャ 実行責任者 Not Responsible(責任を負わない)
サービス構成とセキュリティ 共有 共有
データとアプリケーションへのアクセス Not Responsible(責任を負わない) 実行責任者

Google の責任

Google は、Spanner サービスを実行するインフラストラクチャの保護を担当します。これには、物理コンポーネント、ハードウェア コンポーネント、ネットワーク コンポーネント、運用コンポーネントが含まれます。

インフラストラクチャとグローバルな可用性

  • 物理セキュリティ: Spanner インフラストラクチャが存在するグローバル リージョン、ゾーン、物理データセンターを保護します。

  • ネットワーキング: Spanner のグローバルな一貫性とレプリケーションに必要な安全で信頼性の高いネットワークを提供します。

  • ハードウェアとソフトウェア: ハードウェア、ホスト オペレーティング システム、Spanner サービス ソフトウェア自体の管理。これには、パッチ適用、メンテナンス、更新の自動化が含まれます。

サービス管理と復元性

  • 高可用性とスケーリング: リージョンとゾーン間のスケーリング、レプリケーション、フェイルオーバーを自動的に管理することで、99.999% の SLA(マルチリージョン構成の場合)を保証します。Spanner は、計画的ダウンタイムをゼロにするように設計されています。ユーザー制御の構成が原因で停止が発生した場合、Spanner インスタンスは Spanner サービスレベル契約(SLA)の対象外となることがあります。これらの構成を表示するには、Spanner の運用ガイドラインをご覧ください。

  • 耐久性: Spanner システム内に保存されたバックアップを含むデータの耐久性を確保します。

  • データベース ソフトウェアの完全性: Spanner ソフトウェアの構築、保守、更新。

コンプライアンスとデータ保護

  • 保存時と転送時の暗号化: データがデフォルトで暗号化されるようにします。

  • データ所在地: 特定のリージョンまたは構成(デュアルリージョン、マルチリージョンなど)内のデータ配置を管理できます。

  • Google Cloud Dedicated の運用: Google Cloud Dedicated のデプロイの場合、Google はインフラストラクチャ、ソフトウェア ビルド、アップデートを提供します。ローカルの信頼できるパートナーがクラウド サービスを運用し、サポートします。Google は、パートナーがメンテナンスを実施し、問題を解決する際に、第 2 レベルのサポートを提供することがあります。

ユーザーの責務

Spanner を使用する場合、データ、構成、アクセス管理、アプリケーション開発に対する主な制御はユーザーが維持します。

データとスキーマの管理

  • データ コンテンツとセキュリティ: Spanner に保存されているデータ コンテンツ(機密性、規制遵守、完全性など)に対する責任。

  • スキーマの設計と最適化: テーブルとインデックスの作成、パフォーマンスのためのインターリーブ テーブルの管理など、データベース スキーマの定義と管理。

  • クエリの最適化: パフォーマンスを確保し、リソース割り当てを管理するために、効率的なクエリを設計します。たとえば、トランザクション スパンの管理やロック動作の把握が重要になります。

アクセスと ID の管理

  • IAM 構成: Spanner インスタンスとデータベースにアクセスするプリンシパル(ユーザーとサービス アカウント)の Identity and Access Management(IAM)ロールと権限を定義して管理します。

  • きめ細かいアクセス制御(FGAC): 実装されている場合、データベースのロールと権限へのアクセス権の定義、管理、再付与はお客様の責任となります。

  • 監査ロギング: Cloud Audit Logs をモニタリングして分析し、Spanner インスタンスとデータに対して実行されたアクセスとアクションを追跡します。

運用の復元性と障害復旧

  • 構成管理: Spanner インスタンスの構成、ノード数、リージョン デプロイを管理します。

  • バックアップと DR サービス: Spanner インスタンス自体以外の場所(別のリージョン、インスタンス、外部ストレージなど)にデータを保存して、インスタンスの誤削除やデータの破損などのシナリオから保護する障害復旧戦略を実装します。

  • (省略可)変更ストリームの統合: イベント ストリーミングに Spanner 変更ストリームを利用する Dataflow ジョブまたは他のコンシューマーの構成と管理。

セキュリティの構成

  • 顧客管理の暗号鍵(CMEK): 使用されている場合、Spanner データの暗号化に使用される Cloud Key Management Service(Cloud KMS)の鍵と権限を管理します。

  • リクエストとトランザクションのタグ付け: クエリとトランザクションにタグを適用して、オブザーバビリティとパフォーマンス モニタリングを強化します。

  • モニタリングとアラート: カスタム モニタリングの設定とチューニング、指標のエクスポート、パフォーマンスの低下やセキュリティの異常を検出するためのアラートの構成。

責任の概要

次の表に、特定の運用コンポーネントとセキュリティ コンポーネントの共有責任の概要を示します。

コンポーネント Google の責任 お客様の責任
データとユーザー アクセス 基盤となるストレージの物理的な分離と保護。 IAM と FGAC の管理。データベースのロールと権限を定義する。
ネットワーク セキュリティ Spanner サービス インフラストラクチャのネットワーク パス、ファイアウォール、セグメンテーション。 Virtual Private Cloud(VPC)、Private Service Connect、クライアントサイドのネットワーク ルールの構成。
Backup and DR サービス マルチリージョン レプリケーションと 99.999% のサービス可用性。ポイントインタイム リカバリ(PITR)機能。 プライマリ Spanner インスタンスの外部にデータを保存する障害復旧ソリューションを実装し、新しいデータベースへのアプリケーション フェイルオーバーを管理する。
暗号化 保存時と転送時の暗号化がデフォルトで有効になっています。 CMEK 鍵を使用している場合は、その管理とローテーション。
バックアップ バックアップ サービス インフラストラクチャの管理とバックアップの耐久性の確保。 バックアップ スケジュールの定義、バックアップの管理とアクセス、バックアップの他のインスタンス/リージョンへのコピー。
Spanner インスタンス 基盤となるインフラストラクチャのプロビジョニングと管理。 ノード数とロケーションを構成する。
オブザーバビリティ 診断用のシステム テーブル(SPANNER_SYS など)を提供します。 カスタム モニタリングの実装、リクエスト/トランザクション タグの活用、外部モニタリング ツール(Prometheus や Grafana など)との統合。
クライアント アプリケーション Spanner クライアント ライブラリと API を提供する。 データベースとやり取りするすべてのクライアント アプリケーションの開発、デプロイ、保護。
構成管理 割り当てに対する使用量を確認し、必要に応じてリクエストを送信します。Terraform などのツールを使用して、データベースとインスタンスのリソースを管理する。