Como usar o plug-in Jenkins do Amazon Inspector - Amazon Inspector

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como usar o plug-in Jenkins do Amazon Inspector

O Jenkins plug-in utiliza o binário do Amazon SBOM Inspector Generator e o Amazon Inspector API Scan para produzir relatórios detalhados no final de sua compilação, para que você possa investigar e corrigir riscos antes da implantação. Com o Jenkins plug-in do Amazon Inspector, você pode adicionar escaneamentos de vulnerabilidade do Amazon Inspector ao seu pipeline. Jenkins As varreduras de vulnerabilidade do Amazon Inspector podem ser configuradas para aprovar ou falhar nas execuções do pipeline com base no número e na gravidade das vulnerabilidades detectadas. Você pode ver a versão mais recente do Jenkins plug-in no Jenkins mercado em https://plugins.jenkins.io/amazon-inspector-image-scanner/. As etapas a seguir descrevem como configurar o plug-in Amazon Inspector Jenkins.

Importante

Antes de concluir as etapas a seguir, você deve atualizar o Jenkins para a versão 2.387.3 ou superior para que o plug-in seja executado.

Etapa 1. Configurar um Conta da AWS

Configure um Conta da AWS com uma IAM função que permita o acesso ao Amazon Inspector Scan. API Para obter instruções, consulte Configurando uma AWS conta para usar a integração CI/CD do Amazon Inspector.

Etapa 2. Instale o plug-in Amazon Inspector Jenkins

O procedimento a seguir descreve como instalar o plug-in Jenkins do Amazon Inspector a partir do painel. Jenkins

  1. No painel do Jenkins, escolha Gerenciar Jenkins e, em seguida, selecione Gerenciar plug-ins.

  2. Escolha Disponível.

  3. Na guia Disponível, pesquise Amazon Inspector Scans e, em seguida, instale o plug-in.

(Opcional) Etapa 3. Adicione credenciais do docker ao Jenkins

nota

Adicione credenciais do docker somente se a imagem do docker estiver em um repositório privado. Caso contrário, ignore essa etapa.

O procedimento a seguir descreve como adicionar credenciais do docker a Jenkins partir do painel. Jenkins

  1. No painel do Jenkins, escolha Gerenciar Jenkins, Credenciais e, em seguida, Sistema.

  2. Escolha Credenciais globais e, em seguida, Adicionar credenciais.

  3. Em Tipo, selecione Nome de usuário com senha.

  4. Em Escopo, selecione Global (Jenkins, nós, itens, todos os itens secundários etc.).

  5. Insira seus detalhes e, em seguida, escolha OK.

(Opcional) Etapa 4. Adicionar AWS credenciais

nota

Adicione AWS credenciais somente se quiser se autenticar com base em um IAM usuário. Caso contrário, ignore essa etapa.

O procedimento a seguir descreve como adicionar AWS credenciais do Jenkins painel.

  1. No painel do Jenkins, escolha Gerenciar Jenkins, Credenciais e, em seguida, Sistema.

  2. Escolha Credenciais globais e, em seguida, Adicionar credenciais.

  3. Em Tipo, selecione AWSCredenciais.

  4. Insira seus detalhes, incluindo a ID da chave de acesso e a chave de acesso secreta, e escolha OK.

Etapa 5. Adicionar CSS suporte em um Jenkins script

O procedimento a seguir descreve como adicionar CSS suporte em um Jenkins script.

  1. Reinicie o Jenkins.

  2. No Painel, escolha Gerenciar Jenkins, Nodes, Built-Node e, em seguida, Script Console.

  3. Na caixa de texto, adicione a linha System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "") e escolha Executar.

Etapa 6. Adicione o Amazon Inspector Scan à sua compilação

Você pode adicionar o Amazon Inspector Scan à criação inserindo uma etapa de criação ao projeto ou usando o pipeline declarativo Jenkins.

Amazon Inspector Digitalize sua compilação adicionando uma etapa de compilação em seu projeto

  1. Na página de configuração, role para baixo até Etapas de compilação e escolha Adicionar etapa de compilação. Em seguida, selecione Amazon Inspector Scan.

  2. Escolha entre dois métodos de instalação do inspector-sbomgen: Automático ou Manual.

    1. (Opção 1) Escolha Automático para baixar a versão mais recente do inspector-sbomgen. Se você escolher esse método, certifique-se de selecionar a CPU arquitetura que corresponde ao sistema que executa o plug-in.

    2. (Opção 2) Escolha Manual se quiser configurar o binário do Amazon Inspector SBOM Generator para digitalização. Se você escolher esse método, certifique-se de fornecer o caminho completo para uma versão baixada anteriormente do inspector-sbomgen.

    Para obter mais informações, consulte Instalando o Amazon Inspector SBOM Generator (Sbomgen) no Amazon Inspector Generator. SBOM

  3. Faça o seguinte para realizar a configuração da etapa de criação do Amazon Inspector Scan:

    1. Insira o ID da imagem. A imagem pode ser local, remota ou arquivada. Os nomes das imagens devem seguir a convenção de nomenclatura do Docker. Se estiver analisando uma imagem exportada, forneça o caminho para o arquivo tar previsto. Veja os seguintes exemplos de caminhos de ID da imagem:

      1. Para contêineres locais ou remotos: NAME[:TAG|@DIGEST]

      2. Para um arquivo tar: /path/to/image.tar

    2. Selecione uma Região da AWS para enviar a solicitação de escaneamento.

    3. (Opcional) Para credenciais do Docker, selecione o nome de usuário Docker. Faça isso apenas se a imagem de contêiner estiver em um repositório privado.

    4. (Opcional) Você pode fornecer os seguintes métodos de AWS autenticação compatíveis:

      1. (Opcional) Para IAMfunção, forneça uma função ARN (arn:aws:iam::AccountNumber:função/RoleName).

      2. (Opcional) Para AWScredenciais, selecione ID para autenticar com base em um IAM usuário.

      3. (Opcional) Em nome AWS do perfil, forneça o nome de um perfil a ser autenticado usando um nome de perfil.

    5. (Opcional) Especifique os Limites de vulnerabilidade por grau. Se o número especificado for excedido durante uma verificação, a construção da imagem falhará. Se todos os valores forem 0, a compilação será bem-sucedida, independentemente de alguma vulnerabilidade ser encontrada.

  4. Escolha Salvar.

Adicione o Amazon Inspector Scan à sua compilação usando o pipeline declarativo Jenkins

Você pode adicionar o Amazon Inspector Scan à sua compilação usando o pipeline declarativo Jenkins de forma automática ou manual.

Para baixar automaticamente o pipeline SBOMGen declarativo
  • Para adicionar o Amazon Inspector Scan a uma compilação, use o seguinte exemplo de sintaxe. Com base na sua arquitetura de sistema operacional preferida do Amazon Inspector SBOM Generator, baixe SBOMGEN_SOURCE com linuxAmd 64 ou linuxArm 64. Substituir IMAGE_PATH com o caminho para sua imagem (como alpine:latest), IAM_ROLE com ARN a IAM função que você configurou na etapa 1 e ID com seu ID de Docker credencial se você estiver usando um repositório privado. Se desejar, você poderá ativar os limites de vulnerabilidade e especificar valores para cada grau.

pipeline { agent any stages { stage('amazon-inspector-image-scanner') { steps { script { step([ $class: 'com.amazon.inspector.jenkins.amazoninspectorbuildstep.AmazonInspectorBuilder', sbomgenSource: 'SBOMGEN_SOURCE', // this can be linuxAmd64 or linuxArm64 archivePath: 'IMAGE_PATH', awsRegion: 'REGION', iamRole: 'IAM ROLE', credentialId: 'Id', // provide empty string if image not in private repositories awsCredentialId: ''AWS ID;', awsProfileName: 'Profile Name', isThresholdEnabled: false, countCritical: 0, countHigh: 0, countLow: 10, countMedium: 5, ]) } } } } }
Para baixar manualmente o pipeline SBOMGen declarativo
  • Para adicionar o Amazon Inspector Scan a uma compilação, use o seguinte exemplo de sintaxe. Substituir SBOMGEN_PATH com o caminho para o Amazon Inspector SBOM Generator que você instalou na etapa 3, IMAGE_PATH com o caminho para sua imagem (como alpine:latest), IAM_ROLE com ARN a IAM função que você configurou na etapa 1 e ID com seu ID de Docker credencial se você estiver usando um repositório privado. Se desejar, você poderá ativar os limites de vulnerabilidade e especificar valores para cada grau.

nota

Coloque Sbomgen no diretório Jenkins e forneça o caminho para o diretório Jenkins no plugin (como /opt/folder/arm64/inspector-sbomgen).

pipeline { agent any stages { stage('amazon-inspector-image-scanner') { steps { script { step([ $class: 'com.amazon.inspector.jenkins.amazoninspectorbuildstep.AmazonInspectorBuilder', sbomgenPath: 'SBOMGEN_PATH', archivePath: 'IMAGE_PATH', awsRegion: 'REGION', iamRole: 'IAM ROLE', awsCredentialId: ''AWS ID;', credentialId: 'Id;', // provide empty string if image not in private repositories awsProfileName: 'Profile Name', isThresholdEnabled: false, countCritical: 0, countHigh: 0, countLow: 10, countMedium: 5, ]) } } } } }

Etapa 7. Veja seu relatório de vulnerabilidade do Amazon Inspector

  1. Realize nova compilação do projeto.

  2. Depois que a compilação for concluída, selecione um formato de saída nos resultados. Se você selecionarHTML, terá a opção de baixar uma CSV versão JSON SBOM ou do relatório. Veja a seguir um exemplo de HTML relatório:

Amostra de relatório de vulnerabilidade do Amazon Inspector.

Solução de problemas

A seguir estão os erros comuns que você pode encontrar ao usar o plug-in Amazon Inspector Scan para. Jenkins

Falha ao carregar credenciais ou erro de exceção do STS

Erro:

InstanceProfileCredentialsProvider(): Failed to load credentials or sts exception.

Resolução

Obtenha aws_access_key_id e aws_secret_access_key para sua AWS conta. Configure aws_access_key_id e aws_secret_access_key em ~/.aws/credentials.

Erro de caminho do Inspector-SBOMgen

Erro:

Exception:com.amazon.inspector.jenkins.amazoninspectorbuildstep.exception.SbomgenNotFoundException: There was an issue running inspector-sbomgen, is /opt/inspector/inspector-sbomgen the correct path?

Resolução:

Conclua o procedimento a seguir para resolver o problema.

  1. Coloque a arquitetura correta do sistema operacional Inspector-SBOMgen no Jenkins diretório Para obter mais informações, consulte Amazon Inspector Generator. SBOM

  2. Conceda permissões executáveis ao binário usando o seguinte comando:chmod +x inspector-sbomgen.

  3. Forneça o caminho correto da Jenkins máquina no plug-in, como/opt/folder/arm64/inspector-sbomgen.

  4. Salve a configuração e execute o Jenkins trabalho.