O Azure Pipelines automatiza a construção e teste de projetos de desenvolvimento de software, tornando-os prontamente disponíveis para outros usuários. Assim, temos uma ferramenta versátil, funcionando com praticamente qualquer linguagem ou tipo de projeto.
Ao combinar a integração contínua (CI) e a entrega contínua (CD), o Azure Pipelines realiza testes e construções de forma constante e consistente, permitindo o envio do código para qualquer destino desejado, o que , com a integração do dsm-cli
no Azure DevOps, torna possível a injeção de secrets em tempo real durante a execução de um pipeline, eliminando a necessidade de expor informações sensíveis e eliminando as preocupações com a rotação de secrets.
Adicionalmente, essa integração intercepta todas as variáveis do pipeline, possibilitando aos administradores identificar informações sensíveis não gerenciadas pelo Segura DSM. Além disso, registra todos os secrets como variáveis de ambiente de maneira transparente para os desenvolvedores. Essa abordagem visa fortalecer a segurança e facilitar o gerenciamento de secrets em todo o ciclo de vida do desenvolvimento.
Na imagem abaixo, temos um diagrama do funcionamento da integração entre o Segura DSM e o Azure DevOps.
Integrar o DSM ao Azure DevOps usando dsm-cli
- Por padrão, a Azure DevOps não permite o uso de variáveis em todas as etapas do pipeline. Para que outras etapas deste pipeline tenham acesso às secrets, deve defini-las como variáveis de ambiente.
- Caso não possua os arquivos
dsm-cli
esenhasegura-mapping.json
, solicite-os ao time de suporte do Segura. - Certifique-se de selecionar OAuth 2.0 como o método de autenticação no Segura DSM, pois o
dsm-cli
o usa para buscar informações.
- Acesse um projeto em sua conta do Azure DevOps.
- Adicione o executável, o arquivo de configuração e o arquivo
senahsegura-mapping.json
(se necessário) ao repositório do projeto. - Edite seu arquivo
azure-pipelines.yml
localizado na pasta do projeto. - Inclua o código necessário para executar o
dsm-cli
no ponto desejado em seu pipeline. - Vá para as configurações de variáveis do pipeline.
- Registre as variáveis necessárias para executar o
dsm-cli
. - Execute o pipeline no Azure DevOps para concluir o processo.
Exemplo de um arquivo azure-pipelines.yaml
usando DSM CLI:
# This file is an example to demonstrate the usage of DSM CLI inside a Azure DevOps pipeline
# Make sure to upload the executable and the configuration files to your project
# For more information on its usage, please visit https://docs.Segura.io/
trigger:
- main
pool:
default
steps:
- script: |
dsm runb \
--app-name $APPLICATION \
--system $SYSTEM \
--environment $ENVIRONMENT \
--config .config.yml \
--tool-name azure-devops \
rm .runb.vars
displayName: 'DSM CLI Running Belt execution'
env:
APPLICATION: $(APPLICATION)
SYSTEM: $(SYSTEM)
ENVIRONMENT: $(ENVIRONMENT)
Como usar o DSM CLI para injetar secrets em pipelines no Azure DevOps
Após configurar o DSM CLI no projeto, siga as instruções abaixo:
- Acesse Pipelines > Pipelines para executar o pipeline.
- Selecione o pipeline desejado e clique em Run Pipeline.
- Na etapa subsequente, clique em Run.
- Em seguida, clique sobre o nome do trabalho para visualizar detalhes e resultados da execução.
A saída da execução será parecida com a mostrada abaixo:
Starting: Segurao CLI Running Belt execution
========================================================================
Task : Command 1ine
Description : Run a comand line script using Bash on Linux and macOS and cmd.exe on Windows
Version: : 2.201.1
Author : Microsoft Corporation
Help : https://docs.microsoft.com/azure/devoos/oipelines/tasks/utility/comand-line
========================================================================
Generating script.
============== Starting Command Output ==============
usr/bin/bash --noprofile --norc /home/admin/azure-runner/work/temp/S0e477c1-6798-4F26-ba37-374b0c1bbOSS.sh
Using config file: .config.yml
Registering Application on DevSecOps
Trying to authenticate on Segura DevSecOps API
Authenticated successfully
Application register success
Posting variables in Segura...
Trying to authenticate on Segura DevSecOps API
Athenticated successfully
Posting variables successfully
Finding secrets from application
Trying to authenticate on Segura DevSecOps API
Athenticated successfully
Injecting secrets!
No secrets to be injected!
Deleting azure-devops variables...
No variables to be deleted!
Finishing: Segura CLI Running Belt execution
Você ainda tem dúvidas? Entre em contato com a Comunidade Segura.