Contrôle des accès avec IAM

L'Artifact Analysis utilise Identity and Access Management (IAM) pour accorder un accès précis à des ressources spécifiques en fonction de la tâche que vous allez effectuer.

Cette page décrit les autorisations de contrôle d'accès à l'Artifact Analysis.

Avant de commencer

  1. Découvrez les concepts de stockage des métadonnées.
  2. Découvrez comment accorder, révoquer et modifier l'accès aux ressources.

Rôles IAM pour les fournisseurs et clients de métadonnées

La gestion des métadonnées dans Artifact Analysis implique deux entités nécessitant un niveau d'accès différent:

  • Un fournisseur qui crée des métadonnées stockées dans des notes.
  • Un client qui identifie les occurrences de notes.

Fournisseurs de métadonnées

Dans Artifact Analysis, un fournisseur de métadonnées est un rédacteur de métadonnées de ressources. Il crée des notes qui décrivent les opérations effectuées sur une ressource.

Nous vous recommandons de créer un projet Google Cloud dédié exclusivement à la stockage des notes. Dans ce projet, restreignez l'accès à un utilisateur ou un compte de service avec les rôles suivants :

  • Éditeur de notes Container Analysis : pour créer des notes auxquelles vos clients peuvent joindre des occurrences.

  • Occurrences Container Analysis pour la visionneuse de notes : permet de répertorier toutes les occurrences associées à une note.

Clients de métadonnées

Un client de métadonnées dans Artifact Analysis associe des informations aux ressources de métadonnées. Il crée des occurrences, qui sont des instances de notes et ciblent une image spécifique au sein d'un projet.

En tant que client, pour pouvoir associer des occurrences à des notes et les répertorier, attribuez les rôles suivants à votre compte utilisateur ou de service :

  • Éditeur d'occurrences Container Analysis : accordez ce rôle dans le projet customer pour créer des occurrences.

  • Agent d'association de notes Container Analysis : accordez ce rôle dans le projet provider pour associer des occurrences aux notes.

  • Lecteur d'occurrences Container Analysis : accordez ce rôle dans le projet client pour répertorier les occurrences au sein de ce projet.

Métadonnées de faille

Une mesure de sécurité supplémentaire pour les métadonnées de faille est qu'Artifact Analysis permet aux fournisseurs de créer et de gérer des occurrences de failles pour le compte de nombreux clients. Les clients de métadonnées ne disposent pas de l'autorisation en écriture sur les occurrences de failles des fournisseurs tiers dans leurs propres projets.

Cela signifie, par exemple, qu'Artifact Analysis peut créer des occurrences de failles pour les images de votre projet, mais que vous ne pouvez pas ajouter ni supprimer des informations sur les failles détectées par Artifact Analysis.

Cela permet d'appliquer des règles de sécurité en empêchant la manipulation des métadonnées de faille côté client.

Rôles IAM

Le tableau suivant répertorie les rôles IAM Artifact Analysis et les autorisations qu'ils incluent:

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