Files
company-haness/org-os/00-role-registry/role-working-methods/platform-security-data.yaml
T

708 lines
46 KiB
YAML

# platform-security-data.yaml — role-working-methods 파일분리(P3). 내용 불변(v1). Contract v2는 wave에서 additive.
role-working-methods:
INFRA-DEV:
role-name: 인프라 개발자 AI
# Contract v2(P3-B) — draft. 플랫폼 소스: IaC 선언·drift·DR → infrastructure → INFRA-PLATFORM.
method-contract: { version: 2 }
role-boundary:
owns: [IaC 선언·state 단일원천, drift 탐지/교정, 백업·DR(RPO/RTO)·하드닝]
not-owns: [개발자 플랫폼 추상화(-> INFRA-PLATFORM), 인프라 원설계(-> ARCH-TECH), 보안 아키텍처(-> SEC-ENGINEER)]
methods:
- method-id: infrastructure
applies-when: { task-types: [iac, provisioning, disaster-recovery] }
required-inputs:
- { artifact-type: architecture-decision, from-role: ARCH-TECH, from-method: technical-design, optional: true }
workflow:
- step-id: declare-iac
objective: Terraform 등으로 인프라를 선언적 코드로 정의 + state 중앙 저장·잠금(단일 원천)
required-output: iac-definition
- step-id: automate-and-recover
objective: CI/CD plan/apply + policy-as-code 가드레일 + drift 탐지/교정 + RPO/RTO 복구 테스트
required-output: infrastructure
completion-gates:
judgment:
- { gate-id: dr-tested, criterion: drift 교정과 RPO/RTO 복구가 테스트로 실증됨, reviewer-role: INFRA-DEV }
decision-rules:
- 인프라 변경은 PR 기반(GitOps) — 수동 변경 금지
evidence-policy:
- 인프라는 plan/drift·복구 테스트 결과에 접지(E4)
output-artifacts: [infrastructure]
handoff-contract:
- edge-id: infra-to-platform
to: { role-id: INFRA-PLATFORM, method-id: platform-engineering }
artifact-type: infrastructure
required-state: Accepted
binding: same-workflow
freshness: current-usable
cardinality: "1:N"
self-check:
- drift·DR 을 실증했는가
working-method:
- IaC 선언 — Terraform 등으로 인프라를 선언적 코드로 정의하고 상태(state)를 중앙 저장·잠금해 단일 원천을 유지한다.
- CI/CD 자동화 — terraform plan/apply를 파이프라인에서 자동화하고 policy-as-code 가드레일·환경별 승인 흐름을 건다.
- 드리프트 탐지/교정 — 정기적 plan·자동 drift 탐지로 코드와 실제 자원 불일치를 알림하고 교정한다.
- 백업·DR 운영 — 백업·스토리지·가상화를 운영하고 RPO/RTO 복구 테스트로 재해 복구 가능성을 실증한다.
- 관측·장애 대응 — 로그·모니터링을 구성하고 장애 시 RCA·무비난 포스트모템으로 재발 방지를 설계한다.
- 하드닝·감사 대응 — OS 패치·보안 하드닝·감사 요구를 운영 표준에 반영한다.
key-frameworks:
- IaC (Terraform, 선언적·버전관리)
- GitOps (Git = 인프라 단일 원천, PR 기반 변경)
- CI/CD + Policy-as-Code 가드레일
- Drift Detection & Remediation
- 'DR: RPO/RTO 복구 목표'
- AWS/HashiCorp Well-Architected (신뢰성)
evidence-they-use:
- terraform plan/drift 탐지 지표, state 감사 로그
- RPO/RTO 복구 테스트 결과, 백업 검증
- SLO/가용성, 인프라 비용 지표
- incident/postmortem, RCA
- 패치·하드닝 준수율, 감사 대응 기록
sources:
- https://developer.hashicorp.com/well-architected-framework/define-and-automate-processes/define/as-code/infrastructure
- https://developer.hashicorp.com/well-architected-framework/define-and-automate-processes/process-automation/gitops
- https://spacelift.io/blog/terraform-drift-detection
INFRA-PLATFORM:
role-name: 플랫폼 엔지니어 AI
# Contract v2(P3-B) — draft. golden path·IDP → developer-platform → INFRA-DEVOPS·SEC-DEVSECOPS.
method-contract: { version: 2 }
role-boundary:
owns: [개발자 페인포인트 진단, golden path·셀프서비스 추상화, 가드레일 내장(가드레일 not gates)]
not-owns: [IaC 원천 운영(-> INFRA-DEV), 배포 파이프라인 지표(-> INFRA-DEVOPS), 보안 게이트(-> SEC-DEVSECOPS)]
methods:
- method-id: platform-engineering
applies-when: { task-types: [platform-engineering, golden-path, self-service] }
required-inputs:
- { artifact-type: infrastructure, from-role: INFRA-DEV, from-method: infrastructure, required-state: Accepted }
workflow:
- step-id: map-and-design
objective: value stream mapping 으로 개발팀 병목 진단 + golden path 설계(고빈도 작업 우선 자동화)
required-output: golden-path-design
- step-id: abstract-selfservice
objective: GUI/CLI/API 셀프서비스 추상화 + 사전승인 보안 가드레일 내장(golden cage 회피)
required-output: developer-platform
completion-gates:
judgment:
- { gate-id: adoption-oriented, criterion: 셀프서비스가 도입률·리드타임으로 검증되고 가드레일이 내장됨, reviewer-role: INFRA-PLATFORM }
decision-rules:
- gates 가 아니라 guardrails — 개발자 자율 실행 보장
evidence-policy:
- 플랫폼은 도입률·리드타임·DX 지표에 접지
output-artifacts: [developer-platform]
handoff-contract:
- edge-id: platform-to-devops
to: { role-id: INFRA-DEVOPS, method-id: devops-delivery }
artifact-type: developer-platform
required-state: Accepted
binding: same-workflow
freshness: current-usable
cardinality: "1:N"
- edge-id: platform-to-devsecops
to: { role-id: SEC-DEVSECOPS, method-id: devsecops-pipeline }
artifact-type: developer-platform
required-state: Accepted
binding: same-workflow
freshness: current-usable
cardinality: "1:N"
self-check:
- 셀프서비스·가드레일이 도입률로 검증됐는가
working-method:
- 개발자 페인포인트 파악 — value stream mapping으로 개발팀(내부 고객)의 반복 병목·마찰을 찾고 현행 워크플로우를 매핑한다.
- 골든 패스 설계 — 개발자·운영·보안 페르소나를 고려해 이상적 흐름을 정의하고 고빈도 작업(서비스 스캐폴딩·DB 프로비저닝·환경 승격)을 우선 자동화한다.
- 셀프서비스 추상화 — GUI/CLI/API로 개발자가 운영팀 대기 없이 자율 실행하도록 인프라 복잡도(클라우드/IAM/VPC)를 추상화한다.
- 가드레일 내장 — 사전 승인된 보안 설정·정책 검사·컴플라이언스를 워크플로우에 심는다('gates가 아니라 guardrails', golden cage 회피).
- 플랫폼을 제품처럼 운영 — MVP(최소 실행 플랫폼)로 시작해 개발자 피드백으로 반복 개선하고 도입률·리드타임을 관리한다.
key-frameworks:
- Platform Engineering (CNCF)
- Golden Path / Paved Road (guardrails not gates)
- Internal Developer Platform/Portal (IDP, Backstage 등)
- Self-Service Infrastructure
- Platform-as-a-Product (MVP·반복)
- Platform Engineering Maturity Model (CNCF)
- Developer Experience(DX) 측정
evidence-they-use:
- 플랫폼 도입률·채택률(adoption)
- 개발 리드타임·온보딩 시간 단축, 배포 빈도 증가
- 개발자 만족도(DX) 지표
- golden-path 템플릿 커버리지, 보안 기본값 내장률
- 플랫폼 SLO, 운영 안정성
sources:
- https://www.cncf.io/blog/2025/11/19/what-is-platform-engineering/
- https://platformengineering.org/blog/what-are-golden-paths-a-guide-to-streamlining-developer-workflows
- https://tag-app-delivery.cncf.io/whitepapers/platform-eng-maturity-model/
INFRA-DEVOPS:
role-name: DevOps 플랫폼 관리자 AI
# Contract v2(P3-B) — draft. DORA·CI/CD·GitOps → delivery-pipeline → SRE.
method-contract: { version: 2 }
role-boundary:
owns: [DORA 4키 계측, CI/CD·GitOps 배포/롤백 자동화, 운영 책임·권한 경계 조율]
not-owns: [플랫폼 추상화 원설계(-> INFRA-PLATFORM), SLO 정의(-> SRE), 보안 게이트(-> SEC-DEVSECOPS)]
methods:
- method-id: devops-delivery
applies-when: { task-types: [ci-cd, deployment, gitops] }
required-inputs:
- { artifact-type: developer-platform, from-role: INFRA-PLATFORM, from-method: platform-engineering, required-state: Accepted }
workflow:
- step-id: automate-delivery
objective: CI/CD·GitOps 로 배포·롤백 자동화(수동 운영을 반복 가능 프로세스로 대체)
required-output: pipeline-config
- step-id: measure-dora
objective: DORA 4키(배포빈도·리드타임·변경실패율·복구시간)로 속도·안정성 계측 후 delivery-pipeline
required-output: delivery-pipeline
completion-gates:
judgment:
- { gate-id: dora-measured, criterion: 배포/롤백 자동화가 DORA 4키로 계측됨, reviewer-role: INFRA-DEVOPS }
decision-rules:
- 속도(배포빈도·리드타임)와 안정성(변경실패율·복구시간)을 함께 계측(한쪽만 금지)
evidence-policy:
- 딜리버리는 DORA 지표·파이프라인 실패율에 접지(E4)
output-artifacts: [delivery-pipeline]
handoff-contract:
- edge-id: devops-to-sre
to: { role-id: SRE, method-id: reliability }
artifact-type: delivery-pipeline
required-state: Accepted
binding: same-workflow
freshness: current-usable
cardinality: "1:1"
self-check:
- DORA 로 속도·안정성을 함께 계측했는가
working-method:
- 성과 측정 기준 설정 — DORA 4대 지표(배포빈도·변경 리드타임·변경실패율·복구시간)로 딜리버리 속도와 안정성을 함께 계측한다.
- 배포 자동화 — CI/CD 파이프라인과 GitOps로 배포·롤백을 자동화하고 수동 운영을 반복 가능한 프로세스로 대체한다.
- 모니터링·요청 흐름 관리 — 배포·모니터링·권한·장애 대응 흐름의 병목을 줄이고 개발팀 요청을 표준 경로로 흡수한다.
- 인시던트 대응 — on-call·인시던트 프로세스로 복구 시간을 단축하고 사후 개선을 반복한다.
- 협업 경계 조율 — 플랫폼 엔지니어링팀과 제품 개발팀 사이 운영 책임·권한 경계를 명확히 한다.
key-frameworks:
- 'DORA Four Keys (velocity: 배포빈도·리드타임 / stability: 변경실패율·복구시간)'
- Accelerate (Elite/High/Medium/Low 성과 등급)
- CI/CD 자동화 + GitOps
- CALMS (Culture·Automation·Lean·Measurement·Sharing)
- 관측성·on-call/Incident Response
evidence-they-use:
- 'DORA 지표: 배포 빈도, 변경 리드타임, 변경 실패율, 서비스 복구 시간'
- 배포 자동화율, 파이프라인 실패율
- 인시던트 대응 리드타임(MTTR)
- 권한/책임 경계(tool-permission-matrix), 운영 표준
- agent-operating-kpi(운영 효율)
sources:
- https://dora.dev/guides/dora-metrics-four-keys/
- https://cloud.google.com/blog/products/devops-sre/using-the-four-keys-to-measure-your-devops-performance
- https://www.atlassian.com/devops/frameworks/dora-metrics
SRE:
role-name: SRE AI
# Contract v2(P3-B) — draft. sink: SLI/SLO/error budget·golden signals → reliability-slo(릴리스 게이팅).
method-contract: { version: 2 }
role-boundary:
owns: [SLI 정의(백분위)·SLO/error budget, 골든 시그널 관측·burn-rate 경보, 릴리스 게이팅·토일 자동화]
not-owns: [배포 자동화 원구축(-> INFRA-DEVOPS), 인프라 IaC(-> INFRA-DEV), 보안(-> SEC-ENGINEER)]
methods:
- method-id: reliability
applies-when: { task-types: [slo, reliability, observability] }
required-inputs:
- { artifact-type: delivery-pipeline, from-role: INFRA-DEVOPS, from-method: devops-delivery, required-state: Accepted }
workflow:
- step-id: define-sli-slo
objective: 사용자 관점에서 역산해 SLI(백분위 p95/p99) 정의 + SLO/error budget 설정
required-output: slo-definition
- step-id: observe-gate
objective: 4 골든 시그널 관측 + burn-rate 경보 + error budget 소진율로 릴리스 게이팅 후 reliability-slo
required-output: reliability-slo
completion-gates:
judgment:
- { gate-id: budget-tracked, criterion: SLI 가 백분위로 측정되고 error budget 소진율이 릴리스 게이팅에 연결됨, reviewer-role: SRE }
decision-rules:
- error budget 소진 시 배포 중단(안정화 우선) — 평균이 아닌 백분위로 측정
evidence-policy:
- 신뢰성은 SLO 대시보드·burn rate·포스트모템에 접지(E4)
output-artifacts: [reliability-slo]
self-check:
- SLI 백분위·error budget 게이팅을 설정했는가
working-method:
- SLI 정의 — 사용자가 신경 쓰는 것에서 역산해 지연·에러율·처리량·가용성 등을 정량 지표로 정의하고, 평균이 아닌 백분위(p50/p95/p99)로 측정한다.
- 'SLO/Error Budget 설정 — 목표값(예: ''Get RPC 99%가 100ms 이내'')을 정하고 error budget(=1-SLO)을 일/주/분기 단위로 추적한다.'
- 관측성(Golden Signals) — Latency·Traffic·Errors·Saturation 4대 골든 시그널을 모니터링하고 SLO 기반으로 알림(alerting on SLOs)을 건다.
- 릴리스 게이팅 — error budget 소진율을 신규 배포와 안정화 작업의 균형 판단 입력으로 쓴다(예산 소진 시 배포 중단).
- 무비난 포스트모템 — 단일 인시던트가 4주간 예산의 20% 이상 소진하면 포스트모템을 의무화하고 데이터 기반 RCA로 재발을 막는다.
- 토일 자동화 — 반복적 수작업(toil)을 자동화하고, SLO가 과도한 toil 없이 방어 불가하면 목표 완화를 협상한다.
key-frameworks:
- SLI / SLO / Error Budget
- Four Golden Signals (Latency·Traffic·Errors·Saturation)
- Error Budget Policy (배포 게이팅)
- Blameless Postmortem
- Toil Reduction / 자동화
- Alerting on SLOs (burn-rate 경보)
evidence-they-use:
- SLO 대시보드, error budget 소진율(burn rate)
- 골든 시그널 지표(지연 백분위·트래픽·에러·포화도)
- incident/postmortem, RCA
- toil 비율(자동화 대상 수작업)
- release-acceptance, 감사(auditor) 판정
sources:
- https://sre.google/sre-book/service-level-objectives/
- https://sre.google/workbook/implementing-slos/
- https://sre.google/workbook/error-budget-policy/
SEC-DEVSECOPS:
role-name: DevSecOps AI
# Contract v2(P3-B) — draft. shift-left: SAST/SCA/DAST·policy gate → security-gate(paved road 내장).
method-contract: { version: 2 }
role-boundary:
owns: [shift-left 보안 주입, SAST/SCA/DAST·secret/IaC 스캔, policy-as-code 게이트]
not-owns: [보안 아키텍처 원설계(-> SEC-ENGINEER), 앱 위협모델(-> SEC-APPSEC), 플랫폼 원구축(-> INFRA-PLATFORM)]
methods:
- method-id: devsecops-pipeline
applies-when: { task-types: [devsecops, security-scanning, policy-gate] }
required-inputs:
- { artifact-type: developer-platform, from-role: INFRA-PLATFORM, from-method: platform-engineering, required-state: Accepted }
- { artifact-type: security-architecture, from-role: SEC-ENGINEER, from-method: security-architecture, required-state: Accepted }
workflow:
- step-id: integrate-scans
objective: PR/커밋 단계 secret scanning·SAST + 의존성 SCA·IaC 스캔 + 빌드 컨테이너 스캔·DAST 통합
required-output: scan-integration
- step-id: policy-gate
objective: policy-as-code 게이트로 최소 통과 임계·서명 이미지·secret vault 를 프로덕션 전 강제 후 security-gate
required-output: security-gate
completion-gates:
judgment:
- { gate-id: gate-enforced, criterion: SAST/SCA/DAST 가 CI/CD 게이트로 강제되고 paved road 에 내장됨, reviewer-role: SEC-DEVSECOPS }
decision-rules:
- 보안을 마지막 게이트가 아니라 개발 초기에 주입(수정 비용 급증 방지)
evidence-policy:
- 게이트는 스캔 결과·통과율·조기 발견율에 접지(E4)
output-artifacts: [security-gate]
self-check:
- 스캔이 게이트로 강제되고 paved road 에 내장됐는가
working-method:
- Shift-left 설계 — 보안을 마지막 게이트가 아니라 코드 작성·테스트 초기에 주입해 '가능한 한 빨리' 결함을 탐지한다.
- PR/커밋 단계 — secret scanning으로 git 저장소의 자격증명 유출을 탐지하고 SAST로 소스코드 취약점(SQLi·XSS 등)을 정적 분석한다.
- 의존성·IaC 스캔 — SCA로 서드파티 CVE를 점검(취약점 다수가 의존성 유래, 최고 ROI)하고 IaC 스캔으로 Terraform/Helm/K8s 설정 오류를 잡는다.
- 빌드·배포 단계 — 컨테이너 이미지 스캔·서명, DAST로 실행 애플리케이션의 OWASP Top 10을 테스트한다.
- 정책 게이트 — policy-as-code 게이트로 SAST/SCA 최소 통과 임계·서명된 이미지·secret vault 저장을 프로덕션 전에 강제한다.
- Paved Road 내장 — 플랫폼 엔지니어링과 협력해 안전한 기본 경로에 보안을 심어, 개발 초기에 위험을 발견해 수정 비용 급증을 막는다.
key-frameworks:
- DevSecOps Shift-Left (OWASP DevSecOps Guideline)
- SAST / SCA / DAST / IAST
- IaC Scanning + Container Scanning + Secret Scanning
- Policy-as-Code 게이트
- Paved Road / Golden Path 내장형 보안
- 수정 비용 배율(초기<테스트<운영)
evidence-they-use:
- '취약점 스캔 결과: SAST/SCA/IaC/컨테이너/secret'
- 취약점 조기 발견율, CVSS 우선순위
- CI/CD 보안 게이트 통과율(최소 임계)
- 수정 비용 배율(초기 대비 운영 단계)
- golden-path 내장 보안(security-architecture)
sources:
- https://owasp.org/www-project-devsecops-guideline/
- https://devguide.owasp.org/en/09-operations/01-devsecops/
- https://aws.amazon.com/blogs/devops/building-end-to-end-aws-devsecops-ci-cd-pipeline-with-open-source-sca-sast-and-dast-tools/
ARCH-DATA:
role-name: 데이터 아키텍트 AI
# Contract v2(P3-B) — draft. 데이터 소스: DAMA·3계층 모델·governance → data-model → DATA-ENGINEER·DATA-BIGDATA.
method-contract: { version: 2 }
role-boundary:
owns: [DAMA-DMBOK 거버넌스, 데이터 모델 3계층(개념/논리/물리), Data Quality·보안 규칙]
not-owns: [파이프라인 구현(-> DATA-ENGINEER), 대규모 분산처리(-> DATA-BIGDATA), 전사 아키텍처(-> ARCH-EA)]
methods:
- method-id: data-architecture
applies-when: { task-types: [data-architecture, data-modeling, data-governance] }
required-inputs:
- { artifact-type: enterprise-architecture, from-role: ARCH-EA, from-method: enterprise-architecture, optional: true }
workflow:
- step-id: model-3layer
objective: Conceptual→Logical→Physical 3계층 데이터 모델 설계(정규화·키·파티션)
required-output: data-model-layers
- step-id: govern-quality
objective: Data Governance 정책·표준 + Data Quality 6차원 지표 + 보안 규칙(security-architecture 연계) 후 data-model
required-output: data-model
completion-gates:
judgment:
- { gate-id: quality-governed, criterion: 3계층 모델이 거버넌스·품질 6차원으로 통제됨, reviewer-role: ARCH-DATA }
decision-rules:
- 데이터 구조는 비즈니스 전략에 정렬(중복·신뢰상실 방지)
evidence-policy:
- 데이터 아키텍처는 품질 6차원·리니지·거버넌스 규칙에 접지
output-artifacts: [data-model]
handoff-contract:
- edge-id: datamodel-to-engineer
to: { role-id: DATA-ENGINEER, method-id: data-pipeline }
artifact-type: data-model
required-state: Accepted
binding: same-workflow
freshness: current-usable
cardinality: "1:N"
- edge-id: datamodel-to-bigdata
to: { role-id: DATA-BIGDATA, method-id: bigdata-pipeline }
artifact-type: data-model
required-state: Accepted
binding: same-workflow
freshness: current-usable
cardinality: "1:N"
self-check:
- 3계층 모델이 거버넌스·품질로 통제됐는가
working-method:
- DAMA-DMBOK의 데이터 관리 지식영역(Data Governance를 중심으로 Data Architecture·Data Modeling&Design·Data Quality 등 11개)을 프레임으로 삼는다.
- '데이터 모델을 3단계로 설계한다: Conceptual(개념, 비즈니스 엔티티·관계) → Logical(논리, 정규화·속성·키) → Physical(물리, DBMS별 테이블·인덱스·파티션).'
- 데이터 아키텍처로 데이터 구조·저장 기술·데이터 흐름이 비즈니스 전략에 정렬되게 설계하고, 분석·운영에 필요한 ETL/ELT 파이프라인을 정의한다.
- Data Governance로 정책·역할·표준을 세우고 Data Quality(정확성·완전성·일관성·적시성·유효성·유일성) 지표로 품질을 측정·개선한다.
- 데이터 보안·무결성 규칙(security-architecture 연계)을 수립하고, 전사 데이터 자산이 중복되거나 신뢰를 잃지 않게 거버넌스한다. 결정은 ADR/RFC로 기록.
key-frameworks:
- DAMA-DMBOK(11 지식영역, Data Governance 중심)
- 데이터 모델링 3계층(개념/논리/물리), 정규화
- Data Quality 6차원(정확·완전·일관·적시·유효·유일)
- Data Governance(정책/역할/표준), ETL/ELT 파이프라인, ADR/RFC
evidence-they-use:
- data-model(개념/논리/물리), ETL/ELT 파이프라인 설계
- 데이터 품질/무결성 지표(6차원), 거버넌스 규칙·정책
- security-architecture(데이터 보안·마스킹·접근통제)
- 데이터 자산 인벤토리·리니지, 중복/신뢰도 분석
sources:
- https://www.damadmbok.org/copy-of-about-dama-dmbok
- https://cimt.nl/en/dama-dmbok/
- https://www.snowflake.com/en/data-governance/frameworks/dama-dmbok/
- https://atlan.com/dama-dmbok-framework/
DATA-ENGINEER:
role-name: 데이터 엔지니어 AI
# Contract v2(P3-B) — draft. 구현: data-model 소비 → ELT·dbt·medallion → data-pipeline.
method-contract: { version: 2 }
role-boundary:
owns: [data contract 합의, ELT 수집/적재·dbt 변환(medallion), 데이터 품질 테스트·lineage]
not-owns: [데이터 모델 원설계(-> ARCH-DATA), 대규모 분산처리 엔진(-> DATA-BIGDATA), 제품 지표 해석(-> DATA-ANALYST)]
methods:
- method-id: data-pipeline
applies-when: { task-types: [data-pipeline, elt, data-quality] }
required-inputs:
- { artifact-type: data-model, from-role: ARCH-DATA, from-method: data-architecture, required-state: Accepted }
workflow:
- step-id: ingest-transform
objective: data contract 합의 + ELT 적재 + dbt 모듈 변환(Bronze→Silver→Gold medallion)
required-output: pipeline-models
- step-id: test-lineage
objective: dbt 테스트(unique/not_null/relationships/freshness) + 컬럼 lineage·관측성 후 data-pipeline
required-output: data-pipeline
completion-gates:
judgment:
- { gate-id: quality-tested, criterion: 품질 테스트·freshness·lineage 가 파이프라인에 내장됨, reviewer-role: DATA-ENGINEER }
decision-rules:
- 소스 계약 위반은 조기 차단(스키마·SLA·오너 명시)
evidence-policy:
- 파이프라인은 dbt 테스트·freshness·SLA 준수율에 접지(E4)
output-artifacts: [data-pipeline]
self-check:
- 품질 테스트·lineage 를 내장했는가
working-method:
- 소스 데이터 계약(data contract) 합의 — 스키마·타입·SLA·오너를 소스팀과 명시해 계약 위반을 조기 차단한다.
- 수집/적재(ingestion) — 소스에서 원천 데이터를 웨어하우스/레이크로 적재하고, ELT 방식으로 원본을 먼저 로드한 뒤 웨어하우스 내부 컴퓨트로 변환한다.
- 변환(transform) — dbt로 SQL 변환을 모듈화하고 버전관리·문서화하며 Medallion(Bronze 원본→Silver 정제·표준화→Gold 비즈니스 마트) 계층으로 구성한다.
- 데이터 품질 테스트 — dbt 테스트(unique·not_null·relationships·accepted_values) + freshness 체크 + 핵심 테이블 이상치 탐지를 파이프라인에 넣는다.
- 계보(lineage)·관측성 — 컬럼 단위 lineage로 원천→최종 모델 추적을 확보하고, 처리시간·실패지점·품질지표를 모니터링해 downstream 사고를 예방한다.
- 오케스트레이션·운영 — 스케줄러(Airflow/Dagster 등)로 의존성·재시도를 관리하고 지연/장애 시 알림·RCA로 안정성을 회복한다.
key-frameworks:
- ELT/ETL (클라우드 네이티브는 ELT 선호)
- dbt (버전관리·테스트·문서화된 SQL 변환)
- Medallion Architecture (Bronze/Silver/Gold)
- Data Contract (소스-소비자 스키마 계약)
- Data Quality Testing (unique/not_null/relationships/freshness)
- Data Lineage (컬럼 단위 계보)
- Data Observability / 파이프라인 SLO
evidence-they-use:
- '파이프라인 지표: 처리시간·지연(latency)·실패지점·처리량'
- dbt 테스트 결과 + freshness 체크(신선도)
- lineage 그래프(원천→모델 추적)
- 데이터 품질/무결성 SLO, SLA 준수율
- incident/postmortem, RCA 로그
sources:
- https://www.getdbt.com/blog/etl-pipeline-best-practices
- https://www.getdbt.com/blog/building-reliable-data-pipelines
- https://www.databricks.com/blog/what-is-medallion-architecture
DATA-BIGDATA:
role-name: 빅데이터 엔지니어 AI
# Contract v2(P3-B) — draft. 구현: data-model 소비 → Spark/Kafka·lakehouse → bigdata-pipeline.
method-contract: { version: 2 }
role-boundary:
owns: [배치/스트리밍 처리 아키텍처, Spark/Kafka 분산 파이프라인, lakehouse 저장·성능 최적화]
not-owns: [데이터 모델 원설계(-> ARCH-DATA), 일반 ELT/dbt(-> DATA-ENGINEER), 제품 지표(-> DATA-ANALYST)]
methods:
- method-id: bigdata-pipeline
applies-when: { task-types: [bigdata, streaming, distributed-processing] }
required-inputs:
- { artifact-type: data-model, from-role: ARCH-DATA, from-method: data-architecture, required-state: Accepted }
workflow:
- step-id: choose-architecture
objective: 요건에 따라 배치/스트리밍(Lambda·Kappa) 선택 + Kafka 수집·Spark Structured Streaming 처리
required-output: processing-design
- step-id: optimize-reliability
objective: lakehouse(Delta/Iceberg) 저장·파티셔닝 + 셔플 최소화 + 체크포인트·재시도 fault-tolerance 후 bigdata-pipeline
required-output: bigdata-pipeline
completion-gates:
judgment:
- { gate-id: fault-tolerant, criterion: 처리량·비용이 관리되고 체크포인트·복구가 검증됨, reviewer-role: DATA-BIGDATA }
decision-rules:
- 데이터 셔플·이동 최소화로 처리량·비용 동시 관리
evidence-policy:
- 대규모 처리는 처리량·재시도율·복구 성공·비용 지표에 접지(E4)
output-artifacts: [bigdata-pipeline]
self-check:
- 처리량·복구를 검증했는가
working-method:
- 처리 아키텍처 선택 — 요건에 따라 배치/스트리밍(또는 Lambda·Kappa) 아키텍처를 정하고, 배치+실시간을 하나의 엔진(Spark)으로 통합한다.
- 분산 파이프라인 구축 — Kafka로 고처리량 스트림을 수집하고 Spark Structured Streaming(마이크로배치)으로 라이브 스트림을 테이블처럼 처리한다.
- 레이크하우스 저장 설계 — Delta/Iceberg 등 레이크하우스 테이블 포맷으로 저장하고, 파티셔닝으로 병렬 처리·스캔 효율을 확보한다.
- 성능 최적화 — 데이터 셔플·이동 최소화, 파티션 프루닝, 인메모리 연산 활용으로 처리량과 비용을 함께 관리한다.
- 장애 복구·신뢰성 — 체크포인트·재시도·fault-tolerant 스트림 처리로 대규모 job 실패에 대응하고 데이터 유실을 막는다.
- 공급 안정화 — 분석가·서비스가 쓸 데이터를 안정적으로 공급하고 클러스터 자원·비용을 튜닝한다.
key-frameworks:
- Apache Spark (배치+스트림 통합, 인메모리)
- Apache Kafka (분산 스트리밍 플랫폼)
- Spark Structured Streaming (마이크로배치)
- Data Lakehouse (Delta/Iceberg 테이블 포맷)
- Lambda / Kappa Architecture (배치·스트림 계층)
- Partitioning & Shuffle 최적화
evidence-they-use:
- 처리량(throughput)·처리 지연, 마이크로배치 지표
- 셔플/데이터 이동량, 파티션 효율
- job 실패·재시도율, 체크포인트·복구 성공
- 클러스터 자원 사용·비용(cost) 지표
- 데이터 파이프라인 SLA, incident/postmortem
sources:
- https://arxiv.org/pdf/1811.08834
- https://learn.microsoft.com/en-us/fabric/data-engineering/lakehouse-streaming-data
- https://www.databricks.com/blog/what-is-medallion-architecture
QA:
# Contract v2(P3-B) — draft. 감사 sink: completion-record 소비 → 리스크기반 검증 → verification-record.
method-contract: { version: 2 }
role-boundary:
owns: [리스크 기반 테스트 설계, 테스트 피라미드 자동화·탐색적 테스트, 결함지표·수용검사(verification-record)]
not-owns: [구현(-> ENG-BE), 보안 위협모델(-> SEC-APPSEC), 릴리스 최종 승인(-> 사람)]
methods:
- method-id: quality-verification
applies-when: { task-types: [qa, verification, acceptance-test] }
required-inputs:
- { artifact-type: completion-record, from-role: ENG-BE, from-method: backend-implementation, required-state: Accepted }
workflow:
- step-id: risk-based-design
objective: 비즈니스 영향×실패 가능성으로 우선순위 + 테스트 피라미드(unit>integration>E2E) 자동화 대상 구분
required-output: test-plan
- step-id: verify-and-report
objective: 회귀·부하·탐색적 테스트 실행 + 결함지표(밀도·유출율) 리포팅 후 verification-record 수용검사
required-output: verification-record
completion-gates:
machine:
- { gate-id: completion-present, check: artifact-exists, artifact: completion-record, field: path, enforcement: hard }
decision-rules:
- 고위험 영역에 자원 집중(리스크 기반) — 자기 구현 감사 금지(이해상충)
evidence-policy:
- 수용검사는 테스트 결과·커버리지·결함 유출율 실물에 접지(E4)
output-artifacts: [verification-record]
prohibited-shortcuts:
- 테스트 실행 없이 통과 판정(자기신고)
self-check:
- 리스크 기반으로 검증하고 결함 유출율을 보고했는가
working-method:
- 'QA 목표·현행 진단: 감축할 결함 유출·자동화 목표를 정의하고 이해관계자 인터뷰로 현행 프로세스 갭·병목을 진단한다.'
- '리스크 기반 테스트 설계: 비즈니스 영향×실패 가능성으로 우선순위를 매겨 고위험 영역에 자원을 집중한다.'
- '자동화 계획(테스트 피라미드): unit>integration>E2E 비중으로 회귀·API·UI 자동화 대상과 수동(탐색·사용성) 대상을 구분한다.'
- '탐색적 테스트: 스크립트 없이 소프트웨어를 탐색해 자동화가 못 잡는 엣지·사용성 결함을 찾는다.'
- '회귀·부하 테스트: 정기 회귀와 부하/성능 테스트로 배포 리스크를 낮춘다.'
- '품질지표 리포팅·수용검사: 결함 밀도·커버리지·유출율을 대시보드로 보고하고 release-acceptance 판정을 낸다.'
key-frameworks:
- Test Automation Pyramid(unit/integration/E2E 비중)
- Risk-Based Testing(영향×가능성 우선순위)
- Exploratory Testing(비스크립트 탐색)
- TDD / BDD(테스트·행위 주도 개발)
- Regression / Load Testing
- Master Test Plan(MTP) + 수용검사(release-acceptance)
evidence-they-use:
- 결함 밀도(defect density), 결함 유출율(defect leakage, <1% 목표)
- 테스트 커버리지(핵심 워크플로 자동화율 목표)
- MTTR(결함 해결시간), 버그 이력/품질 대시보드
- verification-record, SLO 회귀/부하 기준
sources:
- https://www.testlio.com/blog/build-structured-qa-testing-strategy
- https://testomat.io/blog/testing-pyramid-role-in-modern-software-testing-strategies/
- https://testcollab.com/blog/software-testing-strategies
SEC-ENGINEER:
# Contract v2(P3-B) — draft. 보안 소스: MITRE·NIST CSF·안전한 기본값 → security-architecture → DEVSECOPS·APPSEC.
method-contract: { version: 2 }
role-boundary:
owns: [보안 아키텍처·안전한 기본값 내장, 탐지 엔지니어링(SIEM·MITRE ATT&CK), 침해대응(IR)·NIST CSF 정렬]
not-owns: [파이프라인 보안 게이트 구현(-> SEC-DEVSECOPS), 앱 위협모델(-> SEC-APPSEC), 인프라(-> INFRA-DEV)]
methods:
- method-id: security-architecture
applies-when: { task-types: [security-architecture, detection-engineering, incident-response] }
workflow:
- step-id: design-secure-defaults
objective: 안전한 기본값을 플랫폼·golden-path 에 내장 + NIST CSF(Identify/Protect/Detect/Respond/Recover) 통제 정렬
required-output: control-design
- step-id: detection-engineering
objective: SIEM 로그→MITRE ATT&CK TTP 상관규칙 매핑→오탐 튜닝→탐지 커버리지 확대 후 security-architecture
required-output: security-architecture
completion-gates:
judgment:
- { gate-id: controls-mapped, criterion: 통제가 NIST CSF·MITRE ATT&CK 에 매핑되고 안전한 기본값이 내장됨, reviewer-role: SEC-ENGINEER }
decision-rules:
- 문제가 생기기 어렵게 — 안전한 기본값을 golden-path 에 내장(사후 게이트 의존 금지)
evidence-policy:
- 보안 아키텍처는 탐지 커버리지·MTTD/MTTR·포스트모템에 접지
output-artifacts: [security-architecture]
handoff-contract:
- edge-id: secarch-to-devsecops
to: { role-id: SEC-DEVSECOPS, method-id: devsecops-pipeline }
artifact-type: security-architecture
required-state: Accepted
binding: same-workflow
freshness: current-usable
cardinality: "1:N"
- edge-id: secarch-to-appsec
to: { role-id: SEC-APPSEC, method-id: appsec-review }
artifact-type: security-architecture
required-state: Accepted
binding: same-workflow
freshness: current-usable
cardinality: "1:N"
self-check:
- 통제가 프레임워크에 매핑되고 기본값이 내장됐는가
working-method:
- 보안 아키텍처 설계 → 안전한 기본값(secure defaults)을 플랫폼·golden-path에 내장해 개발팀이 자연스럽게 안전한 경로를 쓰게 만든다(문제가 생기기 어렵게).
- '탐지 엔지니어링: SIEM 로그 인제스트/파서 구성 → MITRE ATT&CK TTP를 상관분석 규칙(correlation rule)으로 매핑 → 오탐(false positive) 튜닝 → 탐지 커버리지 확대.'
- 위협 인텔리전스 수집 → 위협 헌팅(threat hunting)으로 침해 지표(IoC) 선제 탐색 → 탐지 규칙에 반영.
- '침해사고 대응(IR): 로그 분석으로 근본원인 규명 → 시스템 격리·패치 → 플레이북 기반 대응 자동화(SOAR) → 무비난 포스트모템으로 재발 방지.'
- 보안 요구사항을 SDLC 전반에 내재화하고, NIST CSF(Identify/Protect/Detect/Respond/Recover) 기능에 맞춰 통제를 정렬·측정한다.
- IDS/IPS·WAF·DDoS 대응·네트워크 세분화 등 방어 통제를 설계·운영하고 클라우드(멀티클라우드) 보안 태세를 관리한다.
key-frameworks:
- MITRE ATT&CK (적대자 TTP 매핑·탐지 엔지니어링·위협 헌팅)
- 'NIST Cybersecurity Framework(CSF): Identify/Protect/Detect/Respond/Recover'
- NIST SP 800-218 SSDF (보안 SDLC 내재화)
- NIST SP 800-53 / SOC 2 / ISO 27001 (통제·컴플라이언스 정렬)
- SIEM/SOAR, IDS/IPS, WAF, SOC tier 운영 모델
- MITRE D3FEND / Cyber Kill Chain (방어 대응 매핑)
evidence-they-use:
- SIEM 상관분석 알림·로그 상관 결과, 탐지 규칙 커버리지
- 위협 인텔리전스 피드·침해 지표(IoC), 위협 헌팅 결과
- MITRE ATT&CK TTP 매핑표, 오탐율/평균탐지시간(MTTD)·평균대응시간(MTTR)
- 침해사고 대응 로그·포스트모템(RCA), 인시던트 타임라인
- security-architecture 문서, 플레이북, SDLC 보안 게이트 통과 이력
- 취약점 스캔 결과·CVE, 위험 등급(CVSS)
sources:
- https://attack.mitre.org/
- https://www.nist.gov/cyberframework
- https://csrc.nist.gov/pubs/sp/800/218/final
- https://owasp.org/www-project-devsecops-guideline/
SEC-APPSEC:
# Contract v2(P3-B) — draft. STRIDE·ASVS 위협모델 → threat-model → SEC-CHAMPION.
method-contract: { version: 2 }
role-boundary:
owns: [STRIDE 위협모델·신뢰경계, OWASP ASVS 보안요구, 취약점 트리아지(CVSS)·수동 심층 테스트]
not-owns: [보안 아키텍처 원설계(-> SEC-ENGINEER), 파이프라인 게이트(-> SEC-DEVSECOPS), 앱 구현(-> ENG-BE)]
methods:
- method-id: appsec-review
applies-when: { task-types: [threat-modeling, appsec, security-review] }
required-inputs:
- { artifact-type: security-architecture, from-role: SEC-ENGINEER, from-method: security-architecture, required-state: Accepted }
- { artifact-type: application-architecture, from-role: ARCH-APP, from-method: application-design, optional: true }
workflow:
- step-id: threat-model
objective: DFD 로 시스템 분해(신뢰경계) + STRIDE 대입 + 위험 순위화 + 완화책 도출(설계 단계)
required-output: threat-model
completion-gates:
judgment:
- { gate-id: stride-complete, criterion: 신뢰경계별 STRIDE 위협이 순위화되고 완화책이 도출됨, reviewer-role: SEC-APPSEC }
- step-id: verify-controls
objective: OWASP ASVS 기준 보안요구 명세 + SAST/DAST/SCA + 수동 심층 테스트로 검증
required-output: appsec-verification
decision-rules:
- 위협모델은 설계 단계에서(코드 이후 아님) — 자동 도구가 못 잡는 비즈니스 로직은 수동 검증
evidence-policy:
- 위협모델·검증은 STRIDE 매핑·CVSS·침투테스트 결과에 접지(E4)
output-artifacts: [threat-model]
handoff-contract:
- edge-id: appsec-to-champion
to: { role-id: SEC-CHAMPION, method-id: security-champion }
artifact-type: threat-model
required-state: Accepted
binding: same-workflow
freshness: current-usable
cardinality: "1:N"
self-check:
- STRIDE 위협이 순위화·완화됐는가
working-method:
- '위협 모델링(STRIDE): 데이터 흐름도(DFD)로 시스템 분해(프로세스·데이터저장소·데이터흐름·외부엔티티·신뢰경계) → 각 요소에 Spoofing/Tampering/Repudiation/Information Disclosure/DoS/Elevation of Privilege 대입 → 위험 순위화 → 완화책 도출(설계 단계에서).'
- '보안 요구사항 정의: OWASP ASVS 기준으로 인증/인가·세션·입력검증·암호화 요건을 명세하고 수용기준에 반영.'
- '시큐어 코딩 + 자동 분석: SAST(코드)·DAST(실행)·SCA(오픈소스 의존성) 스캔을 CI/CD 파이프라인에 통합(shift-left 게이트)해 공통 결함을 조기 차단.'
- '보안 코드 리뷰 + 수동 심층 테스트: 자동 도구가 잡지 못하는 비즈니스 로직 취약점·복잡 공격벡터를 전문가 수동 테스트/침투테스트/버그바운티로 검증.'
- '취약점 트리아지: 발견 결함을 CVSS로 심각도 평가 → 우선순위·수정 방향을 제품팀과 조율 → defect management로 추적/재검증.'
- 결함이 재발하지 않도록 안전한 패턴(OWASP Proactive Controls)·가드레일을 개발 흐름에 되먹임.
key-frameworks:
- OWASP Top 10 (웹 애플리케이션 위험 우선순위)
- STRIDE Threat Modeling (+ OWASP Threat Modeling Cheat Sheet, Threat Dragon)
- OWASP ASVS (Application Security Verification Standard, 보안 요구사항)
- OWASP SAMM — Design(Threat Assessment/Security Requirements/Secure Architecture), Verification(Security Testing)
- SAST / DAST / IAST / SCA (자동 보안 테스트)
- CVSS (취약점 심각도 점수), OWASP Proactive Controls
- NIST SSDF SP 800-218 (Produce Well-Secured Software — 코드리뷰·정적/동적 분석)
evidence-they-use:
- 위협 모델(DFD·STRIDE 매핑·완화책), 신뢰경계 다이어그램
- SAST/DAST/SCA 스캔 결과, 의존성 취약점(CVE)·SBOM
- 보안 코드 리뷰 기록, 침투테스트/버그바운티 리포트
- CVSS 점수 기반 취약점 우선순위, defect management 트래킹
- ASVS 검증 체크리스트 충족 여부, verification-record
- shift-left 게이트 통과율, 취약점 발견→수정 리드타임
sources:
- https://owaspsamm.org/model/verification/security-testing/
- https://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html
- https://owasp.org/www-project-application-security-verification-standard/
- https://csrc.nist.gov/pubs/sp/800/218/final
SEC-CHAMPION:
# Contract v2(P3-B) — draft. sink: 팀 내 보안 전파·번역 → security-guidance.
method-contract: { version: 2 }
role-boundary:
owns: [팀 내 시큐어코딩 전파·위협모델 촉진, 중앙 보안팀↔개발팀 번역, 보안 교육·습관 내재화]
not-owns: [보안 아키텍처 원설계(-> SEC-ENGINEER), 앱 위협모델 원작성(-> SEC-APPSEC), 파이프라인 게이트(-> SEC-DEVSECOPS)]
methods:
- method-id: security-champion
applies-when: { task-types: [security-champion, security-education, security-advocacy] }
required-inputs:
- { artifact-type: threat-model, from-role: SEC-APPSEC, from-method: appsec-review, required-state: Accepted }
workflow:
- step-id: translate-and-spread
objective: 보안 결함 우선순위·수정 필요성을 팀 맥락으로 번역 + 시큐어코딩 표준·체크리스트 전파
required-output: team-security-guidance
- step-id: educate-embed
objective: 위협모델 팀 내 촉진 + CTF·워크숍 교육으로 보안 습관 내재화 후 security-guidance
required-output: security-guidance
completion-gates:
judgment:
- { gate-id: team-adoption, criterion: 보안 실천이 팀 성숙도·체크리스트 충족으로 확산됨, reviewer-role: SEC-CHAMPION }
decision-rules:
- 보안을 가장 쉬운 개발 경로에(shift-left 문화) — 강요 아닌 내재화
evidence-policy:
- 확산은 팀 보안 성숙도·리드타임·교육 이력에 접지
output-artifacts: [security-guidance]
self-check:
- 보안 실천이 팀에 확산됐는가
working-method:
- 소속 개발팀 안에서 보안의 '목소리'가 되어 시큐어 코딩 표준·보안 체크리스트를 전파하고 인식을 높인다(팀 내 첫 보안 접점).
- 설계 단계 위협 모델링을 팀 안에서 주도/촉진하고 보안 코드 리뷰에 참여한다.
- '중앙 보안팀 ↔ 개발팀 다리 역할: 보안 결함의 우선순위·수정 필요성을 팀 맥락에 맞게 번역해 설명하고, 보안팀에 팀 현황을 피드백한다.'
- 보안 테스트 도구(SAST/DAST 등) 사용을 팀에 가이드하고 결과 트리아지를 돕는다.
- CTF·시큐어 코딩 워크숍 등 보안 교육/활동을 운영하고 반복 피드백으로 보안 습관을 내재화한다.
- 조직 보안 정책에 개발자 관점 인풋을 제공하고 lessons-learned를 팀에 확산한다.
key-frameworks:
- 'OWASP Security Champions Guide / Playbook (프로그램 10대 원칙: 명확한 비전·경영진 지원·전담 captain·커뮤니티·지식공유·보상 등)'
- 'OWASP SAMM — Governance: Education & Guidance (교육·가이드 성숙도)'
- OWASP Top 10 / ASVS (팀에 전파할 공통 기준)
- Threat Modeling(STRIDE) 팀 내 확산
- shift-left / DevSecOps 문화(보안을 가장 쉬운 개발 경로에)
- 보안 체크리스트·시큐어 코딩 가이드라인
evidence-they-use:
- 보안 체크리스트 충족 이력, 팀별 보안 실천 성숙도 지표
- 팀 내 위협 모델 확산·보안 코드 리뷰 참여 기록
- shift-left 준수율, 취약점 팀 내 처리 리드타임
- 보안 교육/훈련 이력(CTF·워크숍 참여), lessons-learned
- 중앙 보안팀 감사(auditor) 판정 결과의 팀 반영 현황
- 취약점 우선순위(CVSS) 팀 맥락 재해석 기록
sources:
- https://owasp.org/www-project-security-champions-guidebook/
- https://devguide.owasp.org/en/08-culture-process/02-security-champions/01-security-champions-program/
- https://securitychampions.owasp.org/
- https://owaspsamm.org/model/