PDP (2) 썸네일형 리스트형 [Zero Trust - Policy Engine] OPA와 Cedar: 두 정책 언어가 같은 문제를 다르게 정의한 이유 외부 감사가 시작됐다. 감사팀은 간단한 질문을 던졌다."현재 프로덕션 데이터베이스에 접근 가능한 사람 전체 목록을 주세요." 담당 엔지니어는 그 질문에 즉시 답할 수 없었다. 프로덕션 DB 접근 권한은 세 가지 경로로 나뉘어 있었다.첫째는 사용자 서비스의 JWT 클레임에서 db_admin 역할을 확인하는 로직둘째는 내부 배포 도구가 LDAP 그룹 멤버십을 직접 조회하는 방식셋째는 데이터 분석 플랫폼이 자체 권한 테이블을 관리하는 구조세 군데를 각각 쿼리하고, 중복을 걸러내고, 이미 퇴사한 계정이 혹시 남아있지는 않은지 수동으로 확인하는 데 이틀이 걸렸다.문제는 감사팀이 다음 질문을 이어서 던진다는 것이다."이 중에서 지난 90일간 실제로 접근한 사람은 몇 명이고, 접근 권한이 있지만 한 번도 쓰지 않은 .. [Zero Trust - Policy Engine] PDP · PEP · PAP · PIP: 접근 결정의 분리 새벽 2시, 보안팀의 슬랙 채널에 경보가 울렸다. 시니어 엔지니어 계정의 자격증명이 피싱 공격으로 탈취됐다는 신고가 들어왔다. 해당 계정은 프로덕션 DB, 내부 API, CI/CD 파이프라인, 로그 시스템에 접근 권한이 있었다. 대응팀이 해야 할 일은 단순했다. 해당 계정의 접근을 지금 당장 막는 것. 하지만 생각만큼 단순하지 않았다. 그 회사의 접근 제어 로직은 각 서비스에 분산되어 있었다. API 서버는 JWT 클레임을 파싱해서 if claims["role"] == "engineer" 조건을 검사했다. 내부 대시보드는 LDAP 그룹 멤버십을 직접 조회했다. CI/CD 시스템은 자체 권한 테이블을 가지고 있었다. 로그 집계 서비스는 IP 기반 allowlist를 쓰고 있었다. 공통 정책 레이어 같은 것.. 이전 1 다음