Key Store
Der Key Store in Semaphore dient zum Speichern von Zugangsdaten für den Zugriff auf entfernte Repositories, den Zugriff auf entfernte Hosts, Sudo-Zugangsdaten und Ansible-Vault-Passwörter.
Typen
1. SSH
SSH-Schlüssel werden für den Zugriff auf entfernte Server sowie auf entfernte Repositories verwendet.
Wenn Sie Hilfe beim schnellen Erzeugen eines Schlüssels und dessen Ablage auf Ihrem Host benötigen, finden Sie hier eine kurze Anleitung.
Bei Git-Repositories mit SSH-Authentifizierung muss dem Git-Repository, aus dem Sie klonen möchten, der zum privaten Schlüssel gehörende öffentliche Schlüssel zugeordnet sein.
Nachfolgend Links zur Dokumentation einiger gängiger Git-Repositories:
2. Anmeldung mit Passwort
Anmeldung mit Passwort ist eine Kombination aus Benutzername und Passwort/Access Token, die für Folgendes verwendet werden kann:
- Authentifizierung bei entfernten Hosts (allerdings weniger sicher als die Verwendung von SSH-Schlüsseln)
- Sudo-Zugangsdaten auf entfernten Hosts
- Authentifizierung bei entfernten Git-Repositories über HTTPS (allerdings ist SSH sicherer)
- Entsperren von Ansible-Vaults
Dieser Secret-Typ kann als Personal Access Token (PAT) oder als Secret-Zeichenkette verwendet werden. Lassen Sie dazu einfach das Feld Login leer.
3. Keine
Dieser Typ dient als Platzhalter für Repositories, die keine Authentifizierung erfordern, wie etwa ein Open-Source-Repository auf GitLab.
Secret-Speicher
Semaphore UI unterstützt verschiedene Speicher für Secrets. Sie können den Speicher pro Secret beim Erstellen oder Bearbeiten eines Secrets auswählen.
Datenbank
Secrets werden standardmäßig verschlüsselt in der Datenbank gespeichert. Der Verschlüsselungsschlüssel wird über die Konfigurationsoption
access_key_encryption oder SEMAPHORE_ACCESS_KEY_ENCRYPTION konfiguriert (muss mit head -c32 /dev/urandom | base64 erzeugt werden).
HashiCorp Vault
Secrets können anstelle der Datenbank in einer externen HashiCorp-Vault-Instanz gespeichert werden.
OpenBao
Secrets können in einer externen OpenBao-Instanz gespeichert werden (ein Open-Source-, API-kompatibler Fork von HashiCorp Vault).
AWS Secrets Manager
Secrets können im AWS Secrets Manager gespeichert werden. Die Authentifizierung erfolgt über eine IAM-Rolle/ein Instanzprofil oder über statische Zugriffsschlüssel.
Devolutions Server
Secrets können anstelle der Datenbank in einer externen Devolutions-Server-Instanz gespeichert werden.
Secrets aus entfernten Speichern synchronisieren
Semaphore kann Secrets automatisch aus einem externen Secret-Manager (HashiCorp Vault, OpenBao, AWS Secrets Manager, Azure Key Vault oder Devolutions Server) importieren und synchron halten. Über Sync-Pfade legen Sie fest, welche Secrets importiert und wie sie benannt werden.