Controle de acesso com o IAM

O Artifact Analysis usa o gerenciamento de identidade e acesso (IAM) para conceder acesso granular a recursos específicos, dependendo da tarefa que você vai realizar.

Esta página descreve as permissões para controlar o acesso à Artifact Analysis.

Antes de começar

  1. Leia sobre os conceitos de armazenamento de metadados.
  2. Leia como conceder, revogar e alterar o acesso aos recursos.

Papéis do IAM para provedores de metadados e clientes

O gerenciamento de metadados no Artifact Analysis envolve duas entidades que exigem um nível diferente de acesso:

  • Um provedor que cria metadados armazenados em notas.
  • Um cliente que identifica ocorrências de notas.

Provedores de metadados

Um provedor de metadados no Artifact Analysis é um gravador de metadados de recursos. Ele cria notas, que descrevem algo que pode acontecer a um recurso.

Recomendamos que você crie um projeto do Google Cloud dedicado exclusivamente ao armazenamento de notas. Nesse projeto, restrinja o acesso a um usuário ou conta de serviço com os papéis a seguir:

  • Editor de notas do Container Analysis: para criar notas às quais seus clientes podem anexar ocorrências.

  • Ocorrências do Container Analysis para o visualizador de notas: para listar todas as ocorrências anexadas a uma nota.

Clientes de metadados

Um cliente de metadados no Artifact Analysis anexa informações aos recursos de metadados. Ele cria ocorrências, que são instâncias de notas e segmentam uma imagem específica em um projeto.

Como cliente, para anexar ocorrências a notas e listá-las, conceda os seguintes papéis ao usuário ou à conta de serviço:

  • Editor de ocorrências do Container Analysis: conceda esse papel no projeto customer para criar ocorrências.

  • Anexador de notas do Container Analysis: conceda esse papel no projeto provider para anexar ocorrências a notas.

  • Visualizador de ocorrências do Container Analysis: conceda esse papel no projeto customer para listar ocorrências nesse projeto.

Metadados de vulnerabilidade

Uma medida de segurança extra para metadados de vulnerabilidade permite que o Artifact Analysis possibilite aos provedores que criem e gerenciem ocorrências de vulnerabilidade em nome de muitos clientes. Os clientes de metadados não têm permissão de gravação para ocorrências de vulnerabilidade de provedor de terceiros nos próprios projetos.

Isso significa, por exemplo, que o Artifact Analysis pode criar ocorrências de vulnerabilidade para imagens no seu projeto, mas não é possível adicionar ou remover informações de vulnerabilidade detectadas pelo Artifact Analysis.

Isso ajuda a aplicar políticas de segurança ao impedir a manipulação de metadados de vulnerabilidade no lado do cliente.

Papéis IAM

A tabela a seguir lista os papéis do IAM da Análise de artefatos e as permissões que eles incluem:

Role Permissions

(roles/containeranalysis.admin)

Access to all Container Analysis resources.

containeranalysis.notes.attachOccurrence

containeranalysis.notes.create

containeranalysis.notes.delete

containeranalysis.notes.get

containeranalysis.notes.getIamPolicy

containeranalysis.notes.list

containeranalysis.notes.setIamPolicy

containeranalysis.notes.update

containeranalysis.occurrences.*

  • containeranalysis.occurrences.create
  • containeranalysis.occurrences.delete
  • containeranalysis.occurrences.get
  • containeranalysis.occurrences.getIamPolicy
  • containeranalysis.occurrences.list
  • containeranalysis.occurrences.setIamPolicy
  • containeranalysis.occurrences.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/containeranalysis.notes.attacher)

Can attach Container Analysis Occurrences to Notes.

containeranalysis.notes.attachOccurrence

containeranalysis.notes.get

(roles/containeranalysis.notes.editor)

Can edit Container Analysis Notes.

containeranalysis.notes.attachOccurrence

containeranalysis.notes.create

containeranalysis.notes.delete

containeranalysis.notes.get

containeranalysis.notes.list

containeranalysis.notes.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/containeranalysis.notes.occurrences.viewer)

Can view all Container Analysis Occurrences attached to a Note.

containeranalysis.notes.get

containeranalysis.notes.listOccurrences

(roles/containeranalysis.notes.viewer)

Can view Container Analysis Notes.

containeranalysis.notes.get

containeranalysis.notes.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/containeranalysis.occurrences.editor)

Can edit Container Analysis Occurrences.

containeranalysis.occurrences.create

containeranalysis.occurrences.delete

containeranalysis.occurrences.get

containeranalysis.occurrences.list

containeranalysis.occurrences.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/containeranalysis.occurrences.viewer)

Can view Container Analysis Occurrences.

containeranalysis.occurrences.get

containeranalysis.occurrences.list

resourcemanager.projects.get

resourcemanager.projects.list