엔터프라이즈 데이터 관리 및 분석 플랫폼은 보안 제어를 유지하면서 민감한 정보를 저장, 분석, 조작할 수 있는 엔클레이브를 제공합니다. 엔터프라이즈 데이터 메시 아키텍처를 사용하여 Google Cloud 데이터 관리 및 분석을 위한 플랫폼을 배포할 수 있습니다. 이 아키텍처는 구성요소가 기존 온프레미스 구성요소 및 운영 프로세스와 상호작용하는 하이브리드 환경에서 작동하도록 설계되었습니다. Google Cloud
엔터프라이즈 데이터 메시 아키텍처에는 다음이 포함됩니다.
- 다음을 빌드하는 Terraform 구성, 스크립트, 코드 집합이 포함된 GitHub 저장소입니다.
- Google의 Cloud 데이터 관리 기능 (CDMS) 키 제어 프레임워크 구현을 사용할 수 있는 거버넌스 프로젝트입니다.
- 대화형 및 프로덕션 워크플로를 지원하는 데이터 플랫폼 예시
- 여러 데이터 도메인을 지원하는 데이터 플랫폼 내의 프로듀서 환경입니다. 데이터 도메인은 데이터 요소의 논리적 그룹입니다.
- 여러 소비자 프로젝트를 지원하는 데이터 플랫폼 내 소비자 환경입니다.
- 워크로드 ID 제휴 및 Tink 암호화 라이브러리를 사용하여 안전한 방식으로 Google Cloud 로 데이터를 전송하는 데 도움이 되는 데이터 전송 서비스입니다.
- 수집, 비기밀, 기밀 프로젝트가 포함된 데이터 도메인 예시
- 데이터 소비자가 데이터 세트에 대한 액세스를 요청하고 데이터 소유자가 해당 데이터 세트에 대한 액세스 권한을 부여할 수 있는 데이터 액세스 시스템의 예시입니다. 이 예에는 이러한 데이터 세트의 IAM 권한을 적절하게 변경하는 워크플로 관리자도 포함되어 있습니다.
- 이 아키텍처를 사용하여 구현하는 아키텍처, 디자인, 보안 제어 및 운영 프로세스에 대한 가이드 (이 문서)
엔터프라이즈 데이터 메시 아키텍처는 엔터프라이즈 기반 청사진과 호환되도록 설계되었습니다. 엔터프라이즈 기반 청사진은 VPC 네트워크 및 로깅과 같이 이 아키텍처에서 사용하는 여러 기본 수준 서비스를 제공합니다.Google Cloud 환경에서 필요한 기능을 제공하는 경우 엔터프라이즈 기반 청사진을 배포하지 않고도 이 아키텍처를 배포할 수 있습니다.
이 문서는 이 아키텍처를 사용하여 Google Cloud에서 포괄적인 데이터 서비스를 빌드하고 배포할 수 있는 클라우드 설계자, 데이터 과학자, 데이터 엔지니어, 보안 설계자를 대상으로 합니다. 이 문서에서는 사용자가 데이터 메시, Google Cloud데이터 서비스, CDMC 프레임워크의 Google Cloud 구현 개념에 익숙하다고 가정합니다.
아키텍처
엔터프라이즈 데이터 메시 아키텍처는 계층적 접근 방식을 사용하여 데이터 수집, 데이터 처리, 거버넌스를 지원하는 기능을 제공합니다. 이 아키텍처는 CI/CD 워크플로를 통해 배포 및 제어할 수 있습니다. 다음 다이어그램은 이 아키텍처로 배포된 데이터 영역이 환경의 다른 영역과 어떤 관련이 있는지 보여줍니다.
이 다이어그램에는 다음이 포함됩니다.
- Google Cloud 인프라는 저장 데이터 암호화 및 전송 중인 데이터 암호화와 같은 보안 기능뿐만 아니라 컴퓨팅 및 스토리지와 같은 기본 구성요소도 제공합니다.
- 엔터프라이즈 기반은 데이터 워크로드에 Google Cloud 를 채택할 수 있게 해주는 ID, 네트워킹, 로깅, 모니터링, 배포 시스템과 같은 리소스 기준을 제공합니다.
- 데이터 영역은 데이터 수집, 데이터 저장, 데이터 액세스 제어, 데이터 거버넌스, 데이터 모니터링, 데이터 공유와 같은 다양한 기능을 제공합니다.
- 애플리케이션 영역은 데이터 영역 애셋을 사용하는 다양한 애플리케이션을 나타냅니다.
- CI/CD는 인프라, 워크플로, 소프트웨어 구성요소의 프로비저닝, 구성, 관리, 배포를 자동화하는 도구를 제공합니다. 이러한 구성요소는 일관적이고 안정적이며 감사 가능한 배포를 보장하고, 수동 오류를 최소화하고, 전반적인 개발 주기를 가속화하는 데 도움이 됩니다.
데이터 환경이 사용되는 방식을 보여주기 위해 아키텍처에는 샘플 데이터 워크플로가 포함되어 있습니다. 샘플 데이터 워크플로에서는 데이터 거버넌스, 데이터 수집, 데이터 처리, 데이터 공유, 데이터 소비의 프로세스를 안내합니다.
주요 아키텍처 결정사항
다음 표에는 아키텍처의 대략적인 결정사항이 요약되어 있습니다.
결정 영역 | 결정 |
---|---|
Google Cloud architecture | |
리소스 계층 구조 |
이 아키텍처는 엔터프라이즈 기반 청사진의 리소스 계층 구조를 사용합니다. |
네트워킹 |
이 아키텍처에는 워크로드 아이덴티티 제휴 및 Tink 라이브러리를 사용하는 데이터 전송 서비스의 예가 포함되어 있습니다. |
역할 및 IAM 권한 |
이 아키텍처에는 세분화된 데이터 생산자 역할, 데이터 소비자 역할, 데이터 거버넌스 역할, 데이터 플랫폼 역할이 포함됩니다. |
공통 데이터 서비스 | |
메타데이터 |
이 아키텍처는 Data Catalog를 사용하여 데이터 메타데이터를 관리합니다. |
중앙 정책 관리 |
정책을 관리하기 위해 이 아키텍처는 Google Cloud의 CDMC 프레임워크 구현을 사용합니다. |
데이터 액세스 관리 |
데이터 액세스를 제어하기 위해 아키텍처에는 데이터 소비자가 데이터 소유자에게 데이터 애셋에 대한 액세스 권한을 요청해야 하는 독립적인 프로세스가 포함되어 있습니다. |
데이터 품질 |
이 아키텍처는 Cloud Data Quality Engine을 사용하여 지정된 테이블 열에 데이터 품질 규칙을 정의하고 실행하여 정확성 및 완전성과 같은 측정항목을 기반으로 데이터 품질을 측정합니다. |
데이터 보안 |
이 아키텍처는 태그 지정, 암호화, 마스킹, 토큰화, IAM 제어를 사용하여 데이터 보안을 제공합니다. |
데이터 도메인 | |
데이터 환경 |
이 아키텍처에는 세 가지 환경이 포함됩니다. 두 환경(비프로덕션 및 프로덕션)은 파이프라인에 의해 실행되는 운영 환경입니다. 한 환경 (개발)은 대화형 환경입니다. |
데이터 소유자 |
데이터 소유자는 데이터 애셋을 수집, 처리, 노출하고 액세스 권한을 부여합니다. |
데이터 소비자 |
데이터 소비자가 데이터 애셋에 대한 액세스를 요청합니다. |
온보딩 및 운영 | |
파이프라인 |
이 아키텍처는 다음 파이프라인을 사용하여 리소스를 배포합니다.
|
저장소 |
각 파이프라인은 별도의 저장소를 사용하여 책임을 분리합니다. |
프로세스 흐름 |
이 프로세스에서는 프로덕션 환경 변경사항에 제출자와 승인자가 포함되어야 합니다. |
Cloud operations | |
데이터 제품 스코어카드 |
보고서 엔진은 데이터 제품 스코어카드를 생성합니다. |
Cloud Logging |
이 아키텍처는 엔터프라이즈 기반 청사진의 로깅 인프라를 사용합니다. |
Cloud Monitoring |
이 아키텍처는 엔터프라이즈 기반 청사진의 모니터링 인프라를 사용합니다. |
ID: 역할 그룹 매핑
데이터 메시는 엔터프라이즈 기반 청사진의 기존 ID 수명 주기 관리, 승인, 인증 아키텍처를 활용합니다. 사용자에게 직접 역할이 할당되지는 않습니다. 대신 그룹은 IAM에서 역할과 권한을 할당하는 기본 방법입니다. IAM 역할 및 권한은 프로젝트 생성 중에 기반 파이프라인을 통해 할당됩니다.
데이터 메시는 그룹을 인프라, 데이터 거버넌스, 도메인 기반 데이터 생산자, 도메인 기반 소비자의 4가지 주요 영역 중 하나와 연결합니다.
이러한 그룹의 권한 범위는 다음과 같습니다.
- 인프라 그룹의 권한 범위는 데이터 메시 전체입니다.
- 데이터 거버넌스 그룹의 권한 범위는 데이터 거버넌스 프로젝트입니다.
- 도메인 기반 생산자 및 소비자 권한은 데이터 도메인으로 범위가 지정됩니다.
다음 표에는 이 데이터 메시 구현에 사용되는 다양한 역할과 관련 권한이 나와 있습니다.
인프라
그룹 | 설명 | 역할 |
---|---|---|
|
데이터 메시의 전체 관리자 |
|
데이터 거버넌스
그룹 | 설명 | 역할 |
---|---|---|
|
데이터 거버넌스 프로젝트의 관리자 |
데이터 거버넌스 프로젝트에 대한 |
|
데이터 거버넌스 구성요소를 빌드하고 유지관리하는 개발자 |
|
|
데이터 거버넌스 정보의 독자 |
|
|
거버넌스 프로젝트의 보안 관리자 |
|
|
태그 템플릿을 사용할 권한이 있는 그룹 |
|
|
태그 템플릿을 사용하고 태그를 추가할 권한이 있는 그룹 |
|
|
Security Command Center 알림을 위한 서비스 계정 그룹 |
없음 이는 멤버십 그룹이며, 이 이름으로 서비스 계정이 만들어지며 필요한 권한이 있습니다. |
도메인 기반 데이터 생산자
그룹 | 설명 | 역할 |
---|---|---|
|
특정 데이터 도메인의 관리자 |
데이터 도메인 프로젝트에 대한 |
|
데이터 도메인 내에서 데이터 제품을 빌드하고 유지보수하는 개발자 |
|
|
데이터 도메인 정보의 독자 |
|
|
Data Catalog 항목 편집자 |
Data Catalog 항목을 수정하는 역할 |
|
데이터 도메인의 데이터 스튜어드 |
메타데이터 및 데이터 거버넌스 측면을 관리하는 역할 |
도메인 기반 데이터 소비자
그룹 | 설명 | 역할 |
---|---|---|
|
특정 소비자 프로젝트의 관리자 |
소비자 프로젝트에 대한 |
|
소비자 프로젝트 내에서 작업하는 개발자 |
|
|
소비자 프로젝트 정보를 읽는 사용자 |
|
조직 구조
프로덕션 작업과 프로덕션 데이터를 구분하기 위해 아키텍처는 서로 다른 환경을 사용하여 워크플로를 개발하고 출시합니다. 프로덕션 운영에는 워크플로의 거버넌스, 추적 가능성, 반복성, 워크플로 결과의 감사 가능성 등이 포함됩니다. 프로덕션 데이터는 조직을 운영하는 데 필요한 민감한 정보일 수 있는 데이터를 의미합니다. 모든 환경은 데이터를 처리하고 운영할 수 있는 보안 제어 기능을 갖도록 설계되었습니다.
데이터 과학자와 엔지니어를 지원하기 위해 이 아키텍처에는 개발자가 환경을 직접 사용하고 선별된 솔루션 카탈로그를 통해 서비스를 추가할 수 있는 대화형 환경이 포함되어 있습니다. 운영 환경은 아키텍처와 구성을 코딩한 파이프라인을 통해 실행됩니다.
이 아키텍처는 엔터프라이즈 기반 청사진의 조직 구조를 기반으로 데이터 워크로드를 배포합니다. 다음 다이어그램은 엔터프라이즈 데이터 메시 아키텍처에서 사용되는 최상위 폴더와 프로젝트를 보여줍니다.
다음 표에서는 아키텍처의 일부인 최상위 폴더 및 프로젝트를 설명합니다.
폴더 | 구성요소 | 설명 |
---|---|---|
|
|
아키텍처의 코드 아티팩트를 빌드하는 데 사용되는 배포 파이프라인을 포함합니다. |
|
서비스 카탈로그에서 대화형 환경에 리소스를 배포하는 데 사용되는 인프라가 포함되어 있습니다. |
|
|
Google Cloud의 CDMC 프레임워크 구현에서 사용하는 모든 리소스를 포함합니다. |
|
|
|
대화형 모드에서 사용 사례를 개발하기 위한 데이터 플랫폼의 프로젝트 및 리소스를 포함합니다. |
|
|
운영 환경에 배포하려는 사용 사례를 테스트하기 위한 데이터 플랫폼의 프로젝트 및 리소스를 포함합니다. |
|
|
프로덕션에 배포하기 위한 데이터 플랫폼의 프로젝트와 리소스를 포함합니다. |
데이터 플랫폼 폴더
데이터 플랫폼 폴더에는 모든 데이터 영역 구성요소와 일부 CDMC 리소스가 포함됩니다. 또한 데이터 플랫폼 폴더와 데이터 거버넌스 프로젝트에는 CDMC 리소스가 포함되어 있습니다. 다음 다이어그램은 데이터 플랫폼 폴더에 배포된 폴더 및 프로젝트를 보여줍니다.
각 데이터 플랫폼 폴더에는 환경 폴더 (프로덕션, 비프로덕션, 개발)가 포함됩니다. 다음 표에는 각 데이터 플랫폼 폴더 내의 폴더가 나와 있습니다.
폴더 | 설명 |
---|---|
프로듀서 |
데이터 도메인을 포함합니다. |
소비자 |
소비자 프로젝트가 포함됩니다. |
데이터 전문 분야 |
특정 도메인과 연결된 프로젝트가 포함됩니다. |
프로듀서 폴더
각 제작자 폴더에는 하나 이상의 데이터 도메인이 포함됩니다. 데이터 도메인은 공통된 의미, 목적 또는 비즈니스 컨텍스트를 공유하는 데이터 요소의 논리적 그룹을 의미합니다. 데이터 도메인을 사용하면 조직 내에서 데이터 애셋을 분류하고 정리할 수 있습니다. 다음 다이어그램은 데이터 도메인의 구조를 보여줍니다. 이 아키텍처는 각 환경의 데이터 플랫폼 폴더에 프로젝트를 배포합니다.
다음 표에서는 각 환경의 데이터 플랫폼 폴더에 배포되는 프로젝트를 설명합니다.
프로젝트 | 설명 |
---|---|
수집 |
처리 프로젝트는 데이터를 데이터 도메인으로 처리합니다. 이 아키텍처는 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이 실행되는 시점과 민감한 정보 보호 검사가 실행되는 시점을 제어하는 서비스입니다. |
보고서 엔진 |
Cloud Run |
CDMC 프레임워크의 규정을 준수하는지 추적하고 측정하는 데 도움이 되는 보고서를 생성하는 애플리케이션입니다. |
발견 항목 및 애셋 |
BigQuery 및 Pub/Sub |
누락된 태그, 잘못된 분류, 규정을 준수하지 않는 저장소 위치와 같은 데이터 관리 컨트롤의 불일치 또는 불일치를 보여주는 BigQuery 보고서입니다. |
태그 내보내기 |
BigQuery |
Data Catalog에서 추출된 태그 정보가 포함된 BigQuery 테이블입니다. |
기타 구성요소 | ||
정책 관리 |
조직 정책 서비스 |
데이터를 지리적으로 저장할 수 있는 위치에 대한 제한을 정의하고 적용하는 서비스입니다. |
속성 기반 액세스 정책 |
Access Context Manager |
허용된 위치 및 기기의 승인된 사용자만 민감한 정보에 액세스할 수 있도록 세분화된 속성 기반 액세스 정책을 정의하고 시행하는 서비스입니다. |
메타데이터 |
Data Catalog |
데이터 메시에 사용 중인 테이블에 관한 메타데이터 정보를 저장하는 서비스입니다. |
Tag 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는 승인된 스토리지 위치를 메타데이터 태그로 저장합니다. 보고서 엔진은 이러한 태그를 BigQuery의 데이터 애셋 실제 위치와 비교하고 불일치하는 경우 Pub/Sub을 사용하여 결과로 게시합니다. Security Command Center는 정의된 정책 외부에 데이터가 저장되거나 액세스되는 경우 취약점 발견 항목을 생성하여 추가 모니터링 레이어를 제공합니다. |
|
Data Catalog는 모든 BigQuery 데이터 애셋의 기술 메타데이터를 저장하고 업데이트하여 지속적으로 동기화되는 Data Catalog를 효과적으로 만듭니다. Data Catalog를 사용하면 새 테이블 또는 수정된 테이블과 보기가 즉시 카탈로그에 추가되어 최신 데이터 애셋 인벤토리를 유지할 수 있습니다. |
|
민감한 정보 보호는 BigQuery 데이터를 검사하고 민감한 정보 유형을 식별합니다. 그런 다음 이러한 발견 항목은 분류 참조 표를 기준으로 순위가 매겨지며, 가장 높은 민감도 수준이 열 및 테이블 수준에서 Data Catalog에 태그로 할당됩니다. Tag Engine은 새 데이터 애셋이 추가되거나 기존 데이터 애셋이 수정될 때마다 민감도 태그로 Data Catalog를 업데이트하여 이 프로세스를 관리합니다. 이 프로세스를 통해 민감도에 따라 데이터 분류가 지속적으로 업데이트되며, 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는 민감한 데이터 애셋에 피험자 위치, 평가 보고서 링크와 같은 영향 평가와 관련된 정보로 태그를 지정합니다. 태그 엔진은 데이터 민감도와 BigQuery의 정책 테이블을 기반으로 이러한 태그를 적용합니다. 이 테이블은 데이터 및 대상자 상주 위치를 기반으로 평가 요구사항을 정의합니다. 이 자동 태그 지정 프로세스를 통해 영향 평가 요구사항 준수 여부를 지속적으로 모니터링하고 보고할 수 있으므로 필요한 경우 데이터 보호 영향 평가(DPIA) 또는 개인 정보 보호 영향 평가 (PIA)를 실시할 수 있습니다. |
|
Data Catalog는 보관 기간 및 만료 작업 (예: 보관처리 또는 삭제)을 지정하는 보관 정책으로 데이터 애셋에 라벨을 지정합니다. Record Manager는 정의된 태그를 기반으로 BigQuery 테이블을 삭제하거나 보관처리하여 이러한 정책의 시행을 자동화합니다. 이러한 시정 조치는 데이터 수명 주기 정책을 준수하고 데이터 보관 요구사항을 준수하도록 유지하며, Pub/Sub을 사용하여 불일치가 감지되고 보고됩니다. |
|
Cloud Data Quality Engine은 지정된 테이블 열에 데이터 품질 규칙을 정의하고 실행하여 정확성 및 완전성과 같은 측정항목을 기반으로 데이터 품질을 측정합니다. 성공률 및 임곗값을 비롯한 이러한 검사의 결과는 Data Catalog에 태그로 저장됩니다. 이러한 결과를 저장하면 데이터 품질을 지속적으로 모니터링하고 보고할 수 있으며, 문제가 있거나 허용 가능한 기준점과 일치하지 않는 경우 Pub/Sub를 사용하여 발견 항목으로 게시됩니다. |
|
데이터 카탈로그는 Cloud Billing에서 BigQuery로 내보낸 결제 정보를 사용하여 계산된 쿼리 비용, 스토리지 비용, 데이터 이그레스 비용과 같은 데이터 애셋의 비용 관련 측정항목을 저장합니다. 비용 관련 측정항목을 저장하면 포괄적인 비용 추적 및 분석을 통해 비용 정책을 준수하고 리소스를 효율적으로 활용할 수 있으며, Pub/Sub을 사용하여 이상치를 보고할 수 있습니다. |
|
Data Catalog의 기본 제공 데이터 계보 기능은 데이터 애셋의 출처 및 계보를 추적하여 데이터 흐름을 시각적으로 나타냅니다. 또한 데이터 수집 스크립트는 Data Catalog에서 데이터의 원본 소스를 식별하고 태그를 지정하여 데이터의 출처까지의 추적 가능성을 개선합니다. |
데이터 액세스 관리
아키텍처의 데이터 액세스는 운영 제어 (예: Dataflow 작업 실행)를 데이터 액세스 제어와 분리하는 독립적인 프로세스를 통해 제어됩니다. 사용자의 Google Cloud 서비스 액세스 권한은 환경 또는 운영 문제에 따라 정의되며 클라우드 엔지니어링 그룹에서 프로비저닝하고 승인합니다. 사용자의 Google Cloud 데이터 애셋 (예: BigQuery 테이블)에 대한 액세스는 개인 정보 보호, 규제 또는 거버넌스 문제이며, 생산자와 소비자 간의 액세스 계약의 적용을 받으며 다음 프로세스를 통해 제어됩니다. 다음 다이어그램은 다양한 소프트웨어 구성요소의 상호작용을 통해 데이터 액세스가 프로비저닝되는 방식을 보여줍니다.
앞의 다이어그램에 표시된 것처럼 데이터 액세스 온보딩은 다음 프로세스에 의해 처리됩니다.
- Cloud Data Catalog에서 Cloud 데이터 애셋을 수집하고 인벤토리화합니다.
- 워크플로 관리자는 Data Catalog에서 데이터 애셋을 가져옵니다.
- 데이터 소유자가 워크플로 관리자에 온보딩됩니다.
데이터 액세스 관리의 작동 방식은 다음과 같습니다.
- 데이터 소비자가 특정 애셋을 요청합니다.
- 저작물의 데이터 소유자에게 요청에 대한 알림이 전송됩니다.
- 데이터 소유자가 요청을 승인하거나 거부합니다.
- 요청이 승인되면 워크플로 관리자가 그룹, 애셋, 연결된 태그를 IAM 매퍼에 전달합니다.
- IAM 매퍼는 워크플로 관리자 태그를 IAM 권한으로 변환하고 지정된 그룹에 데이터 애셋에 대한 IAM 권한을 부여합니다.
- 사용자가 데이터 애셋에 액세스하려고 하면 IAM은 그룹의 권한을 기반으로 애셋에 대한 Google Cloud 액세스를 평가합니다.
- 허용되는 경우 사용자는 데이터 애셋에 액세스합니다.
네트워킹
데이터 보안 프로세스는 소스 애플리케이션에서 시작되며, 소스 애플리케이션은 온프레미스에 있거나 대상Google Cloud 프로젝트 외부의 다른 환경에 있을 수 있습니다. 네트워크 전송이 발생하기 전에 이 애플리케이션은 워크로드 아이덴티티 제휴를 사용하여 Google Cloud API에 안전하게 인증합니다. 이러한 사용자 인증 정보를 사용하여 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 서비스 제어 경계로 보호됩니다. 이 경계는 보안 경계를 적용하여 소스에서 발생한 보호된 데이터가 특정 프로젝트 내의 승인된Google Cloud 서비스에만 처리될 수 있도록 합니다.
로깅
이 아키텍처는 엔터프라이즈 기반 청사진에서 제공하는 Cloud Logging 기능을 사용합니다.
파이프라인
엔터프라이즈 데이터 메시 아키텍처는 일련의 파이프라인을 사용하여 인프라, 오케스트레이션, 데이터 세트, 데이터 파이프라인, 애플리케이션 구성요소를 프로비저닝합니다. 아키텍처의 리소스 배포 파이프라인은 Terraform을 코드형 인프라 (IaC) 도구로, Cloud Build를 CI/CD 서비스로 사용하여 Terraform 구성을 아키텍처 환경에 배포합니다. 다음 다이어그램은 파이프라인 간의 관계를 보여줍니다.
기반 파이프라인과 인프라 파이프라인은 엔터프라이즈 기반 청사진의 일부입니다. 다음 표에서는 파이프라인의 목적과 프로비저닝하는 리소스를 설명합니다.
파이프라인 | 프로비저닝한 사용자 | 리소스 |
---|---|---|
기반 파이프라인 |
부트스트랩 |
|
인프라 파이프라인 |
기반 파이프라인 |
|
서비스 카탈로그 파이프라인 |
인프라 파이프라인 |
|
아티팩트 파이프라인 |
인프라 파이프라인 |
아티팩트 파이프라인은 데이터 메시에서 사용하는 코드베이스의 다양한 컨테이너와 기타 구성요소를 생성합니다. |
각 파이프라인에는 코드와 구성 파일을 가져오는 자체 저장소 집합이 있습니다. 각 저장소에는 운영 코드 배포의 제출자와 승인이 서로 다른 그룹의 책임인 업무 분리가 있습니다.
서비스 카탈로그를 통한 대화형 배포
대화형 환경은 아키텍처 내의 개발 환경이며 개발 폴더 아래에 있습니다. 대화형 환경의 기본 인터페이스는 서비스 카탈로그로, 개발자가 사전 구성된 템플릿을 사용하여 Google 서비스를 인스턴스화할 수 있습니다. 이러한 사전 구성된 템플릿을 서비스 템플릿이라고 합니다. 서비스 템플릿을 사용하면 CMEK 암호화를 필수로 지정하는 등 보안 상태를 시행할 수 있으며 사용자가 Google API에 직접 액세스하는 것을 방지할 수도 있습니다.
다음 다이어그램은 대화형 환경의 구성요소와 데이터 과학자가 리소스를 배포하는 방식을 보여줍니다.
서비스 카탈로그를 사용하여 리소스를 배포하려면 다음 단계를 따르세요.
- MLOps 엔지니어가 Google Cloud용 Terraform 리소스 템플릿을 Git 저장소에 저장합니다.
- Git 커밋 명령어는 Cloud Build 파이프라인을 트리거합니다.
- Cloud Build가 템플릿 및 관련 구성 파일을 Cloud Storage에 복사합니다.
- MLOps 엔지니어가 서비스 카탈로그 솔루션 및 서비스 카탈로그를 수동으로 설정합니다. 그런 다음 엔지니어는 대화형 환경에서 서비스 카탈로그를 서비스 프로젝트와 공유합니다.
- 데이터 과학자가 서비스 카탈로그에서 리소스를 선택합니다.
- 서비스 카탈로그가 대화형 환경에 템플릿을 배포합니다.
- 리소스가 필요한 구성 스크립트를 가져옵니다.
- 데이터 과학자가 리소스와 상호작용합니다.
아티팩트 파이프라인
데이터 처리 프로세스는 Cloud Composer 및 Dataflow를 사용하여 데이터 도메인 내에서 데이터의 이동 및 변환을 조정합니다. 아티팩트 파이프라인은 데이터 처리에 필요한 모든 리소스를 빌드하고 서비스에서 액세스할 수 있는 적절한 위치로 리소스를 이동합니다. 아티팩트 파이프라인은 오케스트레이터가 사용하는 컨테이너 아티팩트를 만듭니다.
보안 제어
엔터프라이즈 데이터 메시 아키텍처는 엔터프라이즈 기반 청사진을 통해 구성된 기본 Google Cloud 기능, Google Cloud서비스, 보안 기능을 포함하는 레이어링된 심층 방어 보안 모델을 사용합니다. 다음 다이어그램은 아키텍처의 다양한 보안 제어 레이어를 보여줍니다.
다음 표에서는 각 레이어의 리소스와 연결된 보안 제어를 설명합니다.
레이어 | 리소스 | 보안 제어 |
---|---|---|
CDMC 프레임워크 |
Google Cloud CDMC 구현 |
데이터 애셋을 보호, 관리, 제어하는 데 도움이 되는 거버넌스 프레임워크를 제공합니다. 자세한 내용은 CDMC 키 제어 프레임워크를 참고하세요. |
배포 |
인프라 파이프라인 |
인프라를 배포하고 컨테이너를 빌드하고 데이터 파이프라인을 만드는 일련의 파이프라인을 제공합니다. 파이프라인을 사용하면 감사 가능성, 추적 가능성, 반복성이 허용됩니다. |
아티팩트 파이프라인 |
인프라 파이프라인에서 배포하지 않은 다양한 구성요소를 배포합니다. |
|
Terraform 템플릿 |
시스템 인프라를 빌드합니다. |
|
Open Policy Agent |
플랫폼이 선택한 정책을 준수하도록 지원합니다. |
|
네트워크 |
Private Service Connect |
API 레이어 및 IP 레이어에서 아키텍처 리소스 주위에 데이터 무단 반출 보호를 제공합니다. 인터넷에 트래픽이 노출되지 않도록 비공개 IP 주소를 사용하여 Google Cloud API와 통신할 수 있습니다. |
비공개 IP 주소를 사용하는 VPC 네트워크 |
인터넷에 노출된 위협을 제거하는 데 도움이 됩니다. |
|
VPC 서비스 제어 |
민감한 리소스를 데이터 무단 반출로부터 보호하는 데 도움이 됩니다. |
|
방화벽 |
VPC 네트워크를 무단 액세스로부터 보호하는 데 도움이 됩니다. |
|
액세스 관리 |
Access Context Manager |
누가 어떤 리소스에 액세스할 수 있는지를 제어하고 리소스 무단 사용을 방지합니다. |
워크로드 아이덴티티 제휴 |
온프레미스 환경에서 플랫폼으로 데이터를 전송하는 데 외부 사용자 인증 정보가 필요하지 않습니다. |
|
Data Catalog |
사용자가 사용할 수 있는 애셋의 색인을 제공합니다. |
|
IAM |
세분화된 액세스를 제공합니다. |
|
암호화 |
Cloud KMS |
암호화 키와 보안 비밀을 관리하고 저장 데이터 암호화 및 전송 중 데이터 암호화를 통해 데이터를 보호할 수 있습니다. |
Secret Manager |
IAM에서 제어하는 파이프라인의 보안 비밀 저장소를 제공합니다. |
|
저장 데이터 암호화 |
기본적으로 Google Cloud 는 저장 데이터를 암호화합니다. |
|
전송 중인 데이터 암호화 |
기본적으로 Google Cloud 는 전송 중인 데이터를 암호화합니다. |
|
탐지 |
Security Command Center |
조직에서 잘못된 구성 및 악의적인 활동을 감지하는 데 도움이 됩니다. Google Cloud |
지속적 아키텍처 |
조직이 정의한 일련의 OPA 정책을 준수하는지 Google Cloud 지속적으로 확인합니다. |
|
IAM 추천자 |
사용자 권한을 분석하고 최소 권한의 원칙을 적용할 수 있도록 권한 축소를 추천합니다. |
|
방화벽 통계 |
방화벽 규칙을 분석하고, 과도한 권한이 부여된 방화벽 규칙을 식별하고, 전반적인 보안 상태를 강화하는 데 도움이 되는 보다 제한적인 방화벽을 제안합니다. |
|
Cloud Logging |
시스템 활동에 대한 가시성을 제공하고 이상 및 악의적인 활동을 감지할 수 있도록 합니다. |
|
Cloud Monitoring |
의심스러운 활동을 식별하는 데 도움이 되는 주요 신호 및 이벤트를 추적합니다. |
|
예방책 |
조직 정책 |
조직 내에서 작업을 제어하고 제한할 수 있습니다. Google Cloud |
워크플로
다음 섹션에서는 데이터 생산자 워크플로와 데이터 소비자 워크플로를 간략히 설명하여 데이터 민감도 및 사용자 역할에 따라 적절한 액세스 제어를 보장합니다.
데이터 생산자 워크플로
다음 다이어그램은 데이터가 BigQuery로 전송될 때 데이터가 보호되는 방식을 보여줍니다.
데이터 전송 워크플로는 다음과 같습니다.
- 워크로드 ID 제휴와 통합된 애플리케이션은 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 초기화, 계획, 적용 작업을 실행합니다.
- 변경사항을 커밋하고 코드를 원격 저장소에 푸시한 후 풀 요청을 만들고 개발, 비프로덕션, 프로덕션 환경에 병합합니다.
- 대상 저장소에서
다음 단계
- 데이터 메시의 아키텍처 및 함수에 대해 알아보세요.
- 보안 BigQuery 데이터 웨어하우스로 Google Cloud 데이터를 가져옵니다.
- BigQuery 데이터 웨어하우스에서 CDMC 키 제어 프레임워크를 구현합니다.
- 엔터프라이즈 기반 청사진을 읽어보세요.