Como integrar o DSM com o GitLab CI/CD

Prev Next

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:

Integração do GitLab CI/CD com o DSM do Segura

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 e curl.
Info
  • Caso não possua os arquivos runb e senhasegura-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:

  1. Acesse um projeto em sua conta do GitLab.
  2. Adicione o executável, o arquivo de configuração e, opcionalmente, o arquivo Segura-mapping.json no repositório do projeto.
  3. 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.
  4. Registre as variáveis necessárias para a execução do dsm-cli``.
  5. Edite seu arquivo .gitlab-ci.yml na pasta do seu projeto;
  6. 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:

  1. Acesse o menu CI/CD > Pipelines.
  2. Clique em Run Pipeline.
  3. Na etapa seguinte, escolha a ramificação desejada e clique novamente em Run Pipeline.
  4. 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.