Container Analysis

O Container Analysis fornece metadados para as imagens de contêiner no Container Registry. Além disso, os provedores de metadados de terceiros podem usar o Container Analysis para armazenar e recuperar metadados referentes às imagens dos clientes.

Nesta página, descrevemos os tipos de metadados compatíveis com o Container Analysis, além de alguns conceitos e termos principais.

Tipos de metadados compatíveis

Na tabela a seguir, veja todos os tipos de metadados compatíveis com o Container Analysis e as imagens do Container Registry. Os provedores de metadados de terceiros podem armazenar e recuperar todos os tipos de metadados a seguir para as imagens dos respectivos clientes.

Tipo de metadados Fornecido pelo Container Analysis para imagens do Container Registry
Vulnerabilidade, que fornece informações sobre vulnerabilidade de imagens do contêiner. Sim. O Container Analysis recebe as informações de vulnerabilidade de origens externas.
Criação, que fornece informações sobre a procedência da criação. Sim. O Container Analysis só fornece essas informações quando você usa o Cloud Build para criar a imagem.
Implantação, que fornece informações sobre eventos de implantação de imagem. Não
Imagem, que são os metadados sobre a imagem do contêiner, por exemplo, informações sobre as diferentes camadas de uma imagem. Não
Pacote, que contém informações sobre os pacotes instalados na sua imagem. Não
Atestado, que é o papel lógico que pode atestar as imagens. Não
Descoberta, que contém informações sobre a verificação inicial de imagens. Sim. O Container Analysis fornece essas informações apenas para vulnerabilidades.

Conta de serviço padrão do Container Analysis e tópicos do Cloud Pub/Sub

O Container Analysis analisa suas imagens de contêiner usando uma conta de serviço, uma conta especial do Google que coleta informações sobre suas imagens no seu nome. O e-mail da conta de serviço do Container Analysis é [PROJECT_NUMBER]@container-analysis.iam.gserviceaccount.com.

Você pode ver as contas de serviço do projeto pelo menu IAM do console do GCP.

Quando você ativa a API Container Analysis, a conta de serviço é criada automaticamente e recebe o papel Editor do agente de serviço do verificador de vulnerabilidade do contêiner para o projeto.

Não edite nem exclua essa conta de serviço. Se você a excluir acidentalmente, desative e reative a API Container Analysis.

Quando você ativa a API Container Analysis, ela cria automaticamente várias assinaturas para o tópico projects/[PROJECT_ID]/topics/gcr. Essas assinaturas são do tipo projects/[PROJECT_ID]/subscriptions/gcr-analysis-[SUBSCRIPTION_ID]. As assinaturas são usadas pelo Container Analysis para verificar suas imagens no Container Registry. Não edite nem exclua o tópico ou as assinaturas. Se você os excluir acidentalmente, desative e reative a API Container Analysis.

Conceitos e termos

Para usar o Container Analysis de maneira eficaz, você precisa entender alguns dos conceitos em que ele se baseia. Nesta seção, temos uma visão geral dos termos e conceitos que se aplicam ao Container Analysis.

Nota

Uma nota descreve uma parte de metadados de alto nível. Por exemplo, você poderia criar uma nota sobre uma vulnerabilidade específica depois de analisar um pacote do Linux. Você também usaria uma nota para armazenar informações sobre o criador de um processo de criação. As notas geralmente são proprietárias e criadas pelos provedores que realizam a análise. Geralmente, as notas são encontradas analisando-se as imagens do contêiner e ocorrem várias vezes em diferentes projetos.

Recomenda-se armazenar notas e ocorrências em projetos separados, permitindo um controle de acesso mais refinado.

As notas só podem ser editáveis pelo proprietário dela e somente leitura para clientes que tenham acesso às ocorrências que as referenciam.

Ocorrência

Uma ocorrência é representada quando uma nota foi encontrada em uma imagem, podendo ser considerada uma instanciação de uma nota. Por exemplo, uma ocorrência de uma nota sobre uma vulnerabilidade descreveria o pacote em que a vulnerabilidade foi encontrada, as etapas de correção específicas e assim por diante. Como alternativa, uma ocorrência de uma nota sobre detalhes de criação descreveria as imagens de contêiner resultantes de uma criação.

Normalmente, as ocorrências são armazenadas em projetos separados daqueles em que as notas são criadas. O acesso de gravação a ocorrências só pode ser concedido a usuários que têm acesso para vincular uma nota à ocorrência. Qualquer usuário pode ter acesso de leitura a ocorrências.

Resultado de vulnerabilidade

Um resultado de vulnerabilidade é uma coleção de ocorrências de vulnerabilidade de uma imagem.

Origem de vulnerabilidade

A API Container Analysis, compatível com verificação de vulnerabilidades de pacote para Ubuntu, Debian e Alpine, recebe os dados CVE das seguintes origens:

Níveis de gravidade de vulnerabilidades

O Container Analysis atribui níveis de gravidade às vulnerabilidades com base nas pontuações do CVSS. Veja nas tabelas a seguir o mapeamento da pontuação do CVSS para o nível de vulnerabilidade:

Pontuação do CVSS Nível de vulnerabilidade
>= 9.0 Crítica
(9, 7] Alta
(7, 4] Média
< 4.0 Baixa

Provedores e clientes

Provedores são as empresas que fornecem metadados para as imagens dos clientes. Os provedores podem usar o Container Analysis para armazenar e recuperar metadados referentes às imagens dos clientes. Por exemplo, uma empresa que fornece gerenciamento de segurança para contêineres do Docker dos respectivos clientes pode usar o Container Analysis para armazenar e recuperar metadados relacionados à segurança das imagens. Para mais informações, consulte Como fornecer metadados para projetos.

Os clientes usam os metadados fornecidos pelo Google ou por provedores de terceiros para as imagens no Container Registry.

Ocorrências de descoberta

As ocorrências de descoberta contêm informações sobre a verificação inicial das imagens de contêiner. Elas são criadas para todas as imagens existentes quando a API Container Analysis é ativada pela primeira vez e, em seguida, para as novas imagens quando são enviadas para o Container Registry.

Tipos de verificação de vulnerabilidades

O Container Analysis executa os seguintes tipos de verificação de vulnerabilidades para as imagens no Container Registry:

  • Verificação inicial: quando você ativa a API Container Analysis pela primeira vez, ela verifica todas as imagens existentes no Container Registry e extrai o gerenciador de pacotes, a base da imagem e as ocorrências de vulnerabilidade referentes às imagens. Depois de concluída a verificação inicial, o Container Analysis cria uma ocorrência de descoberta com esses metadados.

  • Verificação incremental: o Container Analysis verifica novas imagens à medida que elas são carregadas no Container Registry.

  • Verificação contínua: o Container Analysis verifica todas as imagens periodicamente e garante que as ocorrências de vulnerabilidades das imagens verificadas estejam atualizadas. A verificação contínua cria novas ocorrências de notas novas e exclui ocorrências que não são mais relevantes. Esse tipo de verificação refere-se apenas a vulnerabilidades de pacote, ele não analisa outros tipos de metadados.

Interfaces do Container Analysis

No console do GCP, você pode ver as informações sobre vulnerabilidades de imagens na página do Container Registry.

Use a ferramenta gcloud para ver informações sobre vulnerabilidades.

A REST API do Container Analysis também pode ser usada para executar qualquer uma dessas ações. Assim como em outras APIs do Cloud Platform, você precisa autenticar o acesso usando o OAuth2. Depois da autenticação, você pode usar a API para criar novas notas e ocorrências, ver ocorrências de vulnerabilidade etc.

A API Container Analysis é compatível com gRPC e REST/JSON. Você pode fazer chamadas à API usando as bibliotecas de cliente ou usando cURL para REST/JSON.

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…