Skip to main content

Configurando assinatura do commit da web

Você pode habilitar a assinatura automática de commits criados na interface web de GitHub Enterprise Server.

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

Sobre a assinatura do commit da web

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

Você pode habilitar a assinatura do commit da web, girar a chave privada usada para a assinatura de web commit e desabilitar a assinatura do commit da web.

Habilitando a assinatura de commit da web

  1. In the administrative shell, create a PGP key. Make note of the email address and key ID.

    Shell
    gpg --full-generate-key --pinentry-mode=loopback
    • Use the default key type and at least 4096 bits with no expiry.
    • Use web-flow as the username.
    • Se você tiver um endereço de e-mail sem resposta definido em Console de gerenciamento, use esse endereço de e-mail. Caso contrário, use qualquer endereço de e-mail, como web-flow@my-company.com. O endereço de e-mail não precisa ser válido.
    • The PGP key cannot be protected by a passphrase.
  2. Define the key as a environment variable for GitHub Enterprise Server, replacing <YOUR-KEY-ID> with the GPG key ID.

    Shell
    ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
  3. Update the settings for GitHub Enterprise Server's commit signing service.

    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
  4. Habilitar assinatura do commit da web.

    Shell
    ghe-config app.github.web-commit-signing-enabled true
  5. Aplique a configuração e, em seguida, aguarde até que a configuração seja concluída.

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

    • O nome de usuário do usuário deve ser web-flow.
    • O endereço de e-mail do usuário deve ser o mesmo endereço usado para a chave PGP.
  7. Run the following command, replacing KEY-ID with your PGP key ID.

    Shell
    gpg --armor --export KEY-ID
  8. Copy your PGP key, beginning with -----BEGIN PGP PUBLIC KEY BLOCK----- and ending with -----END PGP PUBLIC KEY BLOCK-----.

  9. Sign into GitHub Enterprise Server as the web-flow user.

  10. Add the public PGP key to the user's profile. For more information, see "Adding a GPG key to your GitHub account."

    Note: Do not remove other public keys from the list of GPG keys. If a public key is deleted, any commits signed with the corresponding private key will no longer be marked as verified.

  11. From an administrative account on GitHub Enterprise Server, in the upper-right corner of any page, click .

    Screenshot of the rocket ship icon for accessing site admin settings

  12. If you're not already on the "Site admin" page, in the upper-left corner, click Site admin.

    Screenshot of "Site admin" link

  13. Na barra lateral esquerda, clique em Console de gerenciamento. Console de gerenciamento aba na barra lateral esquerda

  14. Na parte superior da página, clique em Settings (Configurações). Guia Settings (Configurações)

  15. Na barra lateral esquerda, clique em Email. Guia E-mail

  16. Em "Endereço de e-mail de não responda", digite o mesmo endereço de e-mail que você usou para a chave PGP.

    Observação: O campo "Endereço de e-mail não responda" será exibido somente se você habilitou o e-mail para your GitHub Enterprise Server instance. Para obter mais informações, consulte "Configurar e-mail para notificações.

  17. Na barra lateral esquerda, clique Save settings (Salvar configurações).

    Screenshot of the save settings button in the Console de gerenciamento

    Note: Saving settings in the Console de gerenciamento restarts system services, which could result in user-visible downtime.

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

    Configurar a instância

Girando a chave privada usada para a assinatura do commit web

  1. In the administrative shell, create a PGP key. Make note of the email address and key ID.

    Shell
    gpg --full-generate-key --pinentry-mode=loopback
    • Use the default key type and at least 4096 bits with no expiry.
    • Use web-flow as the username.
    • Use o endereço de e-mail de não responda definido no Console de gerenciamento, que deve ser o mesmo que o endereço de e-mail do usuário de web-flow.
    • The PGP key cannot be protected by a passphrase.
  2. Define the key as a environment variable for GitHub Enterprise Server, replacing <YOUR-KEY-ID> with the GPG key ID.

    Shell
    ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
  3. Update the settings for GitHub Enterprise Server's commit signing service.

    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
  4. Run the following command, replacing KEY-ID with your PGP key ID.

    Shell
    gpg --armor --export KEY-ID
  5. Copy your PGP key, beginning with -----BEGIN PGP PUBLIC KEY BLOCK----- and ending with -----END PGP PUBLIC KEY BLOCK-----.

  6. Sign into GitHub Enterprise Server as the web-flow user.

  7. Add the public PGP key to the user's profile. For more information, see "Adding a GPG key to your GitHub account."

    Note: Do not remove other public keys from the list of GPG keys. If a public key is deleted, any commits signed with the corresponding private key will no longer be marked as verified.

Desabilitar a assinatura do commit da web

Você pode desabilitar a assinatura do commit da web para your GitHub Enterprise Server instance.

  1. No terminal administrativo, execute o seguinte comando.

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

    Shell
    ghe-config-apply