Feature 6: Integration mit Cloud Secret Manager

Übersicht

Semaphore speichert derzeit alle Anmeldedaten in seiner eigenen Datenbank. Organisationen, die Cloud-Plattformen nutzen, benötigen eine Möglichkeit, Secrets zur Laufzeit direkt aus dem Secret-Management-Dienst ihres Cloud-Anbieters abzurufen, um die Duplizierung von Anmeldedaten zu vermeiden und bestehende Rotationsrichtlinien zu nutzen. Diese Funktion fügt native Integrationen mit AWS Secrets Manager und Azure Key Vault als ausschließliche Enterprise-Funktionalitäten hinzu.

Motivation

Detaillierte Spezifikation

Enterprise

6.1 AWS Secrets Manager Integration

Ziel: Secrets zur Laufzeit aus AWS Secrets Manager abrufen, damit Teams ihre bestehende AWS-Secrets-Infrastruktur nutzen können, ohne Anmeldedaten in der Semaphore-Datenbank zu duplizieren.

Anforderungen:

{
  "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
}

Verwandte Issues: #2248

6.2 Azure Key Vault Integration

Ziel: Secrets zur Laufzeit aus Azure Key Vault abrufen, damit Organisationen, die Azure nutzen, Anmeldedaten zentral verwalten und rotieren können, ohne sie in Semaphore zu speichern.

Anforderungen:

{
  "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
}

Verwandte Issues: #2248, #3170

6.3 Einheitliche externe Secret-Referenz

Ziel: Einen gemeinsamen Key-Store-Eintragstyp bereitstellen, der auf ein Secret bei einem beliebigen unterstützten Cloud-Anbieter verweist.

Anforderungen:

6.4 Secret-Caching

Ziel: API-Aufrufe an Cloud-Anbieter durch Zwischenspeicherung aufgelöster Secrets im Speicher reduzieren.

Anforderungen:

Datenbankschema-Änderungen

Neue Tabellen:

Geänderte Tabellen:

API Endpoints

Konfiguration

Neue Konfigurationsoptionen:

Key Env Var Default Beschreibung
secret_cache_ttl SEMAPHORE_SECRET_CACHE_TTL 5m Standard-In-Memory-Cache-TTL für aufgelöste externe Secrets
secret_resolve_timeout SEMAPHORE_SECRET_RESOLVE_TIMEOUT 10s Maximale Wartezeit auf eine API-Antwort des Cloud-Anbieters beim Auflösen eines Secrets

You might also like