Skip to main content

Configurar a assinatura de commit da Web

Você pode habilitar a assinatura automática de commits feitos na interface da Web do GitHub Enterprise Server.

Who can use this feature

Site administrators can configure web commit signing for your GitHub Enterprise Server instance.

Sobre a assinatura de commit da Web

Se você ativar a assinatura de commit da Web, GitHub Enterprise Server usará automaticamente o GPG para assinar as commits que os usuários fizerem na interface da Web de your GitHub Enterprise Server instance. Os commits assinados por GitHub Enterprise Server terão um status verificado. Para obter mais informações, confira "Sobre a verificação de assinatura de commit".

Você pode habilitar a assinatura de commit da Web, alternar a chave privada usada para a assinatura de commit da Web e desabilitar a assinatura de commit da Web.

Habilitar a assinatura de commit da Web

  1. No shell administrativo, crie uma chave PGP. Anote o endereço de email e a ID da chave.

    Shell
    gpg --full-generate-key --pinentry-mode=loopback
    • Use o tipo de chave padrão e pelo menos 4096 bits sem expiração.

    • Use web-flow como o nome de usuário.

    • Se você tiver um endereço de email sem resposta definido em Console de Gerenciamento, use esse endereço de email. Caso contrário, use qualquer endereço de email, como web-flow@my-company.com. O endereço de email não precisa ser válido.

    • A chave PGP não pode ser protegida por uma frase secreta. 1. Defina a chave como uma variável de ambiente para GitHub Enterprise Server, substituindo <YOUR-KEY-ID> pela ID da chave GPG.

      Shell
      ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
      ``` 1. Atualize as configurações para o serviço de assinatura de commit de GitHub Enterprise Server.
    Shell
    sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl
     
    nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl
  2. Habilite a assinatura de commit da Web.

    Shell
    ghe-config app.github.web-commit-signing-enabled true
  3. Aplique a configuração e aguarde a conclusão da execução da configuração.

    Shell
    ghe-config-apply
  4. Crie um novo usuário em your GitHub Enterprise Server instance por meio de autenticação integrada ou autenticação externa. Para obter mais informações, confira "Sobre a autenticação para sua empresa".

    • O nome de usuário precisa ser web-flow.
    • O endereço de email do usuário deve ser o mesmo endereço que você usou para a chave PGP. 1. Execute o comando a seguir, substituindo KEY-ID por sua ID de chave PGP.
    Shell
    gpg --armor --export KEY-ID
  5. Copie a chave PGP, começando com -----BEGIN PGP PUBLIC KEY BLOCK----- e terminando com -----END PGP PUBLIC KEY BLOCK-----.

  6. Efetue o login em GitHub Enterprise Server como o usuário web-flow.

  7. Adicione a chave PGP pública ao perfil do usuário. Para saber mais, confira "Como adicionar uma chave GPG a uma conta do GitHub".

    Observação: não remova outras chaves públicas da lista de chaves GPG. Se uma chave pública for excluída, todas as confirmações assinadas com a chave privada correspondente não serão mais marcadas como verificadas.

    1. Em uma conta administrativa no GitHub Enterprise Server, no canto superior direito de qualquer página, clique em .

    Captura de tela do ícone de foguete para acesso às configurações de administração do site

  8. Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.

    Captura de tela do link "Administração do site" 1. Na barra lateral à esquerda, clique em Console de Gerenciamento . Guia Console de Gerenciamento na barra lateral esquerda

  9. Na parte superior da página, clique em Configurações. Guia Configurações

  10. Na barra lateral esquerda, clique em Email. Guia Email

  11. Em "Endereço de email sem resposta", digite o mesmo endereço de email usado para a chave PGP.

    Observação: O campo "Endereço de email sem resposta" só será exibido se você tiver ativado o email para your GitHub Enterprise Server instance. Para obter mais informações, confira "Como configurar o email para notificações".

    1. Na barra lateral esquerda, clique em **Salvar configurações**.

    Captura de tela do botão Salvar configurações no Console de Gerenciamento

    Observação: se você salvar as configurações no Console de Gerenciamento, isso reiniciará os serviços do sistema, o que poderá resultar em tempo de inatividade visível pelo usuário.

  12. Aguarde a conclusão da execução de suas configurações.

    Configurar a instância

Girar a chave privada usada para assinatura de commit da Web

  1. No shell administrativo, crie uma chave PGP. Anote o endereço de email e a ID da chave.

    Shell
    gpg --full-generate-key --pinentry-mode=loopback
    • Use o tipo de chave padrão e pelo menos 4096 bits sem expiração.

    • Use web-flow como o nome de usuário.

    • Use o endereço de email sem resposta definido em Console de Gerenciamento, que deve ser igual ao endereço de email do usuário web-flow.

    • A chave PGP não pode ser protegida por uma frase secreta. 1. Defina a chave como uma variável de ambiente para GitHub Enterprise Server, substituindo <YOUR-KEY-ID> pela ID da chave GPG.

      Shell
      ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
      ``` 1. Atualize as configurações para o serviço de assinatura de commit de GitHub Enterprise Server.
    Shell
    sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl
     
    nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl
    ``` 1. Execute o comando a seguir, substituindo KEY-ID por sua ID de chave PGP.
    
    ```bash{:copy}
    gpg --armor --export KEY-ID
  2. Copie a chave PGP, começando com -----BEGIN PGP PUBLIC KEY BLOCK----- e terminando com -----END PGP PUBLIC KEY BLOCK-----.

  3. Efetue o login em GitHub Enterprise Server como o usuário web-flow.

  4. Adicione a chave PGP pública ao perfil do usuário. Para saber mais, confira "Como adicionar uma chave GPG a uma conta do GitHub".

    Observação: não remova outras chaves públicas da lista de chaves GPG. Se uma chave pública for excluída, todas as confirmações assinadas com a chave privada correspondente não serão mais marcadas como verificadas.

Desabilitar a assinatura de commit da Web

Você pode desabilitar a assinatura de commit da Web para your GitHub Enterprise Server instance.

  1. No shell administrativo, execute o comando a seguir.

    Shell
    ghe-config app.github.web-commit-signing-enabled false
  2. Aplicar a configuração.

    Shell
    ghe-config-apply