Google PDE: 데이터 거버넌스, 보안, 안정성 및 비용 운영 — 학습 가이드
다음의 일부입니다: Google Professional Data Engineer — 학습 가이드. 검증된 답안으로 연습하기: Google 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.
개요
이 섹션에서는 Google Cloud에서의 데이터 거버넌스, 보안, 안정성, 비용 운영에 대한 설계 패턴과 운영 방식을 요약합니다. BigQuery, Cloud Storage, Dataflow, Dataplex 및 지원 서비스에 중점을 둡니다. 최소 권한 원칙, 암호화 키 관리, 메타데이터 및 분류, 정책 기반 액세스, 규정 준수 증거, 실행 가능한 SLO를 통한 관측 가능성, 비용 제어에 대해 강조합니다. 안전하고 감사 가능하며 효율적인 데이터 플랫폼을 구현할 수 있도록 장단점, 장애 모드, 실제 구성 사례를 포함합니다.
ID, 액세스 및 거버넌스
IAM, 서비스 계정, 가장, 워크로드 아이덴티티, 최소 권한 원칙
- ID 경계
- Cloud Identity 또는 Google Workspace를 통한 사용자와 그룹
- 워크로드를 위한 서비스 계정; 가능한 가장 낮은 리소스 수준(예: 프로젝트 대신 데이터 세트)에서 좁은 범위의 역할을 할당
- 최소 권한 원칙
- 기본 역할보다 사전 정의된 역할을 선호합니다. BigQuery의 경우 프로젝트 수준 뷰어 대신 데이터 세트에 bigquery.dataViewer와 같은 역할을 사용합니다.
- 그룹에 권한을 부여하고, 사용자별 IAM이 아닌 IdP에서 멤버십을 관리합니다.
- 직무 분리: 키 관리, 데이터 액세스, 관리자 역할을 분리합니다.
- 가장 및 워크로드 아이덴티티 제휴
- 서비스 계정 가장(roles/iam.serviceAccountTokenCreator)을 사용하여 CI/CD 또는 자동화 시스템이 수명이 긴 키를 저장하지 않도록 합니다.
- OIDC/SAML을 사용하는 워크로드 아이덴티티 제휴를 통해 외부 ID가 서비스 계정 키 파일 없이 수명이 짧은 토큰을 얻을 수 있도록 합니다.
- 장애 모드 및 완화 조치
- 과도한 프로젝트 수준 역할은 수평 이동으로 이어질 수 있습니다. Cloud Asset Inventory로 감사합니다.
- 서비스 계정 비공개 키 분실: 키 생성을 허용하지 않고, 조직 정책 제약 조건을 사용하여 키 다운로드를 차단하며, 발견 시 교체합니다.
- ID 경계
Dataplex 거버넌스, Data Catalog, 비즈니스 메타데이터, 리니지
- Dataplex는 레이크, 영역, 애셋을 제공하여 중앙 집중식 정책으로 BigQuery 및 Cloud Storage에 대한 거버넌스를 통합합니다.
- Data Catalog는 비즈니스 용어집, 태그 템플릿, 기술 메타데이터를 보유합니다. 태그를 통해 비즈니스 메타데이터(소유자, PII 등급, RTO/RPO)를 첨부합니다.
- 리니지는 업스트림/다운스트림 관계를 캡처합니다. Dataflow, Dataproc, BigQuery와의 Dataplex 리니지 통합을 사용하여 영향 및 규정 준수 범위를 추적합니다.
- 장단점
- 중앙 집중식 거버넌스는 초기 오버헤드가 발생하지만 장기적인 위험을 줄이고 감사 속도를 높입니다.
정책 태그, 분류, 행 수준 액세스, 열 마스킹
- 분류
- Data Catalog 정책 태그에 분류 체계(예: 공개, 내부, 기밀, 제한)를 정의합니다.
- BigQuery 열에 정책 태그를 첨부하고, IAM을 태그에 바인딩하여 여러 테이블에 걸쳐 분류에 따라 액세스를 제어합니다.
- 열 마스킹
- BigQuery 데이터 마스킹 정책을 사용하여 권한이 없는 리더에게 민감한 열을 해시하거나 null 처리합니다.
- 예시:
- ALTER TABLE fin.payments ALTER COLUMN card_number SET POLICY TAGS (‘pii.restricted’);
- 행 수준 액세스
- 행 액세스 정책을 사용하여 tenant_id 또는 리전과 같은 속성으로 레코드를 필터링합니다.
- 예시:
- CREATE ROW ACCESS POLICY tenant_filter ON sales.orders GRANT TO (“group:analysts@acme.com”) FILTER USING (tenant_id = “acme”);
- 장애 모드
- 파이프라인에서 사용하는 서비스 계정에 정책 태그 IAM 권한이 부여되지 않으면 쿼리 실패가 발생합니다. 필요에 따라 서비스 에이전트에 정책 태그 뷰어/액세서 권한을 포함해야 합니다.
- 선택성이 높은 사용자별 조건자가 많은 경우 행 정책으로 인해 성능이 저하될 수 있습니다. 엄격한 격리가 필요한 경우 테넌트별 데이터 세트와 같은 더 큰 단위의 접근 방식을 선호합니다.
- 분류
민감한 데이터 검색 및 비식별화
- Sensitive Data Protection을 사용하여 Cloud Storage 및 BigQuery를 지속적으로 스캔하고, 템플릿을 사용하여 레이크/영역별로 검색 구성을 생성합니다.
- 비식별화 변환 사용: 토큰화, 조인 가능성을 위한 결정적 암호화 또는 마스킹
- 변환 키는 Cloud KMS에 저장하고, 재식별 키는 이중 제어를 통해 별도로 보관합니다.
- 장단점
- 결정적 암호화는 조인을 가능하게 하지만 빈도 정보를 유출할 수 있습니다. 필요에 따라 형태 보존 암호화 또는 버킷팅을 추가합니다.
- 샘플링은 검색 스캔 비용을 줄이지만 발생 빈도가 낮은 PII를 놓칠 수 있습니다.
보안 및 규정 준수 운영
암호화, Cloud KMS, CMEK 및 보안 비밀 처리
- 저장 데이터 및 전송 중 데이터 암호화는 기본값입니다. 키에 대한 규제 제어가 필요한 경우(BigQuery, GCS, Pub/Sub, Dataflow) CMEK를 활성화합니다.
- 키 관리
- 키를 데이터와 동일한 리전에 배치합니다. 서비스 에이전트(예: BigQuery Service Agent)에
roles/cloudkms.cryptoKeyEncrypterDecrypter역할을 부여합니다. - 키를 정기적으로 순환(rotate)합니다. 비활성화되었거나 파기 예정인 키를 모니터링합니다.
- 키를 데이터와 동일한 리전에 배치합니다. 서비스 에이전트(예: BigQuery Service Agent)에
- 장애 모드
- CMEK 키를 비활성화하거나 서비스 에이전트의 권한을 취소하면 로드, 쿼리, 내보내기가 중단됩니다. 키 상태 변경에 대한 알림을 설정합니다.
- 리전 간 키 사용은 허용되지 않습니다. 작업 생성 오류를 방지하기 위해 위치를 일치시킵니다.
- 보안 비밀(Secrets)
- 데이터베이스 사용자 인증 정보, API 토큰에는 Secret Manager를 사용합니다. IAM을 통해 액세스 권한을 부여하고 Secret Manager 로그로 감사합니다.
- 코드, 컨테이너 또는 노트북에 보안 비밀을 포함하지 마십시오. 런타임 액세스를 통해 보안 비밀을 마운트합니다. 지원되는 경우 IAM 데이터베이스 인증을 사용하는 것이 좋습니다.
감사 로그, 액세스 검토, 규정 준수 증거, 보존
- BigQuery, GCS, Pub/Sub에 대해 조직 전체에서 Data Access 로그를 활성화합니다. CMEK를 사용하여 쓰기 전용의 전담 로깅 프로젝트로 내보냅니다.
- BigQuery(분석용) 및 Cloud Storage(버킷 보존 잠금을 사용한 장기 불변 아카이브용)로 집계 로그 싱크를 생성합니다.
- 주기적인 액세스 검토 및 드리프트 감지를 위해 Cloud Asset Inventory와 Policy Analyzer를 사용합니다.
- 보존
- 규정 준수 요구사항에 따라 로그 보존 기간을 설정합니다. GCS에서는 객체 버전 관리 및 보존 정책을 사용합니다.
- BigQuery에서는 기본 테이블 만료 시간을 설정하고 단기 롤백을 위해 테이블 스냅샷/시간 이동(time travel)을 활용합니다. 중요한 데이터 세트는 별도의 프로젝트에 보관(archive)합니다.
- 증거
- Dataplex 태그(예: “SOX-C2: Evidence in project X, sink Y”)를 사용하여 제어 매핑을 유지하고, 내보내기를 자동화하며, 예약된 쿼리를 실행하여 증명 자료를 생성합니다.
안정성, 관측 가능성, 품질 및 비용 관리
데이터 품질 차원, 검증 프레임워크 및 인시던트 대응
- 차원: 정확성, 완전성, 일관성, 적시성, 유효성, 고유성, 무결성
- 수집 및 변환 단계에서 검증 구현
- BigQuery 테이블 및 GCS 애셋에 대한 Dataplex 데이터 품질 규칙 세트
- 스키마 및 콘텐츠 검사를 위해 Dataflow/Dataproc에서 Great Expectations 또는 Deequ 사용
- 풍부한 오류 컨텍스트와 함께 실패를 데드-레터 테이블 또는 버킷으로 라우팅하고, 잘못된 레코드를 격리하여 데이터 손실 방지
- 인시던트 대응
- 심각도, 소유자, 커뮤니케이션 채널, 롤백 계획 및 RACI 선언
- 런북을 자동화하여 윈도우를 백필하고 데드-레터를 재처리하며, 수정 전에 영향받는 테이블을 스냅샷
Cloud Monitoring, 로깅, 알림, 오류 예산 및 SLO
- 메트릭 노출: Dataflow 백로그, BigQuery 슬롯 사용률, 쿼리 지연 시간, GCS 지연 시간/오류, Pub/Sub 미확인 메시지
- SLOs
- 예시: “30일 동안 스트리밍 이벤트의 99.9%가 5분 이내에 BigQuery에서 사용 가능”
- 오류 예산 소진율을 추적하고, 빠른 소진 시 호출(page), 느린 소진 시 티켓 생성
- 로깅 기반 메트릭 및 알림
- BigQuery 작업 실패, DLP 탐지 결과, KMS 키 오류에 대한 로그 기반 메트릭 생성
- 고급 로그 필터를 사용하여 특정 테이블 추가 또는 액세스 이상에 대해 알림
비용 할당, 예산, 쿼리 제어, 스토리지 수명 주기, 용량 계획
- 할당 및 예산
- 모든 작업, 데이터세트, 버킷 및 예약에 라벨과 태그를 사용하고, 결제 데이터를 BigQuery로 내보내고, Pub/Sub 알림으로 예산 생성
- BigQuery 비용 제어
- 파티셔닝과 클러스터링을 사용하여 스캔되는 바이트 줄이기
- 쿼리 작업에 maximumBytesBilled 설정; 예시 클라이언트/작업 구성:
- “jobConfiguration”: { “query”: { “maximumBytesBilled”: “1073741824” } }
- 예측 가능한 워크로드를 위해 BigQuery Reservations로 슬롯을 예약하고, 할당을 통해 대화형 작업과 배치 작업을 분리
- 스토리지 수명 주기
- GCS: 수명 주기 규칙을 사용하여 N일 후 콜드 스토리지로 전환하거나 삭제하고, 롤백이 필요한 경우 객체 버전 관리 활성화
- 예시(요약): 30일 후 현재 버전이 아닌 버전 삭제, 규정 준수 영역을 위해 버킷 보관 정책을 365일로 설정
- BigQuery: 임시 데이터세트에 대한 기본 테이블 만료 시간 설정, 파괴적인 변경 전 스냅샷 생성
- 용량 계획
- Dataflow: 최대 작업자 수 및 자동 확장 설정, 적절한 크기의 머신 유형 선택, 핫 키를 피하기 위해 입력 샤딩
- Pub/Sub: 게시/소비 할당량 및 메시지 보관 기간 검증
- 네트워크: 데이터베이스에 대한 이그레스, 리전 간 이동 및 비공개 서비스 액세스 고려
- 할당 및 예산
재해 복구, 백업, 다중 리전 복원력 및 런북
- RTO/RPO에 따라 서비스를 분류하고, 그에 맞춰 콜드/웜/핫 패턴 선택
- 백업
- BigQuery: 정기적인 테이블 스냅샷, 필요한 경우 오프-플랫폼 보관을 위해 GCS로 내보내기
- GCS: 내구성을 위해 이중 리전 또는 다중 리전 버킷 사용, WORM 규정 준수를 위해 버킷 잠금 활성화
- 데이터베이스: Cloud SQL 및 Bigtable에서 관리형 백업 수행, 복원 테스트
- 다중 리전
- 이그레스와 지연 시간을 최소화하기 위해 컴퓨팅과 스토리지를 동일한 다중 리전에 유지하고, 필요하지 않은 경우 대륙 간 종속성 방지
- 런북
- 장애 조치, 키 복구, KMS 인시던트 절차, 내보내기 파일로부터의 재구성(rehydration), BigQuery 예약 재할당 문서화
- 게임 데이를 통해 DR 테스트, 복구 시간 추적 및 SLO 업데이트
실제 문제 시나리오
NovaRetail Analytics는 여러 브랜드와 협력하여 트랜잭션 데이터가 포함된 일일 CSV를 공유 분석 플랫폼으로 수집합니다. 파일은 Cloud Storage 랜딩 버킷에 도착하며 때때로 형식이 잘못된 행을 포함합니다. 플랫폼은 각 클라이언트가 자신의 데이터에만 액세스할 수 있도록 최소 권한을 적용하고, 민감한 필드를 탐지하며, 특정 감사 테이블에 행이 추가될 때 즉시 알림을 제공해야 합니다. 또한 회사는 비용 제어 및 복구 계획이 필요합니다.
접근 방식:
테넌트 격리 및 최소 권한 원칙 적용
- 클라이언트별로 전용 BigQuery 데이터세트(예: client_a_analytics)를 생성합니다. 클라이언트의 그룹에만 적절한 데이터세트 역할(bigquery.dataViewer, bigquery.jobUser)을 부여하고, IAM 및 해당되는 경우 VPC-SC를 통해 승인된 사용자에게만 BigQuery API 사용을 제한합니다.
- 근거: 테넌트별 데이터세트 방식은 장애 영향 반경을 제한하고 행 수준 정책의 복잡성을 단순화합니다. 데이터세트 수준에서의 최소 권한 범위 지정은 기본적으로 테넌트 간 액세스를 방지합니다.
스키마, 분류 및 마스킹 관리
- Data Catalog 정책 태그 분류 체계(public, internal, confidential, restricted)와 소유자, 데이터 스튜어드, RTO/RPO에 대한 태그 템플릿을 정의합니다. 각 클라이언트 데이터세트의 민감한 열(email, card_suffix)에 정책 태그를 첨부합니다. 권한이 없는 역할에 대한 뷰를 제한하기 위해 BigQuery 마스킹 정책을 적용합니다.
- 예시: ALTER TABLE client_a_analytics.orders ALTER COLUMN email SET POLICY TAGS (‘restricted.pii’).
- 근거: 중앙 집중식 태그는 여러 테이블에 걸쳐 일관된 제어를 제공하며, 마스킹은 데이터 복제 없이 기본적으로 안전한 읽기를 보장합니다.
PII 탐지 및 필요한 경우 비식별화 적용
- 랜딩 버킷과 큐레이션된 BigQuery 테이블을 스캔하도록 Sensitive Data Protection 탐지를 구성합니다. 일반적인 PII에 대한 검사 템플릿과 조인 사용 사례를 위해 이메일을 결정론적으로 토큰화하는 비식별화 템플릿을 사용합니다.
- 근거: 자동화된 탐지는 수동 오류를 줄이고, 결정론적 토큰화는 개인 정보 보호와 분석 조인 요구 사항 간의 균형을 맞춥니다.
서비스 계정, 가장(impersonation), CMEK를 사용한 파이프라인 보안
- 랜딩 버킷에 대한 storage.objectViewer, 대상 데이터세트에 대한 bigquery.dataEditor, 필요한 경우 정책 태그에 대한 액세스 등 필요한 역할만 가진 Dataflow 서비스 계정을 사용합니다. 클라이언트 데이터세트에 CMEK를 사용하고 BigQuery 및 Dataflow 서비스 에이전트에 CryptoKey Encrypter/Decrypter 역할을 부여합니다.
- 근거: 제한된 역할과 CMEK는 최소 권한 및 키 제어 요구 사항을 충족합니다. 서비스 에이전트의 키 액세스는 작업 실패를 방지합니다.
오류 격리를 통한 복원력 있는 수집 구축
- CSV를 읽고, 스키마를 검증하고, 유효한 행을 BigQuery 파티션된 테이블에 쓰는 배치 Dataflow 작업을 실행합니다. 유효하지 않은 행은 오류 세부 정보(파일 이름, 줄 번호, 사유)와 함께 BigQuery 데드-레터 테이블로 라우팅합니다.
- 근거: 사이드 출력은 양호한 데이터를 차단하지 않고 분석을 위해 불량 데이터를 보존하며, 파티션된 테이블은 스캔 비용을 줄이고 쿼리 속도를 높입니다.
리니지 및 비즈니스 메타데이터 생성
- 랜딩 버킷과 데이터세트를 레이크의 Dataplex 애셋으로 등록합니다. Dataflow 작업에 대한 리니지 수집을 활성화하고 큐레이션된 테이블에 비즈니스 메타데이터(데이터 소유자, 민감도, 보관 기간)로 태그를 지정합니다.
- 근거: 중앙 집중식 거버넌스는 영향 분석, 감사 준비 및 표준화된 스튜어드십을 가능하게 합니다.
모니터링, 알림 및 감사
- 관리자 및 데이터 액세스 감사 로그를 활성화하고, CMEK를 사용하여 중앙 로깅 프로젝트 및 분석을 위해 BigQuery로 내보냅니다. BigQuery 삽입 작업에 대한 고급 필터를 사용하여 감사 테이블에 새 행이 추가될 때 로그 기반 알림을 추가하고, 해당 싱크를 모니터링 도구가 소비할 수 있도록 Pub/Sub으로 내보냅니다.
- 근거: 로그는 변조 방지 증거이며, 타겟팅된 알림은 필요한 테이블에 대해서만 통지하여 노이즈를 줄입니다.
비용 제어 및 쿼리 가드레일 적용
- 쿼리 작업에 maximumBytesBilled를 설정하도록 요구하고, 카디널리티가 높은 열(예: order_id)에 클러스터링을 활용합니다. 예산을 적용하고 작업 및 데이터세트에 라벨(client, environment)을 설정합니다. BigQuery Reservations를 사용하여 대화형 분석을 예약된 로드와 분리합니다.
- 근거: 가드레일은 통제 불가능한 비용을 방지하고, 라벨은 비용 청구를 가능하게 하며, 슬롯 격리는 예측 가능한 성능을 유지합니다.
보관 및 DR 구현
- 랜딩 버킷에서 객체 버전 관리를 활성화하고 30일 후 객체를 삭제하는 수명 주기 규칙을 설정하며, 규정 준수 영역에 대한 보관 정책을 설정합니다. BigQuery에서는 스테이징 테이블에 대한 기본 테이블 만료를 설정하고 큐레이션된 테이블의 주기적인 테이블 스냅샷을 생성합니다. KMS 백업 절차와 테이블 복원 단계를 런북에 저장하고 분기별로 테스트합니다.
- 근거: 수명 주기 관리는 스토리지 비용을 절감하고, 스냅샷과 문서화된 런북은 복구 가능성을 보장합니다. 테스트는 RTO/RPO 가정을 검증합니다.
주기적인 액세스 검토 및 품질 SLI/SLO
- 분기별로 Cloud Asset Inventory를 사용하여 IAM 정책을 내보내고 승인된 기준선과 비교합니다. “일일 파일의 99%가 도착 후 30분 이내에 처리됨"과 같은 SLO를 정의하고 소진율에 대한 알림을 설정합니다. Dataplex 데이터 품질 규칙을 사용하여 데이터 품질 SLI(완전성, 유효성)를 추적하고 위반 사항을 백필 자동화와 함께 인시던트 대응으로 라우팅합니다.
- 근거: 정기적인 검토는 권한蔓延(privilege creep)을 방지하고, SLO 기반 운영은 사용자 경험에 맞춰 노력을 조정하며, 자동화된 품질 검사는 회귀(regression)를 조기에 발견합니다.
고려된 기술적 트레이드오프 및 장애 모드:
- CMEK 설정 오류나 키 비활성화는 Dataflow 로드 및 BigQuery 쿼리를 중단시킵니다. KMS 상태 및 서비스 에이전트 권한에 대한 모니터링은 필수입니다.
- 세분화된 행 수준 정책의 과도한 사용은 성능을 저하시킬 수 있습니다. 테넌트 격리를 위해 데이터세트 분리를 선호해야 합니다.
- 탐지 스캔은 비용이 많이 들 수 있습니다. 영역별로 범위를 지정하고 적절한 경우 샘플링하여, 드문 PII를 놓칠 위험을 감수해야 합니다.
- 알림 피로는 대응성을 감소시킵니다. 테이블/작업별로 정밀한 필터를 구축하고 배포 전에 테스트해야 합니다.
이 문제 연습하기 → · ExamRoll.io에서 시간 제한 연습 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
시험 합격하기 →