Guide du contrôle des accès

Stackdriver Logging utilise Cloud Identity and Access Management (IAM) pour contrôler l'accès aux données de journalisation dans les projets, les organisations, les dossiers et les comptes de facturation.

Présentation

Les autorisations et les rôles Cloud IAM déterminent la façon dont vous pouvez utiliser l'API Stackdriver Logging et la visionneuse de journaux.

Un rôle Cloud IAM est un ensemble d'autorisations. Vous attribuez ces rôles à des membres. Vous ne pouvez pas accorder directement une autorisation à un membre. Vous lui attribuez un rôle, qui lui donne toutes les autorisations associées à ce rôle.

Les données des journaux sont consignées dans les types de ressources suivantes : projets, organisations, dossiers et comptes de facturation. Chacune de ces ressources peut avoir son propre ensemble de membres avec leurs propres ensembles de rôles Logging.

Pour créer ou utiliser des données de journal à partir de Stackdriver Logging dans une ressource, un membre doit avoir un rôle Cloud IAM lui conférant les autorisations nécessaires. Une liste récapitulative de ces rôles et autorisations Cloud IAM est présentée ci-dessous :

  • Le rôle roles/logging.viewer (Visionneuse de journaux) donne aux membres un accès en lecture seule à toutes les fonctionnalités de Logging, à l'exception de la permission de lire les journaux privés.

  • Le rôle roles/logging.privateLogViewer (Visionneuse de journaux privés) donne aux membres les autorisations de roles/logging.viewer, plus la permission de lire les journaux privés.

  • Le rôle roles/logging.logWriter (Rédacteur de journaux) peut être attribué aux membres qui sont des comptes de service et leur donne uniquement les autorisations nécessaires pour écrire des journaux. Ce rôle n'accorde pas d'accès à la visionneuse de journaux.

  • Le rôle roles/logging.configWriter (Rédacteur de configuration des journaux) donne aux membres l'autorisation de créer des métriques basées sur des journaux et d'exporter des récepteurs. Pour utiliser la visionneuse de journaux, ajoutez le rôle roles/logging.viewer.

  • Le rôle roles/logging.admin (Administrateur Logging) donne aux membres toutes les autorisations associées à Logging. Pour obtenir la liste complète de ces autorisations, consultez la section Autorisations des API.

  • Le rôle roles/viewer (Lecteur de projet) donne aux membres les mêmes autorisations que le rôle rôles/logging.viewer au niveau du projet. Notez que l'attribution de ce rôle applique les autorisations à la plupart des services GCP au niveau du projet et ne se limite pas à l'utilisation de Logging.

  • Le rôle roles/editor (Collaborateur de projet) accorde aux membres les mêmes autorisations que le rôle roles/logging.viewer, ainsi que les autorisations permettant d'écrire des entrées de journal, de supprimer des journaux et de créer des métriques basées sur les journaux, au niveau du projet. Ce rôle ne vous permet pas de créer des récepteurs d'exportation ni de lire des journaux privés. Notez que l'attribution de ce rôle applique les autorisations à la plupart des services GCP au niveau du projet et ne se limite pas à l'utilisation de Logging.

  • Le rôle roles/owner (Propriétaire du projet) vous donne un accès complet à Logging, y compris aux journaux privés. Notez que l'attribution de ce rôle applique les autorisations à la plupart des services GCP au niveau du projet et ne se limite pas à l'utilisation de Logging.

Les journaux d'audit pour l'accès aux données, à l'exception de ceux de BigQuery, sont les seuls "journaux privés". Pour les lire, les membres ont besoin de certaines autorisations supérieures à celles en lecture seule.

Pour en savoir plus sur les rôles et les autorisations de Logging, consultez la section Autorisations et rôles ci-dessous.

Autorisations des API

Les méthodes d'API Logging nécessitent des autorisations Cloud IAM spécifiques. Le tableau suivant répertorie les autorisations requises par les méthodes d'API.

Méthode de journalisation Autorisation requise Type de ressource
billingAccounts.logs.* logging.logs.* (voir projects.logs.*) Comptes de facturation
billingAccounts.sinks.* logging.sinks.* (voir projects.sinks.*) Comptes de facturation
entries.list logging.logEntries.list ou
logging.privateLogEntries.list
Projets, organisations,
dossiers, comptes de facturation
entries.write logging.logEntries.create Projets, organisations,
dossiers, comptes de facturation
folders.logs.* logging.logs.* (voir projects.logs.*) Dossiers
folders.sinks.* logging.sinks.* (voir projects.sinks.*) Dossiers
monitoredResourceDescriptors.list (aucune) (aucune)
organizations.logs.* logging.logs.* (voir projects.logs.*) Organisations
organizations.sinks.* logging.sinks.* (voir projects.sinks.*) Organisations
projects.exclusions.create logging.exclusions.create Projets
projects.exclusions.delete logging.exclusions.delete Projets
projects.exclusions.get logging.exclusions.get Projets
projects.exclusions.list logging.exclusions.list Projets
projects.exclusions.patch logging.exclusions.<b>update<b> Projets
projects.logs.list logging.logs.list Projets
projects.logs.delete logging.logs.delete Projets
projects.sinks.list logging.sinks.list Projets
projects.sinks.get logging.sinks.get Projets
projects.sinks.create logging.sinks.create Projets
projects.sinks.update logging.sinks.update Projets
projects.sinks.delete logging.sinks.delete Projets
projects.metrics.list logging.logMetrics.list Projets
projects.metrics.get logging.logMetrics.get Projets
projects.metrics.create logging.logMetrics.create Projets
projects.metrics.update logging.logMetrics.update Projets
projects.metrics.delete logging.logMetrics.delete Projets

Autorisations et rôles

Le tableau suivant répertorie les rôles Cloud IAM qui accordent l'accès à Stackdriver Logging. Chaque rôle possède un ensemble spécifique d'autorisations Logging. Les rôles peuvent être attribués aux membres des types de ressources répertoriés.

Dans le tableau, a.b.{x,y} signifie a.b.x et a.b.y.

Nom du rôle Titre du rôle Autorisations Logging Type de ressource
roles/
logging.viewer
Lecteur de journaux logging.logEntries.list
logging.logMetrics.{list, get}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, get}
logging.usage.get
resourcemanager.projects.get
Projet, organisation
dossier, compte de facturation
roles/
logging.privateLogViewer
Lecteur des journaux privés Autorisation roles/logging.viewer, plus
logging.privateLogEntries.list
Projet, organisation
dossier, compte de facturation
roles/
logging.logWriter
Rédacteur de journaux logging.logEntries.create Projet, organisation
dossier, compte de facturation
roles/
logging.configWriter
Rédacteur de configuration des journaux logging.exclusions.{list, create, get, update, delete}
logging.logMetrics.{list, create, get, update, delete}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, create, get, update, delete}
resourcemanager.projects.get
Projet, organisation
dossier, compte de facturation
roles/
logging.admin
Administrateur Logging logging.exclusions.{list, create, get, update, delete}
logging.logEntries.create
logging.logEntries.list
logging.logMetrics.{list, create, get, update, delete}
logging.logs.delete
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.privateLogEntries.list
logging.sinks.{list, create, get, update, delete}
resourcemanager.projects.get
Projet, organisation
dossier, compte de facturation
roles/viewer Lecteur logging.logEntries.list
logging.logMetrics.{list, get}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, get}
resourcemanager.projects.get
Projet
roles/editor Collaborateur Autorisations Logging roles/viewer, plus
logging.logEntries.create
logging.logMetrics.{create, update, delete}
logging.logs.delete
Projet
roles/owner Propriétaire Autorisations Logging roles/editor, plus
logging.privateLogEntries.list
logging.sinks.{create, update, delete}
Projet

Rôles personnalisés

Pour créer un rôle personnalisé avec des autorisations Logging, procédez comme suit :

  • Pour un rôle accordant des autorisations uniquement pour l'API Logging, faites votre choix parmi les autorisations figurant dans la section Autorisations des API ci-dessus.

  • Pour un rôle accordant des autorisations d'utilisation de la visionneuse de journaux, faites votre choix parmi les groupes d'autorisations décrites dans la section suivante, Autorisations de la console.

Pour en savoir plus sur les rôles personnalisés, consultez la page Comprendre les rôles personnalisés Cloud IAM.

Autorisation de la console

Le tableau suivant répertorie les autorisations nécessaires pour utiliser la visionneuse de journaux.

Dans le tableau, a.b.{x,y} signifie a.b.x et a.b.y.

Activité de la console Autorisations requises
Accès minimal en lecture seule logging.logEntries.list
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
resourcemanager.projects.get
Possibilité d'afficher des métriques basées sur les journaux Ajouter logging.logMetrics.{list, get}
Possibilité d'afficher les exportations Ajouter logging.sinks.{list, get}
Possibilité d'afficher l'utilisation des journaux Ajouter logging.usage.get
Possibilité d'exclure les journaux Ajouter logging.exclusions.{list, create, get, update, delete}
Possibilité d'exporter des journaux Ajouter logging.sinks.{list, create, get, update, delete}
Possibilité de créer des métriques basées sur les journaux Ajouter logging.logMetrics.{list, create, get, update, delete}

Accéder aux journaux exportés

Pour créer un récepteur en vue d'exporter des journaux, vous devez disposer des autorisations roles/logging.configWriter, roles/logging.admin ou roles/owner.

Une fois qu'un récepteur commence à exporter des journaux, il a un accès complet à toutes les entrées de journal reçues. Les récepteurs peuvent exporter des entrées de journal privé.

Une fois vos entrées de journal exportées, l'accès à ces copies est entièrement contrôlé par les autorisations et les rôles Cloud IAM sur les destinations : Cloud Storage, BigQuery ou Cloud Pub/Sub.

Champs d'application de l'accès à Logging

Les champs d'application d'accès représentent l'ancienne méthode de spécification des autorisations associées à vos instances de VM Compute Engine. Les champs d'application d'accès suivants s'appliquent à l'API Logging :

Champ d'application d'accès Autorisations accordées
https://www.googleapis.com/auth/logging.read role/logging.viewer
https://www.googleapis.com/auth/logging.write roles/logging.logWriter
https://www.googleapis.com/auth/logging.admin Accès complet à l'API Logging.
https://www.googleapis.com/auth/cloud-platform Accès complet à l'API Logging et à toutes les autres API Google Cloud activées

Bonnes pratiques

À présent que les rôles Cloud IAM sont disponibles, nous vous recommandons d'attribuer le champ d'application "Accès complet à toutes les API Google Cloud activées" à toutes vos instances de VM :

https://www.googleapis.com/auth/cloud-platform

Vous pouvez attribuer des rôles Cloud IAM spécifiques au compte de service de votre instance de VM pour restreindre l'accès à des API spécifiques. Pour en savoir plus, consultez la page Autorisations de compte de service.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Stackdriver Logging
Besoin d'aide ? Consultez notre page d'assistance.