Este exemplo utiliza uma imagem de verificação específica, com bancos de dados de vulnerabilidades integrados, armazenada no registro de imagens fornecido pelo fornecedor do Kaspersky Container Security.
Para usar o recurso de verificação de imagens no processo de CI/CD do GitLab, ative o uso do GitLab Container Registry.
As configurações de integração incluem os seguintes passos:
printf "login:password" | openssl base64 -A
em que login e senha são o nome de usuário e a senha de uma conta no registro de imagens do fabricante do Kaspersky Container Security.
{
"auths": {
"repo.cloud.example.com": {
"auth": "base64hash"
}
}
}
em que base64hash é a string obtida no passo 1a.
Para incluir a verificação ao pipeline de CI/CD, adicione as seguintes linhas no arquivo .gitlab-ci.yml:
scan_image:
stage: scanner
image:
name: repo.cloud.example.com/repository/company/scanner:v2.1-with-db
entrypoint: [""]
pull_policy: always
É recomendado indicar always no parâmetro pull_policy
para receber compilações relevantes, com bancos de dados atualizados de vulnerabilidades e outros objetos maliciosos para cada verificação.
SCAN_TARGET: ${CI_REGISTRY_IMAGE}:master
BUILD_NUMBER: ${CI_JOB_ID}
BUILD_PIPELINE: ${CI_PIPELINE_ID}
API_TOKEN: <valor do token de API>
Este exemplo contém a tag master
. Também é possível especificar outras tags.
COMPANY_EXT_REGISTRY_USERNAME: ${COMPANY_EXT_REGISTRY_USERNAME}
COMPANY_EXT_REGISTRY_PASSWORD: ${COMPANY_EXT_REGISTRY_PASSWORD}
COMPANY_EXT_REGISTRY_TLS_CERT
como uma string no formato .PEM: -----BEGIN CERTIFICATE-----\n... <
detalhes do certificado
> ...\n-----END CERTIFICATE-----
.
HTTP_PROXY: <servidor proxy para solicitações HTTP>
HTTPS_PROXY: <servidor proxy para solicitações HTTPS>
NO_PROXY: <domínios ou máscaras de domínio correspondentes a serem excluídos do proxy>
API_CA_CERT: ${KCS_CA_CERT}
O certificado CA do controlador Ingress é especificado no campo de texto como uma string no formato .PEM:
----- BEGIN CERTIFICATE ----- \ n... <detalhes do certificado>
...\ n ----- END CERTIFICATE -----
Se a variável API_CA_CERT
não for definida, a verificação começará, mas não será concluída.
O uso do certificado CA do controlador Ingress permite que o verificador sendo executado no CI/CD confirme a autenticidade do servidor de recebimento de dados.
Caso use um certificado autoassinado ou deseje pular a verificação do servidor de recebimento de dados usando o certificado CA do controlador Ingress, especifique o valor da variável para ignorar a verificação da seguinte maneira:
SKIP_API_SERVER_VALIDATION: 'true'
API_BASE_URL: <endereço da Web>
variables:
API_BASE_URL: ${API_BASE_URL}
script:
- /bin/sh /entrypoint.sh $SCAN_TARGET --stdout > artifact-result.json
artifacts:
paths:
- artifact-result.json
Após configurar a integração com um registro externo, é possível verificar imagens durante o processo de CI/CD, inclusive verificando em modo SBOM. Os resultados de verificações podem ser visualizados em Resources → CI/CD ou baixados nos formatos .SPDX, .JSON e .HTML.
Topo da página