Design: Secrets Management System for Microservices
Design covers secret storage, retrieval, rotation, access control, and audit logging. Out of scope are microservice application logic and network infrastructure setup.
Functional Requirements
FR1: Securely store and manage secrets such as API keys, database credentials, and certificates.
FR2: Allow microservices to retrieve secrets dynamically at runtime.
FR3: Support secret rotation without downtime.
FR4: Provide audit logs for secret access and changes.
FR5: Ensure least privilege access control for secrets.
FR6: Integrate with existing microservices architecture.
Non-Functional Requirements
NFR1: Handle up to 10,000 microservice instances accessing secrets concurrently.
NFR2: API response latency for secret retrieval should be under 100ms p99.
NFR3: System availability must be at least 99.9% uptime.
NFR4: Secrets must be encrypted at rest and in transit.
NFR5: Support multi-region deployment for disaster recovery.