Armazenamento de Chaves
O Armazenamento de Chaves no Semaphore é usado para armazenar credenciais para acessar Repositórios remotos, acessar hosts remotos, credenciais de sudo e senhas do Ansible vault.
Tipos
1. SSH
As chaves SSH são usadas para acessar servidores remotos e também Repositórios remotos.
Se você precisar de ajuda para gerar rapidamente uma chave e colocá-la no seu host, aqui está um guia rápido.
Para Repositórios Git que usam autenticação SSH, o Repositório Git a partir do qual você está tentando clonar precisa ter sua chave pública associada à chave privada.
Abaixo estão links para a documentação de alguns Repositórios Git comuns:
2. Login com Senha
Login com Senha é uma combinação de nome de usuário e senha/token de acesso que pode ser usada para:
- Autenticar em hosts remotos (embora isso seja menos seguro do que usar chaves SSH)
- Credenciais de sudo em hosts remotos
- Autenticar em Repositórios Git remotos via HTTPS (embora SSH seja mais seguro)
- Desbloquear Ansible vaults
Esse tipo de segredo pode ser usado como Personal Access Token (PAT) ou string secreta. Basta deixar o campo Login vazio.
3. Nenhum
Isso é usado como preenchimento para Repositórios que não exigem autenticação, como um Repositório de código aberto no GitLab.
Armazenamentos de Segredos
O Semaphore UI oferece suporte a diferentes armazenamentos para segredos. Você pode escolher o armazenamento por segredo ao criar ou editar um segredo.
Banco de dados
Por padrão, os segredos são armazenados no banco de dados de forma criptografada. A chave de criptografia é configurada por meio da opção de configuração
access_key_encryption ou SEMAPHORE_ACCESS_KEY_ENCRYPTION (deve ser gerada usando head -c32 /dev/urandom | base64).
HashiCorp Vault
Os segredos podem ser armazenados em uma instância externa do HashiCorp Vault em vez do banco de dados.
OpenBao
Os segredos podem ser armazenados em uma instância externa do OpenBao (um fork de código aberto e compatível com a API do HashiCorp Vault).
AWS Secrets Manager
Os segredos podem ser armazenados no AWS Secrets Manager. Autentique-se com uma role/perfil de instância do IAM ou com chaves de acesso estáticas.
Devolutions Server
Os segredos podem ser armazenados em uma instância externa do Devolutions Server em vez do banco de dados.
Sincronizando segredos de armazenamentos remotos
O Semaphore pode importar automaticamente segredos de um gerenciador de segredos externo (HashiCorp Vault, OpenBao, AWS Secrets Manager, Azure Key Vault ou Devolutions Server) e mantê-los sincronizados. Os caminhos de sincronização permitem escolher quais segredos importar e como nomeá-los.