Este documento descreve como configurar notificações para atualizações de notas e ocorrências.
A análise de artefactos envia notificações através do Pub/Sub para vulnerabilidades encontradas pela análise automatizada e para outros metadados. Quando uma nota ou uma ocorrência é criada ou atualizada, é publicada uma mensagem no tópico correspondente para cada versão da API. Use o tópico para a versão da API que está a usar.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Enable the Container Analysis API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Enable the Container Analysis API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
- Saiba como configurar o controlo de acesso para os metadados no seu projeto. Ignore este passo se apenas consumir metadados de ocorrências de vulnerabilidades criadas pela análise de contentores do Artifact Analysis.
container-analysis-notes-v1
container-analysis-occurrences-v1
Aceda à página de tópicos do Pub/Sub na Google Cloud consola.
Clique em Criar tópico.
Introduza um ID do tópico:
container-analysis-notes-v1
para que o nome corresponda ao URI:
projects/PROJECT_ID/topics/container-analysis-notes-v1
onde PROJECT_ID é o seu Google Cloud ID do projeto.
Clique em Criar.
Introduza um ID do tópico:
container-analysis-occurrences-v1
para que o nome corresponda ao URI:
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
Aceda à página de subscrições do Pub/Sub na Google Cloud consola.
Clique em Criar subscrição.
Escreva um nome para a subscrição. Por exemplo, notas.
Introduza o URI do tópico para notas:
projects/PROJECT_ID/topics/container-analysis-notes-v1
onde PROJECT_ID é o seu Google Cloud ID do projeto.
Clique em Criar.
Crie outra subscrição para ocorrências com o URI:
projects/PROJECT_ID/topics/container-analysis-occurrences-v1
- NOTE_KIND é um dos valores em
NoteKind
- NOTIFICATION_TIME é uma data/hora no formato "Zulu" UTC RFC 3339, com precisão de nanosegundos.
Para obter instruções sobre como usar a análise de artefactos para armazenar e gerir os seus metadados personalizados, consulte Crie notas e ocorrências personalizadas.
Pode usar atestações com a análise de vulnerabilidades para impedir a execução de imagens com problemas de segurança conhecidos no seu ambiente de implementação. Para ver instruções sobre como o fazer, consulte o artigo, Crie atestações com o Kritis Signer.
Crie tópicos do Pub/Sub
Depois de ativar a API Artifact Analysis, a Artifact Analysis cria automaticamente tópicos do Pub/Sub com os seguintes IDs de tópicos:
Se os tópicos foram eliminados acidentalmente ou estão em falta, pode adicioná-los manualmente. Por exemplo, os tópicos podem estar em falta se a sua Google Cloudorganização tiver uma restrição de política da organização que exija a encriptação com chaves de encriptação geridas pelo cliente (CMEK). Quando a API Pub/Sub está na lista de recusa desta restrição, os serviços não podem criar automaticamente tópicos comGoogle-owned and Google-managed encryption keys.
Para criar os tópicos com a Google-owned and Google-managed encryption keys:
Consola
gcloud
Execute os seguintes comandos na shell ou na janela de terminal:
gcloud pubsub topics create projects/PROJECT_ID/topics/container-analysis-notes-v1
gcloud pubsub topics create projects/PROJECT_ID/topics/container-analysis-occurrences-v1
Para saber mais sobre o comando gcloud pubsub topics
, consulte a
topics
documentação.
Para criar os tópicos com encriptação CMEK, consulte as instruções para encriptar tópicos do Pub/Sub.
Sempre que uma nota ou uma ocorrência é criada ou atualizada, é publicada uma mensagem no tópico respetivo. No entanto, também tem de criar uma subscrição do Pub/Sub para ouvir eventos e receber mensagens do serviço Pub/Sub.
Crie subscrições do Pub/Sub
Para ouvir eventos, crie uma subscrição do Pub/Sub associada ao tópico:
Consola
gcloud
Para receber eventos do Pub/Sub, primeiro tem de criar uma subscrição
associada ao tópico container-analysis-occurrences-v1
:
gcloud pubsub subscriptions create \
--topic container-analysis-occurrences-v1 occurrences
A partir de agora, pode obter mensagens relativas às suas ocorrências através da sua nova subscrição:
gcloud pubsub subscriptions pull \
--auto-ack occurrences
Java
Para saber como instalar e usar a biblioteca de cliente para a análise de artefactos, consulte o artigo Bibliotecas de cliente da análise de artefactos. Para mais informações, consulte a documentação de referência da API JavaArtifact Analysis.
Para se autenticar na Análise de artefactos, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca de cliente para a análise de artefactos, consulte o artigo Bibliotecas de cliente da análise de artefactos. Para mais informações, consulte a documentação de referência da API GoArtifact Analysis.
Para se autenticar na Análise de artefactos, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente para a análise de artefactos, consulte o artigo Bibliotecas de cliente da análise de artefactos. Para mais informações, consulte a documentação de referência da API Node.jsArtifact Analysis.
Para se autenticar na Análise de artefactos, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ruby
Para saber como instalar e usar a biblioteca de cliente para a análise de artefactos, consulte o artigo Bibliotecas de cliente da análise de artefactos. Para mais informações, consulte a documentação de referência da API RubyArtifact Analysis.
Para se autenticar na Análise de artefactos, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente para a análise de artefactos, consulte o artigo Bibliotecas de cliente da análise de artefactos. Para mais informações, consulte a documentação de referência da API PythonArtifact Analysis.
Para se autenticar na Análise de artefactos, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
As aplicações subscritoras só recebem mensagens publicadas no tópico depois de a subscrição ser criada.
Os payloads do Pub/Sub estão em JSON e o respetivo esquema é o seguinte:
Notas:
{ "name": "projects/PROJECT_ID/notes/NOTE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
Ocorrências:
{ "name": "projects/PROJECT_ID/occurrences/OCCURRENCE_ID", "kind": "NOTE_KIND", "notificationTime": "NOTIFICATION_TIME", }
where:
Ver detalhes
Para saber mais acerca de uma nota ou ocorrência, pode aceder aos metadados armazenados na análise de artefactos. Por exemplo, pode pedir todos os detalhes de uma ocorrência específica. Consulte as instruções em Investigar vulnerabilidades.