Control de acceso con IAM

Artifact Analysis usa la administración de identidades y accesos (IAM) para otorgar acceso detallado a recursos específicos según la tarea que vayas a realizar.

En esta página, se describen los permisos para controlar el acceso a Artifact Analysis.

Antes de comenzar

  1. Obtén más información sobre los conceptos de almacenamiento de metadatos.
  2. Obtén información sobre cómo otorgar, revocar y cambiar el acceso a los recursos.

Roles de IAM para proveedores y clientes de metadatos

La administración de metadatos en Artifact Analysis implica dos entidades que requieren diferentes niveles de acceso:

  • Un proveedor que crea metadatos almacenados en notas
  • Un cliente que identifica los casos de notas

Proveedores de metadatos

Un proveedor de metadatos en Artifact Analysis es un escritor de metadatos de recursos. Crea notas que describen algo que puede ocurrirle a un recurso.

Te recomendamos que crees un proyecto de Google Cloud dedicado exclusivamente a almacenar notas. En ese proyecto, restringe el acceso a un usuario o una cuenta de servicio con los siguientes roles:

  • Editor de notas de Container Analysis: Para crear notas a las que tus clientes puedan adjuntar casos.

  • Casos de Container Analysis para el visualizador de notas: a fin de enumerar todos los casos adjuntos a una nota.

Clientes de metadatos

Un cliente de metadatos en Artifact Analysis adjunta información a los recursos de metadatos. Crea casos, que son instancias de notas y se orientan a una imagen específica dentro de un proyecto.

Como cliente, para poder adjuntar casos a notas y mostrarlos en una lista, otorga los siguientes roles a tu usuario o cuenta de servicio:

  • Editor de casos de Container Analysis: otorga esta función en el proyecto del cliente para crear casos.

  • Encargado de adjuntar notas de Container Analysis: otorga esta función en el proyecto del proveedor para adjuntar casos a las notas.

  • Visualizador de casos de Container Analysis: otorga esta función en el proyecto del cliente para enumerar casos dentro de ese proyecto.

Metadatos de vulnerabilidades

Una medida de seguridad adicional para los metadatos de vulnerabilidades es que Artifact Analysis permite a los proveedores crear y administrar incidentes de vulnerabilidad en nombre de muchos clientes. Los clientes de metadatos no tienen permiso de escritura para los casos de vulnerabilidades de proveedores externos en sus propios proyectos.

Esto significa, por ejemplo, que Artifact Analysis puede crear ocurrencias de vulnerabilidades para las imágenes de tu proyecto, pero no puedes agregar ni quitar información de vulnerabilidades que detecte Artifact Analysis.

Esto ayuda a aplicar las políticas de seguridad, ya que evita la manipulación de los metadatos de vulnerabilidad del cliente.

Funciones de IAM

En la siguiente tabla, se enumeran los roles de IAM de Artifact Analysis y los permisos que estas incluyen:

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