Se você habilitar a assinatura de commit da Web, o Enterprise Server usará automaticamente o GPG para assinar os commits que os usuários fizerem na interface da Web do sua instância do Enterprise Server. Os commits assinados pelo Enterprise Server terão um status verificado. Para saber mais, 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.
A verificação de assinatura de commit persistente está relacionada, mas é separada, da assinatura de commit da Web. Esse recurso garante que o status verificado dos commits seja mantido, mesmo se as chaves de assinatura forem alteradas ou revogadas.
A verificação de assinatura de commit persistente ajuda a manter a integridade de longo prazo e a confiança no histórico de commit do repositório. No entanto, você pode optar por desabilitá-la em ambientes em que minimizar o uso de disco é uma prioridade, especialmente para instalações grandes com um número alto de commits verificados.
Para obter informações sobre como desabilitar a verificação de assinatura de commit persistente, consulte Desabilitando a verificação de commit persistente.
No shell administrativo, crie uma chave PGP. Anote o endereço de email e a ID da chave.
Bash gpg --full-generate-key --pinentry-mode=loopback
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 oweb-flow
não estiver disponível ou não puder ser utilizado, use qualquer novo nome de usuário exclusivo. Use esse nome de usuário nas etapas a seguir deste artigo. - 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
[email protected]
. O endereço de email não precisa ser válido. - A chave PGP não pode ser protegida por uma frase secreta.
- Use o tipo de chave padrão e pelo menos
Defina a chave como uma variável de ambiente para o Enterprise Server, substituindo
<YOUR-KEY-ID>
pela ID da chave GPG.Bash ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
Atualize as configurações do serviço de assinatura de commit do .
Bash sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl sudo nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl
sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl sudo nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl
Habilite a assinatura de commit da Web.
Bash ghe-config app..web-commit-signing-enabled true
ghe-config app..web-commit-signing-enabled true
Crie um usuário no sua instância do Enterprise Server por meio da autenticação integrada ou da autenticação externa. Para saber mais, confira Sobre o gerenciamento de identidades e acesso.
- O nome de usuário do usuário precisa ser o mesmo usado quando a chave PGP foi criada na etapa 1 acima, por exemplo,
web-flow
. - O endereço de email do usuário precisa ser o mesmo endereço que você usou ao criar a chave PGP.
- O nome de usuário do usuário precisa ser o mesmo usado quando a chave PGP foi criada na etapa 1 acima, por exemplo,
Execute o comando a seguir, substituindo KEY-ID por sua ID de chave PGP.
Bash gpg --armor --export KEY-ID
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 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 .
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.
Em uma conta administrativa no Enterprise Server, no canto superior direito de qualquer página, clique em .
Se você ainda não estiver na página "Administração do site", no canto superior esquerdo, clique em Administração do site.
Na barra lateral " Administrador do site", clique em Console de Gerenciamento .
Na barra lateral Configurações, clique em Email.
Em "Endereço de email sem resposta", digite o mesmo endereço de email usado ao criar a chave PGP.
Observação
O campo “No-reply email address” só será exibido se você tiver habilitado o email no sua instância do Enterprise Server. Para saber mais, confira Configurar notificações de e-mail.
Na barra lateral "Configurações", clique em Salvar configurações.
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.
Aguarde a conclusão da execução de suas configurações.
No shell administrativo, crie uma chave PGP. Anote o endereço de email e a ID da chave.
Bash gpg --full-generate-key --pinentry-mode=loopback
gpg --full-generate-key --pinentry-mode=loopback
- Use o tipo de chave padrão e pelo menos
4096
bits sem expiração. - Use o nome de usuário do usuário de assinatura de commit da Web, por exemplo,
web-flow
. - Use o endereço de email sem resposta definido no Console de Gerenciamento, que deve ser igual ao endereço de email do usuário de assinatura de commit da Web, por exemplo,
web-flow
. - A chave PGP não pode ser protegida por uma frase secreta.
- Use o tipo de chave padrão e pelo menos
Defina a chave como uma variável de ambiente para o Enterprise Server, substituindo
<YOUR-KEY-ID>
pela ID da chave GPG.Bash ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
ghe-config "secrets.gpgverify.web-signing-key" "$(gpg --export-secret-keys -a <YOUR-KEY-ID> | awk '{printf "%s\\n", $0}')"
Atualize as configurações do serviço de assinatura de commit do .
Bash sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl sudo nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl
sudo consul-template -once -template /etc/consul-templates/etc/nomad-jobs/gpgverify/gpgverify.hcl.ctmpl:/etc/nomad-jobs/gpgverify/gpgverify.hcl sudo nomad job run /etc/nomad-jobs/gpgverify/gpgverify.hcl
Execute o comando a seguir, substituindo KEY-ID por sua ID de chave PGP.
Bash gpg --armor --export KEY-ID
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 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 .
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.
Você pode desabilitar a assinatura de commit da Web no sua instância do Enterprise Server.
No shell administrativo, execute o comando a seguir.
Bash ghe-config app..web-commit-signing-enabled false
ghe-config app..web-commit-signing-enabled false
Aplicar a configuração.
Bash ghe-config-apply
ghe-config-apply