피드로 돌아가기
SecretVault: One Interface to Rule All Your Cloud Secrets in .NET 9
Dev.toDev.to
Security

Provider-specific SDK 의존성 제거를 위한 통합 Secret 관리 추상화 계층 설계

SecretVault: One Interface to Rule All Your Cloud Secrets in .NET 9

Naimul Karim2026년 4월 29일7intermediate

Context

멀티 클라우드 환경 내 AWS, Azure, GCP 등 서로 다른 Secret 관리 도구 사용으로 인한 SDK 파편화 발생. 각 제공자별 상이한 에러 처리 방식과 인터페이스로 인해 인프라 변경 시 비즈니스 로직 수정이 불가피한 Vendor Lock-in 구조의 한계 노출.

Technical Solution

  • ISecretManager 인터페이스 정의를 통한 클라우드 제공자 간 API 표준화 및 비즈니스 로직과 인프라 계층 분리
  • CachedSecretManager 데코레이터 패턴 적용으로 API Rate Limit 해결 및 런타임 레이턴시 감소
  • ChainedSecretManager 구조를 통한 우선순위 기반의 Provider 체이닝 및 Local Fallback 메커니즘 구현
  • ISecretRotationManager 인터페이스 확장을 통해 Grace Period를 포함한 Secret Rotation 프로세스 표준화
  • 의존성 최소화를 위해 Core와 Provider별 NuGet 패키지를 분리한 모듈형 아키텍처 설계
  • .NET 9 전용 설계를 통한 Primary Constructors 등 최신 언어 기능 활용 및 런타임 오버헤드 최적화

- 인프라 의존성이 높은 SDK는 직접 사용하지 말고 인터페이스 기반의 Wrapper 계층을 통해 추상화할 것 - 클라우드 API 호출 시 Rate Limit 방지를 위해 유효 기간이 설정된 Caching 레이어를 반드시 검토할 것 - 로컬 개발 환경과 운영 환경의 설정 차이를 해결하기 위해 Chaining 기반의 Fallback 전략을 도입할 것 - 불필요한 SDK 포함을 막기 위해 기능별로 패키지를 세분화하여 배포하는 모듈형 전략을 적용할 것

원문 읽기