このドキュメントでは、 Google Cloud の Spanner のセキュリティをサポートするさまざまなコントロールの概要について説明します。また、コントロールの構成方法に関する詳細情報のリンク先も示します。ネットワーク セキュリティ オプション、ポリシー、アクセス管理などのセキュリティ制御は、ビジネスリスクに対処し、ビジネスに適用されるプライバシーなどの規制要件を満たすうえでも役立ちます。
Spanner のセキュリティ、プライバシー、リスク、コンプライアンスは、責任の共有モデルを使用します。たとえば、Google は Spanner などの Google Cloud サービスが実行されるインフラストラクチャを保護し、サービスとリソースへのアクセスを管理するための機能を提供します。Google によるインフラストラクチャの保護の詳細については、Google インフラストラクチャのセキュリティ設計の概要をご覧ください。
プロビジョニングされたサービス
Spanner の使用を開始するときに、次の API を有効にします。
詳細については、クイックスタート: Google Cloud コンソールを使用して Spanner でデータベースを作成しクエリを実行するをご覧ください。
Google Cloud に対する認証の管理
Spanner インスタンスを作成して管理する管理者とデベロッパーは、自身の ID とアクセス権限を検証するため、 Google Cloud に対して認証を行う必要があります。各ユーザーに、Cloud Identity、Google Workspace、または Cloud Identity、Google Workspace と連携させた ID プロバイダによって管理されるユーザー アカウントを設定する必要があります。詳細については、Google ID 管理の概要をご覧ください。
ユーザー アカウントを作成したら、シングル サインオンや 2 段階認証プロセスなどのセキュリティに関するベスト プラクティスを実装します。
Google Cloud リソース アクセスの認証
Workforce Identity 連携を使用すると、外部 ID プロバイダ(IdP)を使用してワークフォース ユーザーを認証し、 Google Cloud リソースにアクセスできるようにします。ユーザーが Google Cloud リソースへのプログラムによるアクセスを必要とし、OpenID Connect(OIDC)または Security Assertion Markup Language(SAML)をサポートする IdP にユーザーの認証情報を保存する場合は、Workforce Identity 連携を使用します。
Workload Identity 連携を使用すると、サービス アカウント キーを使用せずに、外部 IdP を使用してオンプレミスまたはマルチクラウドのワークロードに Google Cloud リソースへのアクセス権を付与できます。ID 連携は、アマゾン ウェブ サービス(AWS)、Microsoft Entra ID、GitHub、Okta などの IdP で使用できます。
ID 連携に対する Spanner のサポートの詳細については、サポートされているフェデレーション ID サービスをご覧ください。
Google Cloudでの認証の詳細については、認証をご覧ください。
Identity and Access Management
管理者とデベロッパーの Identity and Access Management(IAM)ロールを大規模に管理するには、さまざまなユーザーロールとアプリケーションに個別の機能グループを作成することを検討してください。Spanner の管理に必要な IAM ロールまたは権限をグループに付与します。グループにロールを割り当てるときは、最小権限の原則やその他の IAM セキュリティのベスト プラクティスに従ってください。詳細については、Google グループの使用に関するベスト プラクティスをご覧ください。
IAM の設定の詳細については、IAM の概要をご覧ください。
Spanner は IAM のきめ細かいアクセス制御をサポートしています。これにより、IAM プリンシパルを使用して Spanner データベース、テーブル、列、ビューへのアクセスを制御できます。詳細については、きめ細かいアクセス制御についてをご覧ください。
Spanner サービス アカウント
Spanner を有効にすると、Google によってサービス アカウントが作成されます。サービス アカウントは、インタラクティブでない特別なタイプの Google アカウントです。通常はユーザーではなく、Compute Engine インスタンスなどのアプリケーションやコンピューティング ワークロードが使用します。アプリケーションはサービス アカウントを使用して Google API にアクセスします。
サービス エージェント
Spanner がユーザーに代わってリソースにアクセスできるようにするため、Google Cloud はサービス エージェントと呼ばれる特別なサービス アカウントを作成します。
Spanner を有効にすると、次の Spanner サービス エージェントが作成されます。
service-PROJECT_ID@gcp-sa-spanner.iam.gserviceaccount.com
Spanner のポリシー
Spanner に適用される事前定義された組織のポリシーは次のとおりです。
- Spanner エディションを使用するインスタンスの作成を制限する(
constraints/spanner.managed.restrictCloudSpannerEditions)
ポリシーの詳細については、Spanner の組織のポリシーを使用するをご覧ください。
カスタムの組織のポリシーを使用して、プロジェクト、フォルダ、組織レベルで Spanner の制限を構成できます。詳細については、カスタム制約の作成と管理をご覧ください。
ネットワーク セキュリティ
デフォルトでは、 Google Cloudで実行されている Spanner インスタンスを含むすべての Google Cloud サービスで、転送中のデータにデフォルトの保護が適用されます。デフォルトのネットワーク保護の詳細については、転送データの暗号化をご覧ください。
組織で必要に応じて、追加のセキュリティ管理を構成し、 Google Cloud ネットワーク上のトラフィックと、 Google Cloud ネットワークと企業ネットワーク間のトラフィックをさらに保護できます。次の点を考慮してください。
- Spanner は VPC Service Controls をサポートしています。VPC Service Controls を使用すると、Google サービス内のデータの移動を制御し、コンテキスト ベースの境界セキュリティを設定できます。
- Google Cloudでは、ネットワーク トポロジとして共有 VPC の使用を検討してください。共有 VPC により、環境の分離を維持しながら、ネットワーク構成管理を一元化できます。
- Cloud VPN または Cloud Interconnect を使用して、企業ネットワークと Google Cloudの間の接続のセキュリティと信頼性を最大化します。詳細については、ネットワーク接続プロダクトの選択をご覧ください。
ネットワーク セキュリティのベスト プラクティスの詳細については、ゼロトラストを実装すると Google Cloud ランディング ゾーンのネットワーク設計を決定するをご覧ください。
アプリケーションの接続
アプリケーションと Spanner 間の接続を保護するには、次の方法を使用します。
- サーバーレス VPC アクセス。Spanner を Cloud Run に直接接続します。
- Private Service Connect を使用して、Spanner のプライベート IP アドレスを使用して Google Cloud の別の VPC 内のマネージド アプリケーションに接続します。この方法は、トラフィックを Google Cloud内に保持する場合に使用します。
外部 IP アドレスのないサービスへの接続を設定するオプションの詳細については、サービスのプライベート アクセスのオプションをご覧ください。
クライアント認証
Spanner では、クライアント用に次の認証方法を用意しています。
データ保護とプライバシー
Spanner は、 Google Cloudに保存されているデータをデフォルトの暗号化を使用して暗号化します。サンプルデータには次のものが含まれます。
- テーブル名と列名
- インデックス名
- データベース スキーマ
- テーブルに保存されたデータ
このデータにアクセスできるのは Spanner インスタンスのみです。
顧客管理の暗号鍵(CMEK)を有効にして、保存データを暗号化できます。CMEK では、鍵はソフトウェアで保護された鍵または Cloud HSM を使用したハードウェアで保護された鍵として Cloud Key Management Service(Cloud KMS)に保存されますが、管理はユーザーが行います。暗号鍵を自動的にプロビジョニングするには、Cloud KMS Autokey を有効にします。Autokey を有効にすると、デベロッパーは Cloud KMS から鍵をリクエストできます。サービス エージェントは、デベロッパーの意図に一致する鍵をプロビジョニングします。Cloud KMS Autokey を使用すると、鍵はオンデマンドで使用でき、一貫性があり、業界標準のプラクティスに準拠しています。
さらに、Spanner は Cloud External Key Manager(Cloud EKM)をサポートしているため、 Google Cloudの外部にある外部鍵マネージャーに鍵を保存できます。詳細については、顧客管理の暗号鍵(CMEK)の概要をご覧ください。
データ処理の場所
Spanner は、 Google Cloudに保存されているデータのデータ所在地をサポートしています。データ所在地では、リソース ロケーション制限ポリシーの制約を使用して、データを保存するリージョンを選択できます。Cloud Asset Inventory を使用して、Spanner リソースのロケーションを確認できます。
使用中のデータにデータ所在地が必要な場合は、Assured Workloads を構成できます。詳細については、Assured Workloads とデータ所在地をご覧ください。
データのプライバシー
データのプライバシーを保護するため、Spanner は共通のプライバシー原則に準拠しています。
Spanner は、顧客データのデータ処理者として機能します。Google は、請求、アカウント管理、不正行為の検出などの情報に対するデータ管理者としても機能します。詳しくは、Google Cloud のプライバシーに関するお知らせをご覧ください。
監査ロギング
Spanner は、次の種類の監査ログを書き込みます。
管理アクティビティ監査ログ: メタデータまたは構成情報を書き込む
ADMIN WRITEオペレーションが記録されます。データアクセス監査ログ: メタデータまたは構成情報を読み取る
ADMIN READオペレーションが記録されます。ユーザー提供のデータの読み取りまたは書き込みを行うDATA READオペレーションとDATA WRITEオペレーションが記録されます。システム イベント監査ログ: リソースの構成を変更する Google Cloud自動化アクションを特定します。
詳細については、監査ロギングをご覧ください。
アクセスの透明性
アクセス承認とアクセスの透明性を使用すると、サービスをサポートする Google 社員による Spanner インスタンスへのアクセスを制御できます。アクセス承認では、Google 社員からのアクセス リクエストを確認した後、必要に応じてリクエストを承認または拒否できます。アクセスの透明性ログは、 Google Cloud管理者がリソースにアクセスした際の分析情報を準リアルタイムで提供します。
モニタリングとインシデント対応
Spanner のパフォーマンスとセキュリティをモニタリングするために、さまざまなツールを使用できます。次の点を考慮してください。
- ログ エクスプローラを使用して、イベントログを表示して分析し、カスタム指標とアラートを作成します。
- Cloud Monitoring ダッシュボードを使用して、Spanner のパフォーマンスをモニタリングします。詳細については、Spanner をモニタリングするをご覧ください。
- Security Command Center にクラウド制御とフレームワークをデプロイして、Spanner に対する脆弱性と脅威(権限昇格など)を検出します。セキュリティ オペレーション センター(SOC)のアナリストが検出結果に対応できるように、アラートとハンドブックを設定できます。
認証とコンプライアンス
規制要件への対応は、お客様と Google の共有責任です。
Spanner は、次のようなさまざまな認定を受けています。
- ISO 27001
- SOC 2
- HIPAA
Google Cloud が準拠しているさまざまな規制の枠組みと認証について詳しくは、コンプライアンス リソース センターをご覧ください。
Spanner は Assured Workloads もサポートしています。これにより、規制、地域、主権の要件をサポートする Google 組織内の特定のフォルダにコントロールを適用できます。詳細については、コントロール パッケージ別のサポート対象プロダクトをご覧ください。
次のステップ
- バックアップを有効にする。
- Google Threat Intelligence を使用して、ビジネスに対する外部脅威を追跡する。
- Spanner の Identity and Access Management の詳細を確認する。
- Spanner のデータ暗号化の詳細を確認する。