No Segura DSM, a integração com pipelines de CI/CD é realizada por meio da aplicação dsm-cli
. Esta ferramenta captura todas as variáveis de ambiente em execução durante uma compilação ou implantação específica, proporcionando uma descoberta de variáveis sensíveis e, de maneira dinâmica, injetando secrets provenientes de um cofre seguro diretamente nas variáveis de ambiente. Essa abordagem dinâmica contribui para um gerenciamento seguro e eficiente dos secrets em ambientes de desenvolvimento e produção.
Na imagem abaixo, temos um diagrama do funcionamento da integração entre o Segura DSM CLI e o GitLab CI/CD:
Requisitos
- Um usuário com acesso ao GitLab com permissão para adição e edição de arquivos do projeto.
- que o servidor onde está o GitLab tenha acesso ao Segura.
- Arquivos runb e Segura-mapping.json devidamente configurados.
- A máquina onde o plugin estiver rodando precisa ter os seguintes pacotes instalados:
bash
,jq
,sed
ecurl
.
- Caso não possua os arquivos
runb
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 a CLI o usa para buscar informações.
Integrar o Segura DSM ao GitLab CI/CD usando a DSM CLI
Para integrar o DSM ao GitLab usando CLI, siga estas etapas:
- Acesse um projeto em sua conta do GitLab.
- Adicione o executável, o arquivo de configuração e, opcionalmente, o arquivo
Segura-mapping.json
no repositório do projeto. - No Segura, acesse as Variáveis de CI/CD do seu projeto através de Menu de produtos > DevOps Secret Manager > CI/CD > Variáveis.
- Registre as variáveis necessárias para a execução do
dsm-cli``.
- Edite seu arquivo
.gitlab-ci.yml
na pasta do seu projeto; - Execute o pipeline do GitLab para concluir.
Exemplo de um arquivo de configuração .gitlab-ci.yml
usando dsm-cli
:
# This file is an example to demonstrate the usage of DSM CLI inside a GitLab 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/
default:
image: debian
build:
script:
- dsm runb \
--app-name "$APPLICATION" \
--system "$SYSTEM" \
--environment "$ENVIRONMENT" \
--config .config.yml
- source .runb.vars # After this command the secrets should be available
Usar o DSM CLI para injetar secrets em pipelines no GitLab
Após concluir a configuração do dsm-cli
no seu projeto, siga as instruções abaixo:
- Acesse o menu CI/CD > Pipelines.
- Clique em Run Pipeline.
- Na etapa seguinte, escolha a ramificação desejada e clique novamente em Run Pipeline.
- Em seguida, vá para Status > Nome do Trabalho para visualizar detalhes e resultados da execução.
A saída da execução será parecida com a mostrada abaixo:
Using config file: Segura/.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
Authenticated successfully
Posting variables successfully
Finding secrets from application
Trying to authenticate on Segura DevSecOps API
Authenticated successfully
Injecting secrets!
Injecting secret: password... Sucess
Injecting secret: PORT... Sucess
Injecting secret: VERSION... Sucess
Injecting secret: ip... Sucess
Injecting secret: hostname... Sucess
Injecting secret: username... Sucess
Injecting secret: additional information... Sucess
Secrets injected!
Deleting linux variables...
Is not possible to delete linux variables!
Finish
Você ainda tem dúvidas? Entre em contato com a Comunidade Segura.