
GitHub Actions와 AWS 역할 체이닝을 활용해 최소 권한 원칙을 완벽히 구현한 RPP 아키텍처 대공개
이 아티클은 핀터레스트가 대규모 인프라 변경을 안전하게 처리하기 위해 자체 개발한 테라폼 실행 엔진 RPP(Resource Provisioner Pipeline)의 구조를 다룹니다. OIDC 연동을 통한 이중 제어 및 역할 분할 기법을 활용하여 각 팀에 필요한 최소한의 권한만 부여하는 방법을 제시합니다. 다중 리포지토리 환경에서 단일 진실 원천(Single Source of Truth)을 통해 보안성과 일관성을 확보한 아키텍처 설계를 엿볼 수 있습니다.
다중 리포지토리 환경에서 깃허브 워크플로우 기반으로 테라폼을 운영하며 더 강력한 보안 가드레일과 최소 권한 제어를 도입하려는 인프라 보안 및 DevOps 엔지니어에게 적극 추천합니다.
분산된 다중 리포지토리 아키텍처 환경에서 대규모로 IaC(Infrastructure as Code)를 관리할 때, 광범위한 CI/CD 권한 부여로 인한 보안 취약성과 일관성 없는 제어 등의 관리적 한계가 존재했습니다.
깃허브 OIDC 기반의 안전한 역할 체이닝(Role-Chaining), 중앙 집중식 GitHub Actions 실행 모델, 그리고 작업 공간 경로와 역할을 엄격히 매핑하는 자체 테라폼 실행 엔진인 RPP(Resource Provisioner Pipeline)를 구축했습니다.
수만 개의 클라우드 리소스를 관리하는 수백 개의 테라폼 워크스페이스에 대한 보안 가드레일을 구축하였으며, 전사적 감사 일원화, 즉각적인 취약점 패치 및 Semgrep 기반의 사전 취약점 검정을 실현했습니다.
Trade-off
마이그레이션 과도기에서 기존 레거시 다중 리포지토리 구조를 지원하기 위해 중앙 소스 파일의 매핑 정보를 지속적으로 유지보수해야 하는 관리적 오버헤드가 존재합니다.
하나의 IAM 역할이 다른 IAM 역할을 위임받아 단계적으로 권한을 축소해 나가는 보안 기법입니다. 이를 통해 초기 광범위한 권한을 가진 주체가 최종 검증을 거쳐 특정 작업에 필요한 최소한의 권한만 가진 임시 역할을 획득하게 됩니다.
외부 아이덴티티 제공자(IdP)와 클라우드 공급자 간에 정적 자격 증명(Access Key) 없이 안전하게 인증 정보를 교환하는 표준 프로토콜입니다. 자격 증명 유출 리스크를 완전히 제거할 수 있어 현대적인 CI/CD 환경에서 널리 쓰입니다.
민감한 인프라 변경이나 코드 승인 시 최소 두 명 이상의 검토자가 참여하여 실수를 방지하고 악의적인 행위를 차단하는 프로세스입니다.




