エンタープライズ データ管理および分析プラットフォームは、セキュリティ管理を維持しながら機密情報を保存、分析、操作できるエンクレーブを提供します。エンタープライズ データメッシュ アーキテクチャを使用して、データ管理と分析用のプラットフォームを Google Cloud にデプロイできます。このアーキテクチャは、コンポーネントが既存のオンプレミス コンポーネントと運用プロセスとやり取りするハイブリッド環境で動作するように設計されています。 Google Cloud
エンタープライズ データメッシュ アーキテクチャには、次のものが含まれます。
- 次のものを構築するための Terraform 構成、スクリプト、コードのセットが含まれている GitHub リポジトリ。
- Google の Cloud Data Management Capabilities(CDMS)キー コントロール フレームワークの実装を使用できるガバナンス プロジェクト。
- インタラクティブ ワークフローと本番環境ワークフローをサポートするデータ プラットフォームの例。
- 複数のデータドメインをサポートするデータ プラットフォーム内のプロデューサー環境。データドメインは、データ要素の論理グループです。
- 複数のコンシューマ プロジェクトをサポートするデータ プラットフォーム内のコンシューマ環境。
- Workload Identity Federation と Tink 暗号化ライブラリを使用して、 Google Cloud にデータを安全に転送できるデータ転送サービス。
- 取り込みプロジェクト、非機密プロジェクト、機密プロジェクトを含むデータドメインの例。
- データ利用者がデータセットへのアクセスをリクエストし、データオーナーがそれらのデータセットへのアクセスを許可できるデータアクセス システムの例。この例には、それらのデータセットの IAM 権限を適宜変更するワークフロー マネージャーも含まれています。
- このアーキテクチャを使用して実装するアーキテクチャ、設計、セキュリティ管理、運用プロセスのガイド(このドキュメント)。
エンタープライズ データメッシュ アーキテクチャは、エンタープライズ基盤ブループリントとの互換性を確保できるように設計されています。エンタープライズ基盤ブループリントは、VPC ネットワークやロギングなど、このアーキテクチャが依存する多くの基本レベルのサービスを提供します。Google Cloud 環境に必要な機能が提供されている場合は、エンタープライズ基盤ブループリントをデプロイせずに、このアーキテクチャをデプロイできます。
このドキュメントは、このアーキテクチャを使用して Google Cloudに包括的なデータサービスを構築してデプロイできるクラウド アーキテクト、データ サイエンティスト、データ エンジニア、セキュリティ アーキテクトを対象としています。このドキュメントは、データメッシュ、 Google Cloudデータサービス、CDMC フレームワークの実装の概念に精通していることを前提としています。 Google Cloud
アーキテクチャ
エンタープライズ データメッシュ アーキテクチャは、階層型のアプローチで、データの取り込み、データ処理、ガバナンスを可能にする機能を提供します。このアーキテクチャは、CI/CD ワークフローを通じてデプロイおよび制御することを前提としています。次の図は、このアーキテクチャによってデプロイされたデータレイヤが環境内の他のレイヤとどのように関連しているかを示しています。
この図には次のものが含まれています。
- Google Cloud インフラストラクチャは、保存データの暗号化や転送中データの暗号化などのセキュリティ機能とともに、コンピューティングやストレージなどの基本的な構成要素を備えています。
- エンタープライズ基盤は、ID、ネットワーキング、ロギング、モニタリング、デプロイ システムといった、データ ワークロードに Google Cloud を導入するための一連の基本リソースを備えています。
- データレイヤは、データの取り込み、データの保存、データアクセス制御、データ ガバナンス、データ モニタリング、データ共有などのさまざまな機能を提供します。
- アプリケーション レイヤは、データレイヤ アセットを使用するさまざまなアプリケーションを表します。
- CI/CD には、インフラストラクチャ、ワークフロー、ソフトウェア コンポーネントのプロビジョニング、構成、管理、デプロイを自動化するツールが用意されています。これらのコンポーネントにより、デプロイの一貫性、信頼性、監査可能性を保証し、手作業による誤りを最小限に抑えて、全体的な開発サイクルを加速できます。
データ環境の使用方法を示すために、このアーキテクチャにはサンプル データ ワークフローが含まれています。サンプルデータ ワークフローは、データ ガバナンス、データの取り込み、データ処理、データ共有、データ使用のプロセスを説明します。
アーキテクチャに関する重要な決定事項
次の表に、アーキテクチャに関する大まかな決定事項を示します。
決定分野 | 決定 |
---|---|
Google Cloud アーキテクチャ | |
リソース階層 |
このアーキテクチャでは、エンタープライズ基盤ブループリントのリソース階層を使用します。 |
ネットワーキング |
このアーキテクチャには、Workload Identity 連携と Tink ライブラリを使用するデータ転送サービスの例が含まれています。 |
ロールと IAM 権限 |
このアーキテクチャには、セグメント化されたデータ プロデューサーのロール、データ コンシューマのロール、データ ガバナンスのロール、データ プラットフォームのロールが含まれます。 |
共通データ サービス | |
メタデータ |
このアーキテクチャでは、Data Catalog を使用してデータメタデータを管理します。 |
一元的なポリシー管理 |
ポリシーを管理するために、このアーキテクチャでは Google Cloudの CDMC フレームワークの実装を使用します。 |
データアクセス管理 |
データへのアクセスを制御するために、このアーキテクチャには、データ利用者がデータオーナーからデータアセットへのアクセス権をリクエストする必要がある独立したプロセスが含まれています。 |
データ品質 |
このアーキテクチャでは、Cloud Data Quality Engine を使用して、指定されたテーブル列でデータ品質ルールを定義して実行し、正確性や完全性などの指標に基づいてデータ品質を測定します。 |
データ セキュリティ |
このアーキテクチャでは、タグ付け、暗号化、マスキング、トークン化、IAM コントロールを使用してデータのセキュリティを確保します。 |
データドメイン | |
データ環境 |
このアーキテクチャには、3 つの環境が含まれています。2 つの環境(非本番環境と本番環境)は、パイプラインによって駆動される運用環境です。1 つの環境(開発)はインタラクティブな環境です。 |
データオーナー |
データオーナーは、データアセットを取り込み、処理、公開し、アクセス権を付与します。 |
データ コンシューマ |
データ コンシューマがデータアセットへのアクセスをリクエストします。 |
オンボーディングと運用 | |
パイプライン |
このアーキテクチャでは、次のパイプラインを使用してリソースをデプロイします。
|
リポジトリ |
各パイプラインは個別のリポジトリを使用して、責任の分離を可能にします。 |
プロセスの流れ |
このプロセスでは、本番環境への変更に送信者と承認者が含まれる必要があります。 |
Cloud Operations | |
データ プロダクトのスコアカード |
レポート エンジンは、データ プロダクトのスコアカードを生成します。 |
Cloud Logging |
このアーキテクチャでは、エンタープライズ基盤ブループリントのロギング インフラストラクチャを使用します。 |
Cloud Monitoring |
このアーキテクチャでは、エンタープライズ基盤ブループリントのモニタリング インフラストラクチャを使用します。 |
ID: ロールをグループにマッピングする
データメッシュは、エンタープライズ基盤のブループリントの既存の ID ライフサイクル管理、認可、認証アーキテクチャを活用します。ユーザーにはロールが直接割り当てられません。代わりに、グループが IAM でロールと権限を割り当てる主な方法となります。IAM のロールと権限は、プロジェクトの作成時に基盤パイプラインを通じて割り当てられます。
データメッシュは、グループを 4 つの主要な領域(インフラストラクチャ、データ ガバナンス、ドメインベースのデータ プロデューサー、ドメインベースのコンシューマ)のいずれかに関連付けます。
これらのグループの権限スコープは次のとおりです。
- インフラストラクチャ グループの権限スコープは、データメッシュ全体です。
- データ ガバナンス グループの権限スコープは、データ ガバナンス プロジェクトです。
- ドメインベースのプロデューサーとコンシューマの権限は、データドメインに限定されます。
次の表に、このデータメッシュの実装で使用されるさまざまなロールと、それらに関連付けられた権限を示します。
インフラストラクチャ
グループ | 説明 | ロール |
---|---|---|
|
データメッシュの全体管理者 |
|
データ ガバナンス
グループ | 説明 | ロール |
---|---|---|
|
データ ガバナンス プロジェクトの管理者 |
データ ガバナンス プロジェクトの |
|
データ ガバナンス コンポーネントを構築して維持するデベロッパー |
データ ガバナンス プロジェクトの複数のロール( |
|
データ ガバナンス情報の読者 |
|
|
ガバナンス プロジェクトのセキュリティ管理者 |
|
|
タグ テンプレートの使用権限を持つグループ |
|
|
タグ テンプレートの使用とタグの追加の権限を持つグループ |
|
|
Security Command Center 通知のサービス アカウント グループ |
なし。これはメンバーシップのグループであり、この名前のサービス アカウントが作成され、必要な権限が付与されます。 |
ドメインベースのデータ プロデューサー
グループ | 説明 | ロール |
---|---|---|
|
特定のデータドメインの管理者 |
データドメイン プロジェクトに対する |
|
データドメイン内でデータ プロダクトを構築して維持するデベロッパー |
データドメイン プロジェクトに対する複数のロール( |
|
データドメイン情報の読み取り元 |
|
|
Data Catalog エントリの編集者 |
Data Catalog エントリを編集するためのロール |
|
データドメインのデータ スチュワード |
メタデータとデータ ガバナンスの側面を管理するロール |
ドメインベースのデータ コンシューマ
グループ | 説明 | ロール |
---|---|---|
|
特定のコンシューマ プロジェクトの管理者 |
コンシューマ プロジェクトに対する |
|
コンシューマー プロジェクト内で作業するデベロッパー |
コンシューマ プロジェクトの複数のロール( |
|
コンシューマー プロジェクト情報の読み取り |
|
組織構造
本番環境のオペレーションと本番環境のデータを区別するため、このアーキテクチャでは、異なる環境を使用してワークフローを開発してリリースします。本番環境オペレーションには、ワークフローのガバナンス、トレーサビリティ、再現性、ワークフローの結果の監査可能性が含まれます。本番環境データとは、組織の運営に必要な機密性の高いデータのことです。すべての環境は、データを取り込んで操作できるようにセキュリティ管理ができるように設計されています。
データ サイエンティストとエンジニアを支援するために、このアーキテクチャにはインタラクティブ環境が含まれています。この環境では、デベロッパーは環境を直接操作し、キュレートされたソリューション カタログからサービスを追加できます。運用環境は、アーキテクチャと構成をコード化したパイプラインによって駆動されます。
このアーキテクチャでは、データ ワークロードのデプロイの基盤として、エンタープライズ基盤ブループリントの組織構造を使用します。次の図は、エンタープライズ データメッシュ アーキテクチャで使用されるトップレベルのフォルダとプロジェクトを示しています。
次の表に、アーキテクチャに含まれる最上位のフォルダとプロジェクトを示します。
フォルダ | コンポーネント | 説明 |
---|---|---|
|
|
アーキテクチャのコード アーティファクトの構築に使用されるデプロイ パイプラインが含まれています。 |
|
インタラクティブ環境にリソースをデプロイするためにサービス カタログで使用されるインフラストラクチャが含まれています。 |
|
|
Google Cloudの CDMC フレームワークの実装で使用されるすべてのリソースが含まれています。 |
|
|
|
インタラクティブ モードでユースケースを開発するためのデータ プラットフォームのプロジェクトとリソースが含まれています。 |
|
|
運用環境にデプロイするユースケースをテストするためのデータ プラットフォームのプロジェクトとリソースが含まれます。 |
|
|
本番環境にデプロイするデータ プラットフォームのプロジェクトとリソースが含まれています。 |
データ プラットフォーム フォルダ
データ プラットフォーム フォルダには、すべてのデータプレーン コンポーネントと一部の CDMC リソースが含まれています。また、データ プラットフォーム フォルダとデータ ガバナンス プロジェクトには CDMC リソースが含まれています。次の図は、データ プラットフォーム フォルダにデプロイされるフォルダとプロジェクトを示しています。
各データ プラットフォーム フォルダには、環境フォルダ(本番環境、非本番環境、開発環境)が含まれています。次の表に、各データ プラットフォーム フォルダ内のフォルダを示します。
フォルダ | 説明 |
---|---|
Producers |
データドメインが含まれます。 |
一般ユーザー |
コンシューマ プロジェクトが含まれます。 |
データドメイン |
特定のドメインに関連付けられたプロジェクトが含まれています。 |
プロデューサー フォルダ
各プロデューサー フォルダには 1 つ以上のデータドメインが含まれます。データドメインとは、共通の意味、目的、ビジネス コンテキストを共有するデータ要素の論理的なグループ化を指します。データドメインを使用すると、組織内のデータを分類して整理できます。次の図は、データドメインの構造を示しています。このアーキテクチャでは、環境ごとにデータ プラットフォーム フォルダにプロジェクトがデプロイされます。
次の表に、各環境のデータ プラットフォーム フォルダにデプロイされるプロジェクトを示します。
プロジェクト | 説明 |
---|---|
取り込み |
取り込みプロジェクトは、データドメインにデータを取り込みます。このアーキテクチャは、BigQuery、Cloud Storage、Pub/Sub にデータをストリーミングする方法の例を示しています。取り込みプロジェクトには、取り込まれたデータの変換と移動をオーケストレートするために使用できる Dataflow と Cloud Composer の例も含まれています。 |
非機密 |
機密性のないプロジェクトには、匿名化されたデータが含まれています。データのマスキング、コンテナ化、暗号化、トークン化、難読化を行うことができます。ポリシータグを使用して、データの表示方法を制御します。 |
社外秘 |
機密プロジェクトには平文データが含まれています。アクセスは IAM 権限で制御できます。 |
コンシューマ フォルダ
コンシューマ フォルダには、コンシューマ プロジェクトが含まれています。コンシューマ プロジェクトは、必要な信頼境界に基づいてデータユーザーをセグメント化するメカニズムを提供します。各プロジェクトは個別のユーザー グループに割り当てられ、グループにはプロジェクトごとに必要なデータアセットへのアクセス権が割り当てられます。コンシューマ プロジェクトを使用して、グループのデータを収集、分析、拡張できます。
共通フォルダ
common フォルダには、さまざまな環境とプロジェクトで使用されるサービスが含まれています。このセクションでは、エンタープライズ データメッシュを有効にするために共通フォルダに追加される機能について説明します。
CDMC アーキテクチャ
このアーキテクチャでは、データ ガバナンスに CDMC アーキテクチャを使用しています。データ ガバナンス関数は、共通フォルダのデータ ガバナンス プロジェクトにあります。次の図は、CDMC アーキテクチャのコンポーネントを示しています。図中の番号は、 Google Cloudサービスが対応しているキー コントロールを表しています。
次の表に、エンタープライズ データメッシュ アーキテクチャで使用する CDMC アーキテクチャのコンポーネントを示します。
CDMC コンポーネント | Google Cloud サービス | 説明 |
---|---|---|
アクセスとライフサイクルのコンポーネント | ||
鍵管理 |
Cloud KMS |
機密データを保護する暗号鍵を安全に管理するサービス。 |
レコード マネージャー |
Cloud Run |
データ処理アクティビティの包括的なログとレコードを維持するアプリケーション。これにより、組織はデータ使用状況を追跡して監査できます。 |
アーカイブ ポリシー |
BigQuery |
データのストレージ ポリシーを含む BigQuery テーブル。 |
利用資格 |
BigQuery |
機密データにアクセスできるユーザーに関する情報を保存する BigQuery テーブル。このテーブルにより、承認されたユーザーのみが、ロールと権限に基づいて特定のデータにアクセスできるようになります。 |
スキャン コンポーネント | ||
データ損失 |
Sensitive Data Protection |
アセットに機密データが含まれていないか検査するために使用されるサービス。 |
DLP の検出結果 |
BigQuery |
データ プラットフォーム内のデータ分類をカタログ化する BigQuery テーブル。 |
ポリシー |
BigQuery |
一貫したデータ ガバナンス プラクティス(データアクセス タイプなど)を含む BigQuery テーブル。 |
課金データのエクスポート |
BigQuery |
Cloud Billing からエクスポートされた費用情報を格納するテーブル。データアセットに関連付けられた費用指標の分析を可能にします。 |
Cloud Data Quality Engine |
Cloud Run |
テーブルと列のデータ品質チェックを実行するアプリケーション。 |
データ品質の検出結果 |
BigQuery |
定義されたデータ品質ルールとデータアセットの実際の品質の間で検出された不一致を記録する BigQuery テーブル。 |
レポート コンポーネント | ||
スケジューラ |
Cloud Scheduler |
Cloud Data Quality Engine の実行タイミングと Sensitive Data Protection の検査のタイミングを制御するサービス。 |
レポート エンジン |
Cloud Run |
CDMC フレームワークのコントロールへの準拠の追跡と測定に役立つレポートを生成するアプリケーション。 |
検出結果とアセット |
BigQuery と Pub/Sub |
タグの欠落、分類の誤り、コンプライアンス違反のストレージ ロケーションなど、データ管理制御の不一致や不整合に関する BigQuery レポート。 |
タグのエクスポート |
BigQuery |
Data Catalog から抽出されたタグ情報が含まれる BigQuery テーブル。 |
その他のコンポーネント | ||
ポリシー管理 |
組織ポリシー サービス |
データが地理的に保存できる場所に制限を定義して適用するサービス。 |
属性ベースのアクセス ポリシー |
Access Context Manager |
属性ベースの詳細なアクセス ポリシーを定義して適用するサービス。これにより、許可されたロケーションとデバイスの承認済みユーザーのみが機密情報にアクセスできるようになります。 |
メタデータ |
Data Catalog |
データメッシュで使用されているテーブルに関するメタデータ情報を保存するサービス。 |
Engine のタグ設定 |
Cloud Run |
BigQuery テーブルのデータにタグを追加するアプリケーション。 |
CDMC レポート |
Looker Studio |
アナリストが CDMC アーキテクチャ エンジンによって生成されたレポートを表示できるダッシュボード。 |
CDMC の実装
次の表に、アーキテクチャが CDMC フレームワークでキー コントロールを実装する方法を示します。
CDMC コントロール要件 | 実装 |
---|---|
Report Engine は、コンプライアンス違反のデータアセットを検出し、検出結果を Pub/Sub トピックにパブリッシュします。これらの検出結果は、Looker Studio を使用したレポート作成のために BigQuery にも読み込まれます。 |
|
Data Catalog は、BigQuery からテクニカル メタデータを自動的にキャプチャします。Tag Engine は、参照テーブルからオーナー名や機密性レベルなどのビジネス メタデータタグを適用します。これにより、コンプライアンスを確保するために、すべての機密データにオーナー情報のタグが付けられます。この自動タグ付けプロセスは、機密データを特定して適切な所有者情報でラベル付けすることで、データ ガバナンスとコンプライアンスを実現します。 |
|
Data Catalog は、信頼できるソースであるデータアセットに |
|
組織のポリシー サービスは、データアセットに許可されるストレージ リージョンを定義し、Access Context Manager はユーザーのロケーションに基づいてアクセスを制限します。Data Catalog は、承認されたストレージのロケーションをメタデータタグとして保存します。Report Engine は、これらのタグを BigQuery 内のデータアセットの実際の場所と比較し、不一致があれば Pub/Sub を使用して検出結果として公開します。Security Command Center は、定義されたポリシーの外部にデータが保存またはアクセスされた場合に脆弱性の検出結果を生成することで、追加のモニタリング レイヤを提供します。 |
|
Data Catalog は、すべての BigQuery データアセットのテクニカル メタデータを保存して更新し、継続的に同期された Data Catalog を効果的に作成します。Data Catalog では、新しいテーブルや変更されたテーブルとビューがカタログにすぐに追加され、データアセットの最新のインベントリが維持されます。 |
|
Sensitive Data Protection は、BigQuery データを検査して機密情報の種類を特定します。これらの検出結果は、分類参照表に基づいてランク付けされ、最も高い機密性レベルが Data Catalog の列レベルとテーブルレベルでタグとして割り当てられます。Tag Engine は、新しいデータアセットが追加されたときや既存のデータアセットが変更されたときに、機密性タグを使用してデータカタログを更新することで、このプロセスを管理します。このプロセスにより、機密性に基づいてデータの分類が常に更新されます。この分類は、Pub/Sub と統合されたレポート作成ツールを使用してモニタリングおよびレポートできます。 |
|
BigQuery のポリシータグは、機密データへのアクセスを列レベルで制御します。これにより、割り当てられたポリシータグに基づいて、承認されたユーザーのみが特定のデータにアクセスできるようになります。IAM はデータ ウェアハウスへの全体的なアクセスを管理し、Data Catalog は機密性分類を保存します。定期的なチェックが実行され、すべての機密データに対応するポリシータグが付与されていることを確認します。不一致がある場合は、Pub/Sub を使用して報告され、修正されます。 |
|
プロバイダとコンシューマの両方のデータ共有契約は、専用の BigQuery データ ウェアハウスに保存され、使用目的を制御します。Data Catalog は、データアセットにプロバイダの契約情報をラベル付けします。一方、コンシューマの契約は、アクセス制御用の IAM バインディングにリンクされます。クエリラベルは利用目的を適用するため、利用者は機密データをクエリするときに有効な目的を指定する必要があります。この目的は、BigQuery の利用資格と照合されます。BigQuery の監査証跡は、すべてのデータアクセスを追跡し、データ共有契約に準拠していることを確認します。 |
|
Google のデフォルトの保存データの暗号化は、ディスクに保存されているデータを保護します。Cloud KMS は、鍵管理を強化するために顧客管理の暗号鍵(CMEK)をサポートしています。BigQuery は、匿名化のために列レベルの動的データ マスキングを実装し、データの取り込み中にアプリケーション レベルの匿名化をサポートしています。Data Catalog は、データアセットに適用される暗号化と匿名化の手法のメタデータタグを保存します。自動チェックにより、暗号化と匿名化の方法が事前定義されたセキュリティ ポリシーと一致していることが確認され、不一致があれば Pub/Sub を使用して検出結果として報告されます。 |
|
Data Catalog は、機密データアセットに、影響評価に関連する情報(被写体の位置情報や評価レポートのリンクなど)のタグを設定します。Tag Engine は、データの機密性と BigQuery のポリシーテーブルに基づいてこれらのタグを適用します。このテーブルには、データと被写体の所在地に基づく評価要件が定義されています。この自動タグ付けプロセスにより、影響評価の要件に対するコンプライアンスの継続的なモニタリングとレポートが可能になり、必要に応じてデータ保護影響評価(DPIA)または保護影響評価(PIA)が実施されます。 |
|
Data Catalog は、保持期間と有効期限アクション(アーカイブやパージなど)を指定して、保持ポリシーでデータアセットにラベルを付けます。Record Manager は、定義されたタグに基づいて BigQuery テーブルをパージまたはアーカイブすることで、これらのポリシーの適用を自動化します。この適用により、データ ライフサイクル ポリシーに準拠し、データ保持要件に準拠した状態を維持できます。不一致は Pub/Sub を使用して検出および報告されます。 |
|
Cloud Data Quality Engine は、指定されたテーブル列に対してデータ品質ルールを定義して実行し、正確性や完全性などの指標に基づいてデータ品質を測定します。これらのチェックの結果(成功率やしきい値など)は、タグとして Data Catalog に保存されます。これらの結果を保存することで、データ品質の継続的なモニタリングとレポートが可能になり、問題や許容しきい値からの逸脱は Pub/Sub を使用して検出結果として公開されます。 |
|
Data Catalog には、クエリ費用、ストレージ費用、データ下り(外向き)費用など、データアセットの費用関連の指標が保存されます。これらの指標は、Cloud Billing から BigQuery にエクスポートされた課金情報を使用して計算されます。費用関連の指標を保存すると、費用の包括的な追跡と分析が可能になり、費用ポリシーの遵守とリソースの効率的な使用が確保されます。異常は Pub/Sub を使用して報告されます。 |
|
Data Catalog の組み込みのデータリネージ機能は、データアセットの来歴とリネージを追跡し、データフローを視覚的に表します。さらに、データ取り込みスクリプトは、Data Catalog でデータの元のソースを識別してタグ付けし、データの元へのトレーサビリティを強化します。 |
データアクセス管理
このアーキテクチャのデータへのアクセスは、運用管理(Dataflow ジョブの実行など)とデータアクセス制御を分離する独立したプロセスによって制御されます。ユーザーによるサービスへのアクセスは、環境または運用上の懸念事項によって定義され、クラウド エンジニアリング グループによってプロビジョニングおよび承認されます。 Google Cloud ユーザーによる Google Cloud データアセット(BigQuery テーブルなど)へのアクセスは、プライバシー、規制、ガバナンスに関する懸念事項であり、生成側と使用側の間のアクセス契約の対象となり、次のプロセスで制御されます。次の図は、さまざまなソフトウェア コンポーネントの相互作用によってデータアクセスがプロビジョニングされる方法を示しています。
上の図に示すように、データアクセスのオンボーディングは次のプロセスによって処理されます。
- Cloud データアセットは、Data Catalog によって収集され、インベントリに登録されます。
- ワークフロー マネージャーは、Data Catalog からデータアセットを取得します。
- データ オーナーがワークフロー マネージャーにオンボーディングされます。
データアクセス管理のオペレーションは次のとおりです。
- データ コンシューマが特定のアセットをリクエストします。
- アセットのデータオーナーにリクエストが通知されます。
- データ オーナーがリクエストを承認または拒否します。
- リクエストが承認されると、ワークフロー マネージャーはグループ、アセット、関連タグを IAM マッパーに渡します。
- IAM マッパーは、ワークフロー マネージャーのタグを IAM 権限に変換し、指定されたグループにデータアセットに対する IAM 権限を付与します。
- ユーザーがデータアセットにアクセスしようとすると、IAM はグループの権限に基づいてアセットへのアクセスを評価します。 Google Cloud
- 許可されている場合、ユーザーはデータアセットにアクセスします。
ネットワーキング
データ セキュリティ プロセスは、送信元アプリケーションで開始されます。このアプリケーションは、オンプレミスまたはターゲットGoogle Cloud プロジェクトの外部にある別の環境に存在する場合があります。このアプリケーションは、ネットワーク転送が行われる前に、Workload Identity 連携を使用して Google Cloud APIs に対して安全に認証を行います。これらの認証情報を使用して Cloud KMS とやり取りし、必要な鍵を取得またはラップします。次に、Tink ライブラリを使用して、事前定義されたテンプレートに基づいて機密データ ペイロードの初期暗号化と匿名化を行います。
データ ペイロードを保護したら、ペイロードを Google Cloud 取り込みプロジェクトに安全に転送する必要があります。オンプレミス アプリケーションの場合は、Cloud Interconnect または Cloud VPN を使用できます。Google Cloud ネットワーク内で、Private Service Connect を使用して、ターゲット プロジェクトの VPC ネットワーク内の取り込みエンドポイントにデータを転送します。Private Service Connect を使用すると、ソース アプリケーションはプライベート IP アドレスを使用して Google API に接続できるため、トラフィックがインターネットに公開されることはありません。
ネットワーク パス全体と、取り込みプロジェクト内のターゲット取り込みサービス(Cloud Storage、BigQuery、Pub/Sub)は、VPC Service Controls の境界で保護されます。この境界はセキュリティ境界を適用し、ソースから取得された保護されたデータを、その特定のプロジェクト内の承認済みのGoogle Cloud サービスにのみ取り込むようにします。
ロギング
このアーキテクチャでは、エンタープライズ基盤ブループリントによって提供される Cloud Logging の機能を使用します。
パイプライン
エンタープライズ データメッシュ アーキテクチャでは、一連のパイプラインを使用して、インフラストラクチャ、オーケストレーション、データセット、データ パイプライン、アプリケーション コンポーネントをプロビジョニングします。このアーキテクチャのリソースのデプロイ パイプラインは、Infrastructure as Code(IaC)ツールとして Terraform を使用し、CI/CD サービスとして Cloud Build を使用して、Terraform 構成をアーキテクチャ環境にデプロイします。次の図は、パイプラインの関係を示しています。
基盤パイプラインとインフラストラクチャ パイプラインは、エンタープライズ基盤ブループリントの一部です。次の表に、パイプラインの目的と、プロビジョニングするリソースを示します。
パイプライン | プロビジョニング元 | リソース |
---|---|---|
基盤パイプライン |
ブートストラップ |
|
インフラストラクチャ パイプライン |
基盤パイプライン |
|
サービス カタログ パイプライン |
インフラストラクチャ パイプライン |
|
アーティファクト パイプライン |
インフラストラクチャ パイプライン |
アーティファクト パイプラインは、データメッシュで使用されるコードベースのさまざまなコンテナやその他のコンポーネントを生成します。 |
各パイプラインには、コードと構成ファイルを pull する独自のリポジトリ セットがあります。各リポジトリには、運用コードのデプロイの送信者と承認が異なるグループの責任である職務分担があります。
サービス カタログによるインタラクティブなデプロイ
インタラクティブ環境は、アーキテクチャ内の開発環境であり、development フォルダにあります。インタラクティブ環境の主なインターフェースはサービス カタログです。これにより、デベロッパーは事前構成されたテンプレートを使用して Google サービスをインスタンス化できます。これらの事前構成済みテンプレートは、サービス テンプレートと呼ばれます。サービス テンプレートを使用すると、CEMK 暗号化の必須化など、セキュリティ対策を強化できます。また、ユーザーが Google API に直接アクセスするのを防ぐこともできます。
次の図は、インタラクティブ環境のコンポーネントと、データ サイエンティストがリソースをデプロイする方法を示しています。
Service Catalog を使用してリソースをデプロイする手順は次のとおりです。
- MLOps エンジニアが Terraform リソース テンプレートを Git リポジトリに配置します。 Google Cloud
- Git Commit コマンドは、Cloud Build パイプラインをトリガーします。
- Cloud Build がテンプレートと関連構成ファイルを Cloud Storage にコピーする。
- MLOps エンジニアがサービス カタログ ソリューションとサービス カタログを手動で設定する。エンジニアがインタラクティブ環境でサービス カタログをサービス プロジェクトと共有する。
- データ サイエンティストがサービス カタログからリソースを選択する。
- サービス カタログはテンプレートをインタラクティブ環境にデプロイする。
- リソースが必要な構成スクリプトを pull する。
- データ サイエンティストがリソースを操作する。
アーティファクト パイプライン
データ取り込みプロセスでは、Cloud Composer と Dataflow を使用して、データドメイン内のデータの移動と変換をオーケストレートします。アーティファクト パイプラインは、データ取り込みに必要なすべてのリソースをビルドし、サービスがアクセスできるように適切な場所にリソースを移動します。アーティファクト パイプラインは、オーケストレーターが使用するコンテナ アーティファクトを作成します。
セキュリティ管理
エンタープライズ データメッシュ アーキテクチャでは、エンタープライズ基盤ブループリントによって構成されたデフォルト機能、サービス、セキュリティ機能を使用した多層防御のセキュリティ モデルを採用しています。 Google Cloud Google Cloud次の図は、アーキテクチャのさまざまなセキュリティ管理のレイヤを示しています。
次の表に、各レイヤのリソースに関連付けられているセキュリティ対策を示します。
層 | リソース | セキュリティ対策 |
---|---|---|
CDMC フレームワーク |
Google Cloud CDMC の実装 |
データアセットの保護、管理、制御に役立つガバナンス フレームワークを提供します。詳細については、CDMC キー コントロール フレームワークをご覧ください。 |
デプロイ |
インフラストラクチャ パイプライン |
インフラストラクチャのデプロイ、コンテナのビルド、データ パイプラインの作成を行う一連のパイプラインを提供します。パイプラインを使用することで、監査可能性、トレーサビリティ、再現性を確保できます。 |
アーティファクト パイプライン |
インフラストラクチャ パイプラインによってデプロイされないさまざまなコンポーネントをデプロイします。 |
|
Terraform テンプレート |
システム インフラストラクチャを構築します。 |
|
Open Policy Agent |
プラットフォームが選択したポリシーに準拠していることを確認できます。 |
|
ネットワーク |
Private Service Connect |
API レイヤと IP レイヤでアーキテクチャ リソースのデータの引き出しを保護します。プライベート IP アドレスを使用して Google Cloud APIs と通信できるため、インターネットへのトラフィックの漏洩を回避できます。 |
プライベート IP アドレスを割り当てられた VPC ネットワーク |
インターネットに接続する脅威への露出を軽減できます。 |
|
VPC Service Controls |
機密リソースをデータの引き出しから保護します。 |
|
ファイアウォール |
VPC ネットワークを不正アクセスから保護します。 |
|
アクセス管理 |
Access Context Manager |
誰がどのリソースにアクセスできるかを制御し、リソースの不正使用を防止します。 |
Workload Identity 連携 |
オンプレミス環境からプラットフォームにデータを転送するために外部認証情報を使用する必要がなくなります。 |
|
Data Catalog |
ユーザーが利用できるアセットのインデックスを提供します。 |
|
IAM |
きめ細かいアクセスを提供します。 |
|
暗号化 |
Cloud KMS |
暗号鍵とシークレットを管理し、保存データの暗号化と転送データの暗号化によってデータを保護できます。 |
Secret Manager |
IAM によって制御されるパイプラインのシークレット ストアを提供します。 |
|
保存時の暗号化 |
デフォルトでは、 Google Cloud は保存データを暗号化します。 |
|
転送データの暗号化 |
デフォルトでは、 Google Cloud は転送中のデータを暗号化します。 |
|
検出 |
Security Command Center |
組織内の構成ミスや悪意のあるアクティビティを検出できます。 Google Cloud |
継続的アーキテクチャ |
ユーザーが定義した一連の OPA ポリシーとの照合により、 Google Cloud 組織を継続的に確認します。 |
|
IAM Recommender |
ユーザー権限を分析し、最小権限の原則を適用するために権限の削減に関する提案を行います。 |
|
ファイアウォール インサイト |
全体的なセキュリティ ポスチャーを強化するため、ファイアウォール ルールを分析し、過度に制限の緩いファイアウォール ルールを特定して、より制限の厳しいファイアウォールを提案します。 |
|
Cloud Logging |
システムの活動を可視化して、異常や悪意のある活動の検出を実現します。 |
|
Cloud Monitoring |
不審な活動の特定に役立つ重要なシグナルとイベントを追跡します。 |
|
予防 |
組織ポリシー |
組織内のアクションを制御、制限できます。 Google Cloud |
Workflows
次のセクションでは、データ プロデューサー ワークフローとデータ コンシューマ ワークフローの概要を説明します。データの機密性とユーザーロールに基づいて適切なアクセス制御を確保します。
データ プロデューサーのワークフロー
次の図は、BigQuery に転送されるデータの保護方法を示しています。
データ転送のワークフローは次のとおりです。
- Workload Identity 連携と統合されたアプリケーションは、Cloud KMS を使用してラップされた暗号鍵を復号します。
- アプリケーションは Tink ライブラリを使用して、テンプレートを使用してデータの匿名化または暗号化を行います。
- アプリケーションは、 Google Cloudの取り込みプロジェクトにデータを転送します。
- データは Cloud Storage、BigQuery、または Pub/Sub に届きます。
- 取り込みプロジェクトでは、テンプレートを使用してデータが復号または再識別されます。
- 復号されたデータは、別の匿名化テンプレートに基づいて暗号化またはマスク処理され、機密性のないプロジェクトに配置されます。タグは、タグ設定エンジンによって適宜適用されます。
- 機密性のないプロジェクトのデータが機密プロジェクトに転送され、再識別されます。
次のデータアクセスが許可されます。
- 機密プロジェクトにアクセスできるユーザーは、すべての未加工のプレーンテキスト データにアクセスできます。
- 非機密プロジェクトにアクセスできるユーザーは、データに関連付けられたタグとその権限に基づいて、マスクされたデータ、トークン化されたデータ、暗号化されたデータにアクセスできます。
データ コンシューマのワークフロー
次の手順では、コンシューマが BigQuery に保存されているデータにアクセスする方法について説明します。
- データ コンシューマは Data Catalog を使用してデータアセットを検索します。
- コンシューマが目的のアセットを見つけたら、データ コンシューマはデータアセットへのアクセスをリクエストします。
- データオーナーは、アセットへのアクセスを許可するかどうかを決定します。
- コンシューマがアクセス権を取得すると、ノートブックとソリューション カタログを使用して、データアセットを分析して変換できる環境を作成できます。
まとめ
GitHub リポジトリには、エンタープライズ基盤をデプロイした後にGoogle Cloud にデータメッシュをデプロイする詳細な手順が記載されています。このアーキテクチャをデプロイするプロセスでは、既存のインフラストラクチャ リポジトリを変更し、新しいデータメッシュ固有のコンポーネントをデプロイします。
次の手順に沿って操作します。
- 次の前提条件をすべて満たす。
- Google Cloud CLI、Terraform、Tink、Java、Go をインストールします。
- エンタープライズ基盤ブループリント(v4.1)をデプロイします。
- 次のローカル リポジトリを維持します。
gcp-data-mesh-foundations
gcp-bootstrap
gcp-environments
gcp-networks
gcp-org
gcp-projects
- 既存の基盤ブループリントを変更してから、データメッシュ アプリケーションをデプロイします。アイテムごとに、次の操作を行います。
- ターゲット リポジトリで、
Plan
ブランチをチェックアウトします。 - データメッシュ コンポーネントを追加するには、関連するファイルとディレクトリを
gcp-data-mesh-foundations
から適切な基盤ディレクトリにコピーします。必要に応じてファイルを上書きします。 - Terraform ファイルのデータメッシュ変数、ロール、設定(
*.tfvars
や*.tf
など)を更新します。GitHub トークンを環境変数として設定します。 - 各リポジトリに対して Terraform の初期化、プランニング、適用オペレーションを実行します。
- 変更を commit し、コードをリモート リポジトリに push します。pull リクエストを作成し、開発環境、非本番環境、本番環境にマージします。
- ターゲット リポジトリで、
次のステップ
- データメッシュのアーキテクチャと機能を確認する。
- Google Cloud から安全な BigQuery データ ウェアハウスにデータをインポートする。
- BigQuery データ ウェアハウスに CDMC キー コントロール フレームワークを実装する。
- エンタープライズ基盤ブループリントを確認する。