データ セキュリティを実装する

Google Cloud アーキテクチャ フレームワークのこのドキュメントでは、データ セキュリティを実装するためのベスト プラクティスについて説明します。

デプロイ アーキテクチャの一部として、Google Cloud に処理して保存するデータとデータの機密性を検討する必要があります。ライフサイクルの中でデータを保護する制御機構を設計します。これによって、データの所有権と分類が明らかになり、不正な使用からのデータの保護が容易になります。

このドキュメントで説明するセキュリティのベスト プラクティスを使用して BigQuery データ ウェアハウスをデプロイするセキュリティ ブループリントについては、機密データを格納する BigQuery データ ウェアハウスを保護するをご覧ください。

データを自動的に分類する

データの分類は、データ管理ライフサイクルのできるだけ早い段階(理想的にはデータの作成時)に行います。通常、データの分類作業には、次のようなわずか数種類のカテゴリだけが必要です。

  • 一般公開: 公開アクセスが承認されたデータ。
  • 内部: 一般公開されない機密性が低いデータ。
  • 機密: 一般的な内部配布に使用できる機密データ。
  • 制限付き: 機密データ、または制限された配信が必要な規制対象のデータ。

Google Cloud 環境全体にわたるデータを検出と分類には、Cloud DLP を使用できます。Cloud DLP には、Cloud StorageBigQueryDatastore で機密データをスキャンして分類するための組み込みのサポート機能が備わっています。また、追加のデータソースとカスタム ワークロードをサポートするストリーミング API も用意されています。

Cloud DLP では、組み込みの infoType を使用して機密データを識別できます。機密データ(PII データなど)を自動的に分類、マスキング、トークン化、変換し、データの収集、保存、使用のリスクを管理できます。つまり、データ ライフサイクル プロセスと統合して、すべてのステージのデータを確実に保護できます。

詳しくは以下をご覧ください。

メタデータを使って、データ ガバナンスを管理する

データ ガバナンスは、データを安全で、公開されず、正確で、利用可能にするプロセスの組み合わせです。組織のデータ ガバナンス戦略を定義する責任はお客様にありますが、Google Cloud には、戦略の実践に役立つツールとテクノロジーが用意されています。また、Google Cloud では、クラウド内のデータ ガバナンス用フレームワーク(PDF)も用意されています。

Data Catalog は、メタデータ検索、キュレート、使ってクラウド内のデータアセットを記述するために使用します。Data Catalog を使用してデータアセットを検索し、メタデータでそのアセットにタグを付けることができます。データの分類作業を高速化するには、機密データを自動的に識別するために、Data Catalog を Cloud DLP と統合します。データにタグ付けした後は、Google Identity and Access Management(IAM)を使用して、ユーザーが Data Catalog ビューを介してクエリまたは使用できるデータを制限できます。

Dataproc Metastore または Hive メタストアを使用して、ワークロードのメタデータを管理します。Data Catalog には、サービスが Hive メタストア内のメタデータを検出できるようにする Hive コネクタがあります。

データ品質ルールは、コンソールで Dataprep by Trifacta を使用して、定義および適用します。Dataprep は、Cloud Data Fusion 内から使用するか、スタンドアロン サービスとして使用できます。

ライフサイクルのフェーズと分類に従ってデータを保護する

データは、ライフサイクルのコンテキストで定義し、その機密性とリスクに基づいてデータを分類した後、適切なセキュリティの制御機構を割り当てて保護できます。その制御機構によって、十分な保護が提供され、コンプライアンス要件を満たし、リスクが軽減されるようにする必要があります。クラウドに移行するときに、現在の戦略と、現行プロセスの変更が必要な部分を確認します。

次の表では、クラウドにおけるデータ セキュリティ戦略の 3 つの特性について説明します。

特性 説明
識別 データを作成、変更、保存、使用、共有、削除するユーザー、リソース、アプリケーションの ID を把握します。

データへのアクセス権は、Cloud IdentityIAM を使用して制御します。ID に証明書が必要な場合は、Certificate Authority Service を検討してください。

詳細については、ID とアクセス権の管理をご覧ください。
境界とアクセス データに、誰が、どのような状況下で、どのようにしてアクセスするかをコントロールする機構を設定します。データへのアクセス境界は、次のレベルで管理できます。

公開設定 使用状況は、監査してデータの管理とアクセス方法を示すレポートを作成できます。Google Cloud Loggingアクセスの透明性により、独自のクラウド管理者と Google の担当者の操作に関する分析情報が提供されます。詳細については、データをモニタリングするをご覧ください。

データを暗号化する

Google Cloud では、デフォルトでお客様の保存データを暗号化しています。お客様による操作は必要ありません。デフォルトの暗号化に加えて、Google Cloud にはエンベロープ暗号化と暗号鍵管理のオプションが用意されています。たとえば、Compute Engine の永続ディスクは自動的に暗号化されますが、独自の鍵を指定または管理できます。

ストレージ、コンピューティング、ビッグデータ ワークロード用の鍵の選択に関しては、鍵の生成、保管、ローテーションの要件にどのソリューションが最適かを判断する必要があります。

暗号化と鍵管理に関して、Google Cloud には、次の選択肢があります。

  • 顧客管理の暗号鍵(CMEK)Cloud Key Management Service(Cloud KMS)を使用して暗号鍵を生成し、管理できます。この選択肢は、暗号鍵を定期的にローテーションする必要があるなど、特定の鍵管理の要件がある場合に使用します。
  • 顧客指定の暗号鍵(CSEK)独自の暗号鍵を作成して管理し、必要に応じて Google Cloud に提供できます。このオプションは、オンプレミスの鍵管理システムを使用して独自の鍵を生成し、独自の鍵(BYOK)を提供する場合に使用します。CSEK を使用して独自の鍵を指定すると、Google がそれらを複製し、ワークロードで使用できるようにします。ただし、顧客指定の暗号鍵はインスタンス テンプレートや Google インフラストラクチャに保存されていないため、CSEK のセキュリティと可用性はお客様の責任となります。鍵にアクセスできなくなった場合、Google は暗号化されたデータを復元できません。どのキーを作成して管理するかを慎重に検討してください。CSEK は最も機密性の高い情報に対してのみ使用します。もう 1 つのオプションは、クライアント側でデータを暗号化してから、暗号化されたデータを Google Cloud に保存することです。Google Cloud では、データが再度暗号化されます。
  • Cloud External Key Manager(Cloud EKM)を使用したサードパーティの鍵管理システム。Cloud EKM は、Google インフラストラクチャの外部で管理されているサードパーティの鍵管理システムに保存、管理されている暗号鍵を使用して、保存データを保護します。この方法を使用すると、組織外の者は皆、データにアクセスできないことが保証されます。Cloud EKM を使用すると、安全な Hold Your Own Key(HYOK)モデルで鍵管理を実現できます。互換性情報については、Cloud EKM 対応サービスの一覧をご覧ください。

Cloud KMS では、ソフトウェア格納型暗号鍵や、FIPS 140-2 レベル 3 検証済みのハードウェア セキュリティ モジュール(HSM)を使用してデータを暗号化することもできます。Cloud KMS を使用している場合、暗号鍵は、リソースをデプロイするリージョンに保存されます。Cloud HSM は、リージョン間で鍵管理のニーズを分散させ、鍵に冗長性とグローバルな利用可能性を提供します。

エンベロープ暗号化の仕組みについては、Google Cloud での保存時の暗号化をご覧ください。

コンテンツへのアクセスに関して詳しくは、データへのクラウド管理者のアクセス権を管理するをご覧ください。

データへのクラウド管理者のアクセス権を管理する

Google のサポート担当者とエンジニアリング担当者による Google Cloud 上の環境へのアクセス権は管理できます。Access Approval を使用すると、Google 社員が Google Cloud 上のデータやリソースにアクセスする前に明示的に承認できます。このプロダクトは、Google の担当者がお客様のデータを操作したときにログを生成するアクセスの透明性によって提供される可視性を補完します。このログには、オフィス所在地とアクセスの理由が含まれます。

これらのプロダクトを組み合わせて使用すると、どのような理由があっても Google によるデータの復号を拒否できます。

データの保存場所とユーザーのアクセス元を構成する

ユーザーがデータにアクセスできるネットワーク ロケーションは、VPC Service Controls を使用して制御できます。このプロダクトを使用すると、特定リージョンのユーザーのアクセスを制限できます。この制約は、Google Cloud IAM ポリシーに従ってユーザーが認可されている場合でも適用できます。VPC Service Controls を使用して、サービスにアクセス可能な仮想境界線を定義するサービス境界を作成し、データが仮想境界線の外に移動されることを防ぎます。

詳しくは以下をご覧ください。

Secret Manager を使ってシークレットを管理する

Secret Manager を使用すると、すべてのシークレットを 1 か所に保存できます。Secret は、データベース パスワード、API キー、TLS 証明書などの構成情報です。シークレットを自動的にローテーションできます。また、最新バージョンのシークレットを自動的に使用するようにアプリケーションを構成することもできます。Secret Manager とやり取りするたびに監査ログが生成されるため、すべてのシークレットへのすべてのアクセスが表示されます。

Cloud Data Loss Prevention には、検出項目のカテゴリもあり、Secret Manager で保護できるデータの認証情報とシークレットの識別に役立ちます。

データをモニタリングする

管理者による操作と鍵の使用ログを確認するには、Cloud Audit Logs を使用します。データの保護に役立てるため、Cloud Monitoring を使用してログをモニタリングし、鍵が適切に使用されているかどうか確認します。

Cloud Logging は、Google Cloud イベントをキャプチャし、必要に応じてソースを追加できます。ログをリージョン別に分割し、ログをバケットに保存して、ログを処理するためのカスタムコードを統合できます。例については、独自の分析ソリューションの構築をご覧ください。

また、BigQuery にログをエクスポートして、セキュリティとアクセス分析を行い、未承認の変更や組織のデータへの不適切なアクセスを識別することもできます。

Security Command Center を使用すると、クラウドに保存されている機密性の高い組織データに対する安全でないアクセスの問題を特定して解決できます。1 つの管理インターフェースから、クラウド インフラストラクチャに対するさまざまなセキュリティの脆弱性やリスクをスキャンできます。たとえば、データの引き出しのモニタリング、ストレージ システムでの機密データのスキャン、インターネットに公開されている Cloud Storage バケットの検出などが可能です。

次のステップ

データ セキュリティの詳細については、次のリソースをご覧ください。