Archivio di segreti HashiCorp Vault
Semaphore UI supporta HashiCorp Vault come archivio per i segreti.

È possibile specificare le seguenti opzioni:
- URL di HashiCorp Vault — indirizzo del server Vault.
- Mount — il percorso di mount del secrets engine.
- Token — token di autenticazione. Il token può essere:
-
Archiviato nel database.
-
Fornito tramite una variabile d'ambiente.
-
Fornito tramite un file (utile per Vault Agent).
avvertimentoQuando il token proviene da un file, tale file deve trovarsi all'interno della directory dei segreti utilizzata da Semaphore. Configurare questa directory tramite
dirs.secretso la variabile d'ambienteSEMAPHORE_SECRETS_PATH. L'opzione legacy di primo livellosecrets_pathè ancora accettata per le configurazioni meno recenti. Se nessuna di queste è impostata, il valore predefinito è/tmp/semaphore. Consultare Directory dei segreti per i dettagli sulla precedenza.Esempio di frammento di
config.json:{
"dirs": {
"secrets": "/root/path/for/secrets"
}
}
-
L'archivio può funzionare in modalità di sola lettura.
Come utilizzarlo
- Configurare la connessione a HashiCorp Vault nelle impostazioni di Semaphore (URL, percorso di mount e token).
- Durante la creazione o la modifica di una chiave nel Key Store, selezionare HashiCorp Vault come tipo di archivio.
- Fornire il percorso del segreto in Vault in cui la credenziale deve essere archiviata.

HashiCorp Vault Agent
Invece di archiviare direttamente il token di Vault, è possibile utilizzare HashiCorp Vault Agent per gestire automaticamente il recupero e il rinnovo del token.
Vault Agent viene eseguito come processo sidecar accanto a Semaphore e scrive un token valido in un file su disco. Semaphore legge quindi il token da tale file.
Per configurarlo:
-
Configurare ed eseguire Vault Agent con un metodo di auto-auth appropriato (ad es. AppRole, Kubernetes, AWS IAM).
-
Impostare Vault Agent in modo che scriva il token in un file tramite un blocco
sink, ad esempio:auto_auth {
method {
type = "approle"
config = {
role_id_file_path = "/etc/vault/role-id"
secret_id_file_path = "/etc/vault/secret-id"
}
}
sink {
type = "file"
config = {
path = "/etc/vault/token"
}
}
} -
In Semaphore, durante la configurazione della connessione a HashiCorp Vault, selezionare File come sorgente del token e fornire il percorso del file del token (ad es.
/etc/vault/token).
Questo approccio evita token statici a lunga durata e consente a Vault Agent di gestire automaticamente l'autenticazione e il rinnovo del token.
Gruppi di variabili
HashiCorp Vault può essere utilizzato anche come archivio per i Gruppi di variabili. Durante la modifica di un gruppo di variabili, selezionare HashiCorp Vault come tipo di archivio e specificare il percorso della cartella in cui verranno archiviati i segreti.
