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 . 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
-
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. - Se você tiver um endereço de email sem resposta definido em Management Console, 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.
- Use o tipo de chave padrão e pelo menos
-
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. ```bash{:copy} 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
-
Habilite a assinatura de commit da Web.
Shell ghe-config app.github.web-commit-signing-enabled true
-
Aplique a configuração e aguarde a conclusão da execução da configuração.
Shell ghe-config-apply
-
Crie um novo usuário em 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
- O nome de usuário precisa ser
-
Copie a chave PGP, começando com
-----BEGIN PGP PUBLIC KEY BLOCK-----
e terminando com-----END PGP PUBLIC KEY BLOCK-----
. -
Entre em GitHub Enterprise Server como o usuário criado para assinatura de confirmação da Web, por exemplo,
web-flow
. -
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.
-
Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.
1. Na barra lateral à esquerda, clique em Management Console .
-
Na parte superior da página, clique em Configurações.
-
Na barra lateral esquerda, clique em Email.
-
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 . Para obter mais informações, confira "Como configurar o email para notificações".
Observação: se você salvar as configurações no Management Console, isso reiniciará os serviços do sistema, o que poderá resultar em tempo de inatividade visível pelo usuário.
-
Aguarde a conclusão da execução de suas configurações.
Girar a chave privada usada para assinatura de commit da Web
-
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 o endereço de email sem resposta definido em Management Console, que deve ser igual ao endereço de email do usuário
web-flow
.
- Use o tipo de chave padrão e pelo menos
-
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. ```bash{:copy} 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
-
Copie a chave PGP, começando com
-----BEGIN PGP PUBLIC KEY BLOCK-----
e terminando com-----END PGP PUBLIC KEY BLOCK-----
. -
Entre em GitHub Enterprise Server como o usuário criado para assinatura de confirmação da Web, por exemplo,
web-flow
. -
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 .
-
No shell administrativo, execute o comando a seguir.
Shell ghe-config app.github.web-commit-signing-enabled false
-
Aplicar a configuração.
Shell ghe-config-apply