Skip to content
Latchkey

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.

Reading a secret
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 }}.

Guias relacionados