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 などのツールを使用して、データベースとインスタンスのリソースを管理する。 |