Google Cloud アーキテクチャ フレームワークのこのドキュメントでは、データ セキュリティを実装するためのベスト プラクティスについて説明します。
デプロイ アーキテクチャの一部として、Google Cloud で処理して保存するデータとデータの機密性を検討する必要があります。ライフサイクルの中でデータを保護する制御機構を設計します。これによって、データの所有権と分類が明らかになり、不正な使用からのデータの保護に役立ちます。
このドキュメントで説明するセキュリティのベスト プラクティスを使用して BigQuery データ ウェアハウスをデプロイするセキュリティ ブループリントについては、機密データを格納する BigQuery データ ウェアハウスを保護するをご覧ください。
データを自動的に分類する
データの分類は、データ マネジメント ライフサイクルのできるだけ早い段階(理想的にはデータの作成時)に行います。通常、データの分類作業には、次のようなわずか数種類のカテゴリだけが必要です。
- 一般公開: 一般公開が承認されたデータ。
- 内部: 一般公開されない機密性が低いデータ。
- 機密: 一般的な内部配信に使用できる機密データ。
- 制限付き: 機密性の高いデータ、または制限された配信が必要な規制対象のデータ。
Google Cloud 環境全体にわたるデータを検出と分類には、機密データ保護を利用できます。Sensitive Data Protection には、Cloud Storage、BigQuery、Datastore 内の機密データをスキャンして分類する機能が組み込まれています。また、追加のデータソースとカスタム ワークロードをサポートするストリーミング API も用意されています。
Sensitive Data Protection は、組み込みの infoType を使用して機密データを識別できます。機密要素(PII データなど)を自動的に分類、マスキング、トークン化、変換することで、データの収集、保存、使用のリスクを管理できます。つまり、データ ライフサイクル プロセスと統合することで、すべてのステージでデータを確実に保護できます。
詳細については、センシティブ データの保護を使用した大規模なデータセットにおける PII の匿名化と再識別をご覧ください。
メタデータを使ってデータ ガバナンスを管理する
データ ガバナンスは、データを安全に、非公開で、正確に利用できるようにするプロセスの組み合わせです。組織のデータ ガバナンス戦略を定義する責任はお客様にありますが、Google Cloud には、戦略の実践に役立つツールとテクノロジーが用意されています。また、Google Cloud では、クラウド内のデータ ガバナンス用フレームワーク(PDF)も用意されています。
Data Catalog でメタデータの検索とキュレートを行い、クラウド内のデータアセットを記述します。Data Catalog を使用してデータアセットを検索し、メタデータでそのアセットにタグを付けることができます。データの分類作業を高速化するには、機密データを自動的に識別するために、Data Catalog をセンシティブ データの保護と統合します。データにタグ付けした後は、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 Identity と IAM を使用して制御します。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 は機密情報のみに使用できます。また、クライアントサイドでデータの暗号化を実行し、暗号化されたデータを Google Cloud に保存することもできます。この場合、データは Google によって再度暗号化されます。
- 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 IAM ポリシーに従ってユーザーが承認されている場合でも、この制約を適用できます。サービスにアクセス可能な仮想境界線を定義するサービス境界を VPC Service Controls で作成し、データが仮想境界線の外に移動されることを防ぎます。
詳しくは以下をご覧ください。
- Cloud Storage にアップロードされたデータの分類の自動化
- クラウドにおけるデータ ガバナンス
- データ ウェアハウスから BigQuery へのデータ ガバナンス
- Cloud Hives メタストアが利用可能に
Secret Manager を使ってシークレットを管理する
Secret Manager を使用すると、すべてのシークレットを一元管理できます。シークレットは、データベース パスワード、API キー、TLS 証明書などの構成情報です。シークレットの自動ローテーションや、最新バージョンのシークレットを自動的に使用するようにアプリケーションを構成できます。Secret Manager とのやり取りで監査ログが生成されるため、シークレットへのすべてのアクセスを確認できます。
Sensitive Data Protection には、検出項目のカテゴリもあり、Secret Manager で保護できるデータの認証情報とシークレットの識別に役立ちます。
データをモニタリングする
管理者のアクティビティと鍵の使用ログを確認するには、Cloud Audit Logs を使用します。データの保護に役立てるため、Cloud Monitoring でログをモニタリングし、鍵が適切に使用されているかどうか確認します。
Cloud Logging は Google Cloud イベントをキャプチャし、必要に応じてソースを追加できます。リージョン別にログを分割し、バケットに保管して、ログを処理するカスタムコードを統合できます。例については、自動ログ分析のカスタム ソリューションをご覧ください。
ログを BigQuery にエクスポートして、セキュリティとアクセスの分析を行い、組織のデータに対する不正な変更やアクセスを特定することもできます。
Security Command Center を使用すると、クラウドに保存されている機密性の高い組織データに対するアクセスの問題を特定して解決できます。1 つの管理インターフェースから、クラウド インフラストラクチャに対するさまざまなセキュリティの脆弱性やリスクをスキャンできます。たとえば、データの引き出しのモニタリング、ストレージ システムでの機密データのスキャン、インターネットに公開されている Cloud Storage バケットの検出などが可能です。
次のステップ
データ セキュリティの詳細については、次のリソースをご覧ください。
アプリケーションを安全にデプロイする(このシリーズの次のドキュメント)