Google Cloud でデータベースの暗号化を設計する
Google Cloud Japan Team
※この投稿は米国時間 2022 年 9 月 17 日に、Google Cloud blog に投稿されたものの抄訳です。
ワークロードをクラウドに移行するお客様にとって、暗号化とデータ保護は主要な要件です。組織は、多くの場合、この要件を満たすためにクラウドベースのデータベース内にある機密データの保護に多大な時間を費やしています。これを推進する主な動因となっているのは、保存データの保護を目的とする行政機関の規制、コンプライアンス、組織のセキュリティ要件です。私たちは、Google Cloud のセキュリティおよびコンプライアンス テクノロジー チームのカスタマー エンジニアとして、お客様が Google Cloud プラットフォームでデジタル トランスフォーメーションを実現するための安全なデプロイの構築を支援するため、経営層および技術関係者の両方と連携します。
Google Cloud は、業界の最も信頼できるクラウドとなるために絶えず努力しています。その一環として、私たちは Google のプラットフォームでワークロードを保護するために利用できる暗号化オプションをお客様がより深く理解できるような措置を講じています。この投稿では、Google Cloud プラットフォームでサポートされているさまざまな暗号化オプションを使用してデータベースを安全に移行または構築する際に、設計に関する検討と意思決定を加速する方法のガイドを提供します。
Google Cloud で暗号化を使用して保存データを管理する
Google Cloud にデータを移行する際は、手間のかかるメンテナンス タスクと運用上のオーバーヘッドがなく、使いやすく操作が簡単なデータベースを選択できるオプションを利用できます。Google Cloud がデータベースを可用性が高い最新の状態に保っている間に、IT チームはイノベーションの提供に集中でき、エンドユーザーは信頼性の高いサービスを享受できます。
さらに、デフォルトで保存データの暗号化などのセキュリティ管理が継承されるため、セキュリティの実装を簡素化できます。ほとんどの組織にとって、暗号化はより広範なセキュリティ戦略の一部です。暗号化は、データ保護のための防御をよりいっそう強化するとともに、Google がデータのプライバシーを保証するための重要なメカニズムを提供します。暗号化を使用していれば、データが偶然攻撃者の手に渡ったとしても、攻撃者は暗号鍵も入手しない限りデータにアクセスできません。Google のプラットフォームは、デフォルトで保存データを暗号化し、クラウド内に保存されているすべてのデータが Google 管理の鍵によって暗号化されることを保証します。
暗号鍵の管理オプション
Google 管理の鍵: Google Cloud 内に保存されているすべてのデータは、Google 独自の暗号化データに使用されているものと同じ強化鍵管理システムを通じて、保存時に暗号化されます。これらの鍵管理システムでは、厳格なアクセス制御と監査が行われ、ユーザーデータは AES-256 暗号化標準を使用して保存時に暗号化されます。設定、構成、管理は必要ありません。Google 管理の鍵は、暗号マテリアルのコンプライアンスまたは地域に関する特定の要件がない場合に適した選択肢です。
顧客管理の鍵: 顧客管理の暗号鍵(CMEK)は、お客様が制御および管理する暗号鍵でデータベースを保護する機能を提供します。CMEK を使用すると、鍵のライフサイクルと管理をより幅広く制御できます。たとえば、鍵のローテーション、アクセス制御ポリシーの定義、監査とロギング、データの局所性または所在地の要件の適用などが可能です。CMEK は、Cloud Key Management Service、Cloud Hardware Security Module、Cloud External Key Manager でサポートされています。
Google Cloud データベースの暗号化オプション
私たちは、Google Cloud で継承されるデフォルトのセキュリティ管理に加えて、クラウドに保存されたデータに対する保護レベルを選択するオプションもお客様に提供されるべきであると考えています。私たちは、Google の暗号化機能と統合されたデータベース プロダクトを開発しました。このプロダクトを使用すると、お客様はデータを制御し、データがいつどのようにアクセスされるかをよりきめ細かく管理できます。
Google のデフォルトの暗号化: Google のプラットフォームに保存されるお客様のコンテンツは、複数の暗号化メカニズムを通じて、お客様が何もしなくても保存時に暗号化されます。保存用のデータは複数のチャンクに分割され、各チャンクは一意のデータ暗号鍵で暗号化されます。データ暗号鍵は鍵暗号鍵(KEK)で保護され、Google の KMS(鍵の保存専用に構築されたリポジトリ)に一元的に格納されます。
Cloud Key Management Service(Cloud KMS)は、中央クラウド サービスで暗号鍵を管理する機能をお客様に提供します。直接使用または他のクラウド リソース(データベースやデータストアなど)での使用が可能です。Cloud KMS は、安全で可用性の高いインフラストラクチャと能力を兼ね備えています。これにより、強度の異なるさまざまなタイプの鍵を作成するメカニズムを提供するだけでなく、データが関連付けられている Google Cloud リージョン内で排他的に鍵を保持するオプションも提供します。
Cloud Hardware Security Module(Cloud HSM)を使用すると、お客様は FIPS 140-2 レベル 3 認定取得済み HSM で暗号鍵を生成して暗号オペレーションを実行できます。フルマネージド サービスであるため、HSM クラスタの管理に伴う運用上のオーバーヘッドについて懸念することなく、機密性が特に高いワークロードを保護できます。Google が HSM ハードウェアを管理し、お客様の使用状況に応じて自動スケーリングを行うので、お客様は HSM がサポートする鍵を本番環境で管理および使用する複雑さから解放されます。たとえば、お客様がライフサイクルを管理および制御する Cloud HSM 鍵を使用して、Cloud SQL テーブルのデータを暗号化できます。
Cloud External Key Manager(EKM)を使用すると、お客様は CloudSQL や Cloud Spanner などの Google Cloud リソース内の鍵と暗号化された保存データを最大限に制御できます。Google EKM では、Google 外部のサポートされている鍵管理システムで管理されている鍵を使用して、Google Cloud 内のデータを保護できます。このオプションで注目すべき重要な点は、外部で管理されている鍵が Google Cloud 内でキャッシュに保存または格納されることは絶対にないということです。Google Cloud は、データを復号する必要があるときはいつでも、外部鍵マネージャーと直接通信します。データの復号のために外部でホストされている鍵が要求される理由について詳しくは、Cloud EKM に加えて、Key Access Justifications をご活用ください。
Google Cloud が提供するデータベース サービスの暗号化オプションをご覧ください
Database Platform | Google Cloud Database service | Encryption Options Supported |
Microsoft SQL Server | Cloud SQL for SQL Server |
|
MySQL | Cloud SQL for MySQL |
|
PostgreSQL | Cloud SQL for PostgreSQL |
|
MongoDB | MongoDB Atlas |
|
Apache HBase | Cloud BigTable |
|
PostgreSQL | CloudSpanner for PostgreSQL |
|
Google Standard SQL | CloudSpanner Google Standard SQL |
|
Redis Memory Store | Memorystore for Redis. |
|
Firestore | Firestore |
|
Oracle Database | Bare Metal Solution for Oracle |
|
GCP での鍵管理について詳しくは、KMS の詳細に関するホワイトペーパーをご覧ください。
- カスタマー エンジニア Lanre Ogunmola