GH GambleHub

운영 및 → 감사 구성

감사 구성

1) 목적과 가치

감사 구성은 변화의 확실한 책임과 반복성을 보장합니다. 정당한 것; 테스트 된 바와 같이; 롤백 방법. 이로 인해 사고의 위험, 비밀 유출, 규정 준수 불일치 및 "숨겨진" 편집 내용이 줄어 듭니다.

주요 결과:
  • 구성을위한 단일 진리의 원천 (SoT).
  • 전체 변경 추적 (엔드 투 엔드).
  • 예측 가능한 릴리스 및 빠른 롤백.
  • 준수 및 보안 정책.

2) 범위

인프라: Terraform/Helm/Ansible/K8s가 나타나고 네트워크 ACL/WAF/CDN이 나타납니다.
응용 프로그램 구성: 'yaml/json/properties' 파일, 기능 플래그, 제한/할당량.
비밀과 키: 볼트/kms, 인증서, 토큰, 비밀번호.
데이터 파이프 라인: 스키마, 변환, ETL/스트림 일정.
통합: PSP/KYC/제공 업체, 웹 후크, 재 시도/시간 초과 정책.
관찰 가능성: 경보 규칙, 대시 보드, SLO/SLA.

3) 원칙

데이터로 설정: 선언적이고 버전이 지정된 테스트 가능한 아티팩트.
불변성 및 불변성: 코드에서 매체의 재현성.
계획 및 계약: 엄격한 검증 (JSON-Schema/Protoguy), 백/포워드 호환성.
수동 편집 최소화: MR/PR을 통해서만 변경됩니다.
직무 분리 (SoD) 및 4 눈: 저자! = 배포 자; 필수 검토.
기여 및 서명: 커밋/릴리스 서명, 아티팩트 증명.

4) 감사 아키텍처

1. SoT로서의 SCM (Git): 저장소의 모든 구성 요소, '주' 분기가 보호됩니다.

2. 레지스터:
  • 설정 레지스트리 (구성 요소, 소유물, SLA, 환경 디렉토리),
  • 스키마 레지스트리 (설정/이벤트 스키마 버전),
  • 정책 엔진 (OPA/Conftest) -검사 세트.
  • 3. CI/CD- 게이트: 형식/체계 → 정적 점검 → 정책 점검 → 비밀 스캔 → 드라이 런 → 변경 계획.
  • 4. 배송: GitOps (예: 드리프트 검출기 및 응용 프로그램 감사 로그가있는 ArgoCD/Flux).
  • 5. 증거 저장소: 감사 아티팩트 저장소 (계획, 로그, 서명, 빌드, SBOM).
  • 6. 동작 로그: 'CREATE/APPROVE/APPLY/ROLLBACK/ACCESS' 이벤트의 변하지 않는 로그 (추가 전용).

5) 감사 데이터 모델 (최소)

계약: '구성 (id, env, 서비스, 소유자, 스키마 _ 버전, 감도)'

확인: '변경 _ id, 배우, 행동, ts, diff _ hash, 이성, 승인 []'

보고서, 정책 _ 보고서, 서명, 릴리스 _ tag '

연결: RFC/항공권 PR depla (sha) 용지 공개 SLO 모니터링.

6) 프로세스 변경 (엔드 투 엔드)

1. RFC/티켓 → 대상, 위험, 백 아웃.
2. PR/MR → 린팅, 회로도 검증, 정책 검사, 비밀 스캔.
3. 플랜/미리보기 → 드라이 런/플랜, 리소스 디프, 비용/영향 추정치.
4. 승인 (4 눈/SoD, CAB 라벨이 위험이 높음).

5. 배포 (창/달력별) → GitOps가 적용됩니다. 드리프트 경고가 활성화되었

6. 검증 → 연기/SLO- 가드 레일, 결과 확인.
7. 증거 보관 → 증거 저장; 설정 사전을 업데이트합니다.

7) 정책 및 규칙 (예)

SoD: PR 저자는 prod를 보유하지 않습니다.
시간 제한: "동결" 이외의 생산이 없습니다.
범위: 민감한 키를 변경하려면 보안/준수에서 2 개의 업데이트가 필요합니다.
비밀: 리포지토리를 유지하는 것이 금지되었습 볼트 경로 + 액세스 역할 참조 만.
그물: '0으로 입력하십시오. 0. 0. 일시적인 예외와 TTL 없이는 0/0 '이 허용되지 않습니다.
경고: CAB없이 P1의 중요성을 줄이는 것은 금지되어 있습니다.

8) 비밀 통제

Vault/KMS 스토리지, 짧은 TTL, 자동 회전.
CI의 비밀 스캔 (키 패턴, 높은 엔트로피).
환경/역할에 의한 비밀 격리; 필요한 최소 권한.
"와이어" 및 "휴식 중" 암호화; 비밀에 대한 액세스 감사 기록.

9) 도구 (변수)

린트/스키마: 'yamllint', 'jsonschima', 'ajv', 'cue'.
정책: OPA/Conftest, Checkov/tfsec/kube-policy.
GitOps: ArgoCD/Flux (드리프트 감지, 감사, RBAC).
비밀: HashiCorp Vault, 클라우드 KMS, 인증 관리자.
스캐너: trufflehog, gitleaks (비밀); OPA/Regula (규칙).
보고: 로그를 DWH/BI로 내보내고 사고 및 변경 시스템에 연결합니다.

10) 규칙 및 아티팩트의 예

한계 설정을위한 JSON- 스키마

json
{
"$schema": "http://json-schema. org/draft-07/schema#",
"title": "limits",
"type": "object",
"required": ["service", "region", "rate_limit_qps"],
"properties": {
"service": {"type":"string", "pattern":"^[a-z0-9-]+$"},
"region": {"type":"string", "enum":["eu","us","latam","apac"]},
"rate_limit_qps": {"type":"integer","minimum":1,"maximum":5000},
"timeouts_ms": {"type":"integer","minimum":50,"maximum":10000}
},
"additionalProperties": false
}

Conftest/OPA (rego) -' 0 거부. 0. 0. @ info: whatsthis

rego package policy. network

deny[msg] {
input. kind == "IngressRule"
input. cidr == "0. 0. 0. 0/0"
msg:= "Ingress 0. 0. 0. 0/0 is not allowed. Specify specific CIDRs or throw an exception with TTL"
}

혼란/OPA-SoD

rego package policy. sod

deny[msg] {
input. env == "prod"
input. pr. author == input. pr. merger msg: = "SoD: PR author cannot hold in prod."
}

SQL (DWH) -한 달 안에 경보의 중요성을 줄인 사람

sql
SELECT actor, COUNT() AS cnt
FROM audit_events
WHERE action = 'ALERT_SEVERITY_CHANGED'
AND old_value = 'P1' AND new_value IN ('P2','P3')
AND ts >= date_trunc('month', now())
GROUP BY 1
ORDER BY cnt DESC;

Git 커밋 메시지 예 (필요한 필드)


feat(config/payments): raise PSP_B timeout to 800ms in EU

RFC: OPS-3421
Risk: Medium (PSP_B only, EU region)
Backout: revert PR + restore timeout=500ms
Tests: schema ok, conftest ok, e2e ok

11) 모니터링 및 경고

드리프트 감지: 클러스터에서 구성 = Git → P1/P2 신호 + 자동 치료 (조정).
고위험 변경: 네트워크/비밀/정책 변경-# Security-ops의 알림.
누락 된 증거: 계획/서명/보고서없이 배포-차단 또는 경고.
만료 된 자산: 인증서/키 유효성 기간 → 프로 액티브 알림.

12) 지표 및 KPI

감사 범위% - 스키마/정책/스캐너에서 구성 요소의 비율.
드리프트 MTTR은 평균 드리프트 클리어링 시간입니다.
정책 준수% - 정책을 PR에 전달합니다.
비밀 누출 MTTR-누출에서 리콜/로테이션까지.
백 아웃 속도-설정 변경의 롤백 비율.
평균 변경 크기-라인/리소스의 평균 diff (더 적은 것이 더 좋습니다).

13) 보고 및 준수

감사 추적: 스토리지 1-3 년 (요구 사항에 따라), 변경 불가능한 스토리지.
규제: ISO 27001/27701, SOX와 유사한 SoD, GDPR (PII), 산업 요구 사항 (iGaming: GGR/NGR 계산, 제한, 보너스 규칙 변경 사항 설명).
월간 보고서: 최고 변경, 정책 위반, 드리프트, 만료 인증서, 회전 상태.

14) 플레이 북

A. Drift가 prod에서 감지되었습

1. 영향을받는 서비스에 대한 자동 입금을 차단

2. 현재 상태의 스냅 샷을 삭제합니다.
3. Git와 비교하거나 '조정' 또는 롤백을 시작하십시오.
4. 사건 P2를 만들고 드리프트 소스 (수동 kubectl/콘솔) 를 지정하십시오.

5. 보호 사용: 직접 변경 없음 (PSP/ABAC), 소유자에게 알림

B. PSP 인증서 만료

1. 백업 경로/PSP로 전환하면 타임 아웃/복구가 줄어 듭니다.
2. PKI 프로세스를 통해 새 인증서를 발급하고 Git을 통해 설정을 업데이트하십시오.
3. 연기 검사, 교통 복귀, 사고 종료, 사후 부검.

C. 비밀 히트 PR

1. 키/토큰을 취소하고 회전을 사용하십시오.
2. 캐시에서 기록을 다시 작성/제거하십시오. 문제 RCA.
3. 비밀 스캐너에 규칙을 추가하고 명령을 훈련시킵니다.

15) 반 패턴

트레이스 및 롤백없이 "판매 중" 수동 편집.
체계가없고 검증없이 구성됩니다.
KMS/Vault가없는 Git/CI 변수의 비밀.
"글로벌 슈퍼 오른쪽" 에 해당하는 Monorepos.
드리프트 알림 및 응용 프로그램 로그가없는 "청각 장애인" GitOps.
거대한 PR "한 번에" -불분명 한 속성과 높은 위험.

16) 점검표

합병하기 전에

  • 다이어그램 및 라인터 통과
  • OPA/가장 혼란스러운 정책은 녹색입니다
  • 비밀 스캔- "깨끗한"
  • 계획/diff 첨부, 위험 평가, 백 아웃 준비
  • 4 월 2 일 (prod) 과 SoD가 만났다

배포하기 전에

  • 릴리스 창 및 캘린더 선택
  • 드리프트 모니터링이 활성화되었
  • SLO gardrails 구성, 연기 테스트 준비

월간

  • 일정에 따라 키/인증서 회전
  • 소유자 및 권리 목록
  • OPA/제외 규칙 검토 (TTL)
  • 소방 시험

17) 디자인 팁

변경 사항을 작은 확산으로 나눕니다. 하나의 PR이 하나의 목표입니다.
RFC/risk/rolback이있는 필수 PR/커밋 템플릿.
동적 컨피그의 경우 감사 및 롤백과 함께 "구성 센터" 를 사용하십시오.
직교 회로; 이주없이 침입하는 것을 금지합니다.
"설정 맵" 을 시각화하십시오: 누가, 어디서, 누가 통제되는지.

18) 변화 및 사건 관리와의 통합

PR http RFC는 일정 사건/사후 사건을 해제합니다.
릴리스를 설정하기위한 자동 타이 메트릭 (SLO/비즈니스).
오래된 플래그/예외 (TTL) 를 삭제하는 작업을 자동으로 만듭니다.

19) 결론

감사 구성은 "종이보고" 가 아니라 운영 안정성 메커니즘입니다. 구성은 데이터, 변경 사항 제어 및 검증 가능, 비밀이 잠금 및 키에 있으며 전체 스토리는 투명하고 검증 가능합니다. 이것이 안정적이고 호환되며 예측 가능한 플랫폼을 구축하는 방법입니다.

Contact

문의하기

질문이나 지원이 필요하시면 언제든지 연락하십시오.우리는 항상 도울 준비가 되어 있습니다!

Telegram
@Gamble_GC
통합 시작

Email — 필수. Telegram 또는 WhatsApp — 선택 사항.

이름 선택 사항
Email 선택 사항
제목 선택 사항
메시지 선택 사항
Telegram 선택 사항
@
Telegram을 입력하시면 Email과 함께 Telegram에서도 답변드립니다.
WhatsApp 선택 사항
형식: +국가 코드 + 번호 (예: +82XXXXXXXXX).

버튼을 클릭하면 데이터 처리에 동의하는 것으로 간주됩니다.