Feature 6: Integración con Cloud Secret Manager

Descripción general

Semaphore actualmente almacena todas las credenciales en su propia base de datos. Las organizaciones que utilizan plataformas en la nube necesitan una forma de obtener secrets directamente del servicio de gestión de secrets de su proveedor de nube en tiempo de ejecución, evitando la duplicación de credenciales y aprovechando las políticas de rotación existentes. Esta funcionalidad añade integraciones nativas con AWS Secrets Manager y Azure Key Vault como capacidades exclusivas de Enterprise.

Motivación

Especificación detallada

Enterprise

6.1 Integración con AWS Secrets Manager

Objetivo: Obtener secrets en tiempo de ejecución desde AWS Secrets Manager, permitiendo a los equipos aprovechar su infraestructura existente de secrets en AWS sin duplicar credenciales en la base de datos de Semaphore.

Requisitos:

{
  "name": "Production AWS",
  "type": "aws_secrets_manager",
  "region": "us-east-1",
  "auth_method": "iam_role",
  "role_arn": "arn:aws:iam::123456789:role/semaphore-secrets",
  "external_id": "optional-external-id"
}
{
  "type": "external",
  "backend": "aws_secrets_manager",
  "secret_name": "production/db_password",
  "field": "password",
  "aws_config_id": 1
}

Issues relacionados: #2248

6.2 Integración con Azure Key Vault

Objetivo: Obtener secrets en tiempo de ejecución desde Azure Key Vault, permitiendo a las organizaciones que utilizan Azure gestionar y rotar credenciales de forma centralizada sin almacenarlas en Semaphore.

Requisitos:

{
  "name": "Production Azure",
  "type": "azure_key_vault",
  "vault_url": "https://my-vault.vault.azure.net",
  "auth_method": "managed_identity",
  "tenant_id": "...",
  "client_id": "..."
}
{
  "type": "external",
  "backend": "azure_key_vault",
  "secret_name": "db-password",
  "version": "latest",
  "azure_config_id": 1
}

Issues relacionados: #2248, #3170

6.3 Referencia externa unificada de secrets

Objetivo: Proporcionar un tipo de entrada de key store común que apunte a un secret en cualquier proveedor de nube compatible.

Requisitos:

6.4 Caché de secrets

Objetivo: Reducir las llamadas a la API de los proveedores de nube mediante el almacenamiento en caché de los secrets resueltos en memoria.

Requisitos:

Cambios en el esquema de base de datos

Nuevas tablas:

Tablas modificadas:

API Endpoints

Configuración

Nuevas opciones de configuración:

Key Env Var Default Descripción
secret_cache_ttl SEMAPHORE_SECRET_CACHE_TTL 5m TTL predeterminado de la caché en memoria para secrets externos resueltos
secret_resolve_timeout SEMAPHORE_SECRET_RESOLVE_TIMEOUT 10s Tiempo máximo de espera para una respuesta de la API del proveedor de nube al resolver un secret

You might also like