Este tutorial fornece uma introdução à assinatura de código com o Azure DevOps, usando um certificado armazenado no Azure Key Vault. Para seguir essas instruções, você precisará de:
- An Conta Azure
- A Projeto DevOps
- A Cofre de Chaves
- A certificado de assinatura de código instalado em seu Key Vault. Você também pode:
Acesse este artigo para obter um guia sobre como integrar o eSigner ao Azure DevOps: Guia de Integração do Azure DevOps Cloud Signing.
Registrar um aplicativo do Azure
Primeiro, você precisará registrar um novo aplicativo do Azure para que possa se conectar ao Key Vault para assinatura.
- Faça login no Portal do Azure.
- Acessar Azure Active Directory. (Clique Mais serviços se o ícone do Azure Active Directory não estiver visível.)
- Clique Registros de aplicativos, na coluna da esquerda.
- Clique Novo registro.
- Dê ao seu aplicativo um Nome E clique no Inscrições botão. Deixe as outras configurações com seus valores padrão.
- Seu novo aplicativo foi registrado. Copie e salve o valor mostrado para ID do aplicativo (cliente), porque você precisará dele mais tarde.
Crie um segredo do cliente
Em seguida, gere um segredo de cliente, que servirá como uma credencial ao assinar.
- Clique Certificados e segredos no menu à esquerda.
- Clique Novo segredo do cliente.
- Dê um segredo ao seu cliente Descrição, defina a validade conforme desejado e clique no Adicionar botão.
- Copie o Valor do seu novo segredo de cliente imediatamente e guarde-o em um local seguro. Na próxima vez que a página for atualizada, este valor será mascarado e irrecuperável.
Permitir acesso no Key Vault
Agora, você precisará habilitar o acesso para seu aplicativo no Azure Key Vault.
- Navegue até o Key Vault que contém o certificado que deseja usar para assinar e clique no botão Políticas de acesso link.
- Clique Adicionar política de acesso.
- Debaixo Permissões-chave, habilitar
Verify
,Sign
,Get
eList
.
- Debaixo Permissões secretas, habilitar
Get
eList
.
- Debaixo Permissões de certificado, habilitar
Get
eList
.
- Clique na Nenhum selecionado link, sob Selecione o principale, em seguida, use o campo de pesquisa para localizar e selecionar o aplicativo criado na seção anterior.
- Clique na Selecionar botão.
- Clique na Adicionar botão.
- Clique Economize.
- Sua política de acesso está definida.
Configurar DevOps Build
Agora você pode configurar sua construção. Abra seu projeto no Azure DevOps.
Armazenar credenciais de aplicativos como variáveis
Você pode incluir o ID do aplicativo e a chave secreta do cliente diretamente no arquivo de pipeline YAML, mas é mais seguro se armazená-los como variáveis no DevOps.
- Clique Pipelines.
- Clique Biblioteca.
- Clique + Grupo de variáveis.
- Dê um nome ao seu grupo de variáveis.
- Clique Adicionar.
- Insira um nome de variável para o ID do seu aplicativo e cole o valor. Clique no cadeado para criptografar a variável quando terminar.
- Repita o processo para adicionar uma variável ao segredo do seu cliente.
- Clique Economize.
- Vincule o grupo de variáveis em seu pipeline. (substitua VARIABLE-GROUP pelo nome do seu grupo de variáveis real.)
variáveis: - grupo: 'VARIABLE-GROUP'
Adicionar etapa de pipeline para instalar a ferramenta de assinatura do Azure
Ferramenta de assinatura do Azure é um utilitário de código aberto que oferece Ferramenta de sinalização funcionalidade para certificados e chaves armazenados no Azure Key Vault. Adicione a seguinte etapa em seu pipeline para instalar a Azure Sign Tool:
- tarefa: DotNetCoreCLI @ 2 entradas: comando: 'custom' custom: 'ferramenta' argumentos: 'install --global azuresigntool' displayName: Instalar AzureSignTool
Adicionar comando da ferramenta de assinatura do Azure ao pipeline
- Agora você pode adicionar uma tarefa para assinar seu código no pipeline. Você precisará das seguintes informações:
- Adicione a chamada da Ferramenta de Assinatura do Azure ao seu pipeline. Substitua os valores mostrados em MAIÚSCULAS pelos seus valores reais:
- tarefa: CmdLine @ 2 entradas: script: AzureSignTool sign -kvu "KEY-VAULT-URI" -kvi "$ (APPLICATION-ID-VAR)" -kvs "$ (CLIENT-SECRET-VAR)" -kvc CERTIFICADO-NOME -tr "http://ts.ssl.com" -td sha256 "FILE-TO-SIGN" displayName: Código de assinatura
- Você deve ver uma saída como esta se a assinatura for bem-sucedida:
info: AzureSignTool.Program [0] => Arquivo: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Arquivo de assinatura D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe info: AzureSignTool. Programa [0] => Arquivo: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe Assinatura concluída com êxito para o arquivo D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe.