O Que É um Secret do GitHub Actions?
Um secret é um valor criptografado, como uma API key ou senha, que os workflows podem ler mas que o GitHub mantém fora dos logs.
Pipelines frequentemente precisam de credenciais. Secrets permitem armazenar valores sensíveis no nível de repositório, environment ou organização para que os workflows os usem sem expô-los no código ou nos logs.
O que é
Um secret é um par chave-valor criptografado armazenado nas configurações do GitHub. Os workflows o acessam através do context secrets, e o GitHub mascara automaticamente seu valor nos logs.
steps:
- run: ./deploy.sh
env:
API_KEY: ${{ secrets.API_KEY }}Como funciona
Secrets são criptografados em repouso e injetados apenas nos steps que os referenciam. Se o valor de um secret aparecer na saída do log, o GitHub o substitui por asteriscos.
Escopos
- Secrets de repositório estão disponíveis para os workflows daquele repositório.
- Secrets de organização podem ser compartilhados entre repositórios.
- Secrets de environment ficam protegidos por trás das regras do environment.
Por que isso importa
Secrets mantêm credenciais fora do controle de versão e dos logs de CI. Combiná-los com regras de proteção de environment adiciona portões de aprovação em torno dos valores mais sensíveis.
Conceitos relacionados
Secrets complementam o GITHUB_TOKEN, são frequentemente escopados via environments e muitas vezes podem ser substituídos por OIDC para autenticação na cloud.
Principais conclusões
- Um secret é uma variável criptografada mascarada nos logs.
- Os escopos são repositório, organização e environment.
- Leia-os com
${{ secrets.NAME }}.