Ce document décrit la façon dont vous utilisez les rôles et autorisations IAM (Identity and Access Management) pour de contrôler l'accès aux données des journaux l'API Logging, l'explorateur de journaux et l'outil Google Cloud CLI.
Présentation
les autorisations IAM Les rôles déterminent votre capacité à accéder aux journaux dans l'API Logging, l'explorateur de journaux et l'outil Google Cloud CLI.
Un rôle est un ensemble d'autorisations. Vous ne pouvez pas accorder directement une autorisation principale. À la place, vous lui accordez un rôle. Lorsque vous accordez un rôle à un compte principal, vous lui accordez toutes les autorisations associées à ce rôle. Vous pouvez attribuer plusieurs rôles au même compte principal.
Pour utiliser Logging dans une ressource Google Cloud telle que un projet, un dossier, un bucket ou une organisation Google Cloud, un compte principal doit disposer un rôle IAM contenant les autorisations appropriées.
Rôles prédéfinis
IAM fournit des rôles prédéfinis pour accorder un accès précis à des ressources Google Cloud spécifiques et empêcher tout accès indésirable à d'autres ressources. Google Cloud crée et gère ces rôles, et met automatiquement à jour leurs autorisations si nécessaire, par exemple lorsque Logging ajoute de nouvelles fonctionnalités.
Le tableau suivant répertorie les rôles prédéfinis pour Logging. Pour pour chaque rôle, le tableau affiche le titre, la description, le contenu les autorisations et le type de ressource de niveau le plus bas auquel les rôles peuvent être accordés. Vous pouvez attribuer les rôles prédéfinis au niveau du projet Google Cloud ou, la plupart des cas, tout type situé plus haut dans le hiérarchie des ressources. Pour limiter le rôle d'accesseur de vue de journaux à une vue de journaux d'un bucket, utilisez attributs de ressource pour les conditions IAM.
Pour obtenir la liste autorisations individuelles contenues dans un rôle, consultez Obtenir les métadonnées du rôle
Role | Permissions |
---|---|
Logging Admin( Provides all permissions necessary to use all features of Cloud Logging. Lowest-level resources where you can grant this role:
|
|
Logs Bucket Writer( Ability to write logs to a log bucket. Lowest-level resources where you can grant this role:
|
|
Logs Configuration Writer( Provides permissions to read and write the configurations of logs-based metrics and sinks for exporting logs. Lowest-level resources where you can grant this role:
|
|
Log Field Accessor( Ability to read restricted fields in a log bucket. Lowest-level resources where you can grant this role:
|
|
Log Link Accessor( Ability to see links for a bucket. |
|
Logs Writer( Provides the permissions to write log entries. Lowest-level resources where you can grant this role:
|
|
Private Logs Viewer( Provides permissions of the Logs Viewer role and in addition, provides read-only access to log entries in private logs. Lowest-level resources where you can grant this role:
|
|
Logs View Accessor( Ability to read logs in a view. Lowest-level resources where you can grant this role:
|
|
Logs Viewer( Provides access to view logs. Lowest-level resources where you can grant this role:
|
|
Les sections suivantes fournissent des informations supplémentaires pour vous aider à choisir les rôles qui s'appliquent au niveau différents cas d'utilisation.
Rôles Logging
Pour permettre à un utilisateur d'effectuer toutes les actions dans Logging, accordez le Administrateur Logging (
roles/logging.admin
).Pour permettre à un utilisateur de créer et de modifier des configurations de journalisation, attribuez-lui le rôle "Rédacteur de configuration des journaux" (
roles/logging.configWriter
). Ce rôle vous permet de créer ou de modifier les éléments suivants:- Récepteurs de journaux
- Buckets de journaux
- Vues de journaux
- Ensembles de données associés
- Champs d'application de journaux
Ce rôle ne suffit pas à créer des métriques basées sur les journaux. Règles d'alerte basées sur les journaux. Pour en savoir plus sur les rôles requises pour ces tâches, consultez Autorisations pour les métriques basées sur les journaux Autorisations pour les règles d'alerte basées sur les journaux.
Pour permettre à un utilisateur de lire les journaux dans les buckets
_Required
et_Default
ou utiliser les pages Explorateur de journaux et Analyse de journaux. attribuer l'un des rôles suivants:- Pour accéder à tous les journaux du bucket
_Required
et accéder au_Default
sur le bucket_Default
, accordez le rôle Lecteur de journaux (roles/logging.viewer
). - Pour accéder à tous les journaux des buckets
_Required
et_Default
, y compris les journaux d'accès aux données, le rôle Lecteur de journaux privés (roles/logging.privateLogViewer
).
- Pour accéder à tous les journaux du bucket
Pour permettre à un utilisateur de lire les journaux dans toutes les vues de journaux d'un projet, accordez-lui le rôle IAM
roles/logging.viewAccessor
sur le projet.Pour autoriser un utilisateur à ne lire que les journaux d'une vue spécifique, deux options s'offrent à vous:
Créez une stratégie IAM pour la vue de journal, puis ajoutez une de liaison IAM à cette stratégie, qui accorde au compte principal l'accès à la vue de journal.
Accorder au compte principal le rôle IAM
roles/logging.viewAccessor
sur le projet contenant la vue de journal mais associez une condition IAM à limiter l'autorisation à la vue de journal spécifique.
Pour en savoir plus sur la création de vues de journaux et l'octroi d'accès, consultez la page Configurez des vues de journaux sur un bucket de journaux.
Pour autoriser un utilisateur à accéder à des champs
LogEntry
restreints, le cas échéant : dans un bucket de journaux donné, accordez Rôle d'accesseur de champs de journaux (roles/logging.fieldAccessor
). Pour en savoir plus, consultez Configurez l'accès au niveau du champ.Pour permettre à un utilisateur d'écrire des journaux à l'aide de l'API Logging, accordez le rôle Rédacteur de journaux (
roles/logging.logWriter
). Ce rôle n'accorde pas de droits de lecture.Pour autoriser le compte de service d'un récepteur à acheminer les journaux vers un bucket dans une un autre projet Google Cloud, attribuez-lui le rôle Rédacteur de bucket de journaux (
roles/logging.bucketWriter
). Pour obtenir des instructions sur l'attribution d'autorisations à un compte de service, consultez Définir les autorisations des destinations
Rôles au niveau du projet
Pour accorder un accès en lecture à la plupart des services Google Cloud, Accordez le rôle Lecteur (
roles/viewer
).Ce rôle inclut toutes les autorisations accordées par le rôle Lecteur de journaux (
roles/logging.viewer
).Pour accorder aux éditeurs l'accès à la plupart des services Google Cloud, accorder le rôle Éditeur (
roles/editor
).Ce rôle inclut toutes les autorisations accordées par le rôle Lecteur de journaux (
roles/logging.viewer
) et les autorisations permettant de écrire des entrées de journal, supprimer des journaux et créer des métriques basées sur les journaux. Toutefois, ce rôle ne permet pas aux utilisateurs de créer récepteurs, lire les journaux d'audit des accès aux données qui se trouvent dans le bucket_Default
, ou lire des journaux dans des buckets de journaux définis par l'utilisateur.Pour accorder un accès complet à la plupart des services Google Cloud, attribuez-lui le rôle Propriétaire (
roles/owner
).
Attribution des rôles…
Pour savoir comment attribuer un rôle à un compte principal, consultez Accorder, modifier et révoquer les accès
Vous pouvez attribuer plusieurs rôles au même utilisateur. Pour obtenir la liste des autorisations contenues dans un rôle, consultez la section Obtenir les métadonnées du rôle.
Si vous essayez d'accéder à une ressource Google Cloud et que vous ne disposez pas les autorisations du rôle Propriétaire, puis contactez le compte principal ressource.
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 pour l'API Logging, choisissez des autorisations dans la section Autorisations des API, puis suivez les instructions pour créer un rôle personnalisé.
Pour un rôle accordant des autorisations d'utilisation de l'explorateur de journaux, choisissez parmi les groupes d'autorisations figurant dans la section Autorisations de console, puis suivez les instructions pour créer un rôle personnalisé
Pour un rôle accordant des autorisations d'utilisation de
gcloud logging
, consultez la section Autorisations de la ligne de commande sur cette page, puis suivez les instructions pour créer un rôle personnalisé.
Pour en savoir plus sur les rôles personnalisés, consultez Comprendre les rôles personnalisés d'IAM
Autorisations pour la console Google Cloud
Le tableau suivant répertorie les autorisations nécessaires pour utiliser l'explorateur 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 |
Afficher les journaux d'audit des accès aux données | logging.privateLogEntries.list |
Afficher les métriques basées sur les journaux | logging.logMetrics.[list, get] |
Afficher les récepteurs | logging.sinks.[list, get] |
Afficher l'utilisation des journaux | logging.usage.get |
Lister et afficher les champs d'application de journaux | logging.logScopes.[get, list] |
Afficher le champ d'application de journal par défaut | observability.scopes.get |
Exclure des journaux | logging.exclusions.[list, create, get, update, delete] |
Créer et utiliser des récepteurs | logging.sinks.[list, create, get, update, delete] |
Créer des métriques basées sur les journaux | logging.logMetrics.[list, create, get, update, delete] |
Enregistrer et utiliser des requêtes privées | logging.queries.usePrivate |
Enregistrer et utiliser des requêtes partagées | logging.queries.[share, getShared, updateShared, deleteShared,
listShared] |
Utiliser des requêtes récentes | logging.queries.[create, list] |
Créer et gérer des champs d'application de journaux | logging.logScopes.[create, delete, get, list, update] |
Définir et gérer le champ d'application de journal par défaut | observability.scopes.[get, update] |
Autorisations pour la ligne de commande
Les commandes gcloud logging
sont contrôlées par les autorisations IAM.
Pour utiliser l'une des commandes gcloud logging
, les comptes principaux doivent disposer du
Autorisation serviceusage.services.use
.
Un compte principal doit également disposer du rôle IAM correspondant au la ressource de journal et au cas d'utilisation. Pour en savoir plus, consultez autorisations de l'interface de ligne de commande.
Autorisations pour les ensembles de données BigQuery associés
La liste suivante décrit les rôles prédéfinis et les autorisations correspondantes. pour gérer vos ensembles de données BigQuery associés:
L'administrateur Logging (
roles/logging.admin
) et Rédacteur de configuration des journaux (roles/logging.configWriter
) contiennent les autorisations suivantes:logging.links.list
logging.links.create
logging.links.get
logging.links.delete
L'accesseur de liens de journaux (
roles/logging.linkViewer
), Lecteur des journaux privés (roles/logging.privateLogViewer
) et Lecteur de journaux (roles/logging.viewer
) contiennent les autorisations suivantes:logging.links.list
logging.links.get
Les rôles et autorisations précédemment répertoriés ne s'appliquent qu'aux utilisateurs Cloud Logging pour gérer vos ensembles de données associés. Si vous utilisez l'API BigQuery pour gérer vos ensembles de données, vous aurez peut-être besoin de services les rôles et les autorisations nécessaires. Consultez la page Contrôle des accès avec IAM. pour BigQuery afin d'en savoir plus.
Autorisations d'enregistrement des requêtes
Cette section décrit les rôles prédéfinis et les autorisations enregistrement, partage et utilisation de requêtes dans les pages Explorateur de journaux et Analyse de journaux. Utilisation de l'enregistrement privé requêtes que vous seul pouvez voir et à l'aide de requêtes enregistrées partagées avec d'autres membres du projet Google Cloud nécessitent des autorisations différentes:
-
Pour obtenir les autorisations nécessaires pour lire les données de journaux afin de créer des requêtes, utilisez des requêtes enregistrées privées. ou pour répertorier et obtenir des requêtes partagées, demandez à votre administrateur de vous accorder le Lecteur de journaux (
roles/logging.viewer
) sur votre projet.Ce rôle prédéfini contient les autorisations requises pour lire les données de journaux afin de créer des requêtes, utiliser des requêtes enregistrées privées ou pour répertorier et obtenir des requêtes partagées. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour lire les données des journaux afin de créer des requêtes, d'utiliser des requêtes enregistrées privées, ou pour répertorier et obtenir des requêtes partagées:
-
Utiliser des requêtes enregistrées privées:
logging.queries.usePrivate
-
Lister et obtenir des requêtes partagées:
<ph type="x-smartling-placeholder">
- </ph>
-
logging.queries.listShared
-
logging.queries.getShared
-
-
Utiliser des requêtes enregistrées privées:
-
Pour obtenir les autorisations nécessaires pour créer, mettre à jour et supprimer des requêtes partagées, demandez à votre administrateur de vous accorder le Administrateur Logging (
roles/logging.admin
) sur votre projet.Ce rôle prédéfini contient les autorisations requises pour créer, mettre à jour et supprimer des requêtes partagées. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer, mettre à jour et supprimer des requêtes partagées:
-
logging.queries.share
-
logging.queries.updateShared
-
logging.queries.deleteShared
-
Autorisations pour le routage des journaux
Pour en savoir plus sur la configuration des contrôles d'accès lors de la création et de la gestion de récepteurs pour acheminer les journaux, consultez Définir les autorisations des destinations
Notez que la gestion des filtres d'exclusion est intégrée à la configuration des récepteurs. Toutes les autorisations liées à la gestion des récepteurs, y compris la définition de filtres d'exclusion, sont incluses dans les autorisations logging.sinks.*
. Lors de la création d'un rôle personnalisé qui inclut des autorisations permettant de gérer les filtres d'exclusion, ajoutez les autorisations logging.sinks.*
au rôle plutôt que d'ajouter les autorisations logging.exclusions.*
.
Une fois que vos entrées de journal ont été acheminées vers une destination compatible, l'accès aux copies de journaux est contrôlé entièrement par les autorisations et les rôles IAM sur les destinations : Cloud Storage, BigQuery ou Pub/Sub.
Autorisations pour les métriques basées sur les journaux
Voici un récapitulatif des rôles et autorisations dont un compte principal a besoin pour accéder aux métriques basées sur les journaux :
Rédacteur de configuration des journaux (
roles/logging.configWriter
) permet aux comptes principaux de répertorier, créer, récupérer mettre à jour et supprimer des métriques basées sur les journaux.Le rôle Lecteur de journaux (
roles/logging.viewer
) contient des autorisations permettant d'afficher les métriques existantes. Plus précisément, un compte principal a besoin des autorisationslogging.logMetrics.get
etlogging.logMetrics.list
pour afficher les métriques existantes.Le lecteur Monitoring (
roles/monitoring.viewer
) le rôle contient les autorisations de lecture Données TimeSeries Plus précisément, le compte principal a besoin Autorisationmonitoring.timeSeries.list
de lire les données des séries temporelles.l'administrateur Logging (
roles/logging.admin
) ; Éditeur de projet (roles/editor
) Rôles de propriétaire de projet (roles/owner
) qui contiennent les autorisations nécessaires pour créer des métriques basées sur les journaux. Plus précisément, compte principal a besoin de l'autorisationlogging.logMetrics.create
pour créer basées sur les journaux.
Autorisations pour les règles d'alerte basées sur les journaux
Pour créer et gérer des règles d'alerte basées sur les journaux, un compte principal a besoin du les rôles Logging et Monitoring autorisations:
-
Pour obtenir les autorisations nécessaires pour créer des règles d'alerte basées sur les journaux dans Monitoring et pour créer les règles de notification Logging associées, demandez à votre administrateur de vous accorder le les rôles IAM suivants sur votre projet:
-
Éditeur Monitoring AlertPolicy (
roles/monitoring.alertPolicyEditor
) -
Rédacteur de configuration des journaux (
roles/logging.configWriter
)
Ces rôles prédéfinis contiennent Les autorisations requises pour créer des règles d'alerte basées sur les journaux dans Monitoring et pour créer les règles de notification Logging associées Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer des règles d'alerte basées sur les journaux dans Monitoring et pour créer les règles de notification Logging associées:
-
monitoring.alertPolicies.create
-
logging.notificationRules.create
-
Éditeur Monitoring AlertPolicy (
Si vous créez votre règle d'alerte dans la Google Cloud CLI, les éléments suivants un rôle ou une autorisation est également requis:
-
Pour obtenir l'autorisation nécessaire pour créer une règle d'alerte à l'aide de la Google Cloud CLI, demandez à votre administrateur de vous accorder le rôle IAM Client de Service Usage (
roles/serviceusage.serviceUsageConsumer
) sur votre projet.Ce rôle prédéfini contient L'autorisation
serviceusage.services.use
, qui est pour créer une règle d'alerte à l'aide de la Google Cloud CLI.
Si votre projet Google Cloud dispose déjà de canaux de notification, vous pouvez configurer votre règle d'alerte pour utiliser un canal existant des rôles ou des autorisations supplémentaires. Toutefois, si vous devez créer un canal de notification pour votre règle d'alerte basée sur les journaux, le rôle ou l'autorisation suivant est obligatoire:
-
Pour obtenir l'autorisation nécessaire pour créer un canal de notification pour une règle d'alerte basée sur les journaux, demandez à votre administrateur de vous accorder le Rôle IAM Éditeur Monitoring NotificationChannel (
roles/monitoring.notificationChannelEditor
) sur votre projet.Ce rôle prédéfini contient L'autorisation
monitoring.notificationChannels.create
, qui est nécessaire pour créer un canal de notification pour une règle d'alerte basée sur les journaux.
Champs d'application de l'accès à Logging
Les niveaux d'accès représentent l'ancienne méthode de spécification des autorisations associées aux comptes de service sur 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 | roles/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 |
Pour en savoir plus sur l'utilisation de cette ancienne méthode pour définir les niveaux d'accès de vos comptes de service, consultez la page Autorisations de compte de service.