Key Store
Il Key Store di Semaphore viene utilizzato per archiviare le credenziali per l'accesso ai repository remoti, l'accesso agli host remoti, le credenziali sudo e le password di Ansible Vault.
Tipi
1. SSH
Le chiavi SSH vengono utilizzate per accedere ai server remoti e ai repository remoti.
Se serve aiuto per generare rapidamente una chiave e installarla sull'host, qui è disponibile una guida rapida.
Per i repository Git che utilizzano l'autenticazione SSH, il repository Git da cui si desidera clonare deve avere la chiave pubblica associata alla chiave privata.
Di seguito i collegamenti alla documentazione di alcuni repository Git comuni:
2. Accesso con password
L'accesso con password è una combinazione di nome utente e password/token di accesso che può essere utilizzata per:
- Autenticarsi sugli host remoti (sebbene sia meno sicuro rispetto alle chiavi SSH)
- Credenziali sudo sugli host remoti
- Autenticarsi sui repository Git remoti tramite HTTPS (sebbene SSH sia più sicuro)
- Sbloccare gli Ansible Vault
Questo tipo di segreto può essere utilizzato come Personal Access Token (PAT) o come stringa segreta. È sufficiente lasciare vuoto il campo Login.
3. Nessuna
Viene utilizzata come segnaposto per i repository che non richiedono autenticazione, come un repository open source su GitLab.
Archivi di segreti
Semaphore UI supporta diversi archivi per i segreti. È possibile scegliere l'archivio per ogni singolo segreto durante la creazione o la modifica.
Database
Per impostazione predefinita, i segreti vengono archiviati nel database in forma cifrata. La chiave di cifratura viene configurata tramite l'opzione di configurazione
access_key_encryption o SEMAPHORE_ACCESS_KEY_ENCRYPTION (deve essere generata con head -c32 /dev/urandom | base64).
HashiCorp Vault
I segreti possono essere archiviati in un'istanza esterna di HashiCorp Vault anziché nel database.
OpenBao
I segreti possono essere archiviati in un'istanza esterna di OpenBao (un fork open source di HashiCorp Vault, compatibile a livello di API).
AWS Secrets Manager
I segreti possono essere archiviati in AWS Secrets Manager. L'autenticazione avviene tramite ruolo IAM/profilo dell'istanza oppure chiavi di accesso statiche.
Devolutions Server
I segreti possono essere archiviati in un'istanza esterna di Devolutions Server anziché nel database.
Sincronizzazione dei segreti da archivi remoti
Semaphore può importare automaticamente i segreti da un gestore di segreti esterno (HashiCorp Vault, OpenBao, AWS Secrets Manager, Azure Key Vault o Devolutions Server) e mantenerli sincronizzati. I percorsi di sincronizzazione consentono di scegliere quali segreti importare e come denominarli.