Ce document vous aide à comprendre comment Cloud Logging utilise les rôles et les autorisations Identity and Access Management (IAM) pour contrôler l'accès aux ressources Logging. Vos rôles IAM déterminent si vous pouvez effectuer des actions telles que créer des récepteurs ou des buckets de journaux, lire les données de journaux stockées dans un bucket de journaux ou accéder à des pages comme l'explorateur de journaux. Si vous exécutez une commande API Logging ou Google Cloud CLI, vos rôles IAM déterminent si vous êtes autorisé à exécuter la commande.
Présentation
Vos rôles IAM déterminent les actions que vous pouvez effectuer dans Logging. Un rôle est un ensemble d'autorisations. 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.
Les rôles IAM sont attribués à une ressource, comme un projet Trusted Cloud , un dossier, un bucket ou une organisation. Par exemple, vous pouvez attribuer à un compte principal le rôle Lecteur de journaux (role/logging.viewer
) sur un projet Trusted Cloud spécifique.
Les sections Rôles prédéfinis et Rôles Logging de cette page fournissent des informations complètes sur les rôles et les autorisations de Logging. D'autres sections de cette page fournissent des informations sur les rôles ou les autorisations pour des cas d'utilisation spécifiques.
Le reste de cette section explique comment accorder à un compte principal l'accès à des buckets de journaux ou à certaines entrées de journaux d'un bucket de journaux.
Accorder l'accès aux buckets de journaux
Le rôle Lecteur de journaux (role/logging.viewer
) permet à un compte principal d'accéder à toutes les données de journaux stockées dans les buckets de journaux _Required
et _Default
, à l'exception des journaux d'accès aux données. Si un principal a besoin d'accéder aux journaux d'accès aux données, accordez-lui le rôle Lecteur de journaux privés (roles/logging.privateLogViewer
).
Pour les buckets de journaux personnalisés, vous pouvez accorder l'accès à la vue _AllLogs
ou à une vue de journaux personnalisée. Logging crée automatiquement la vue _AllLogs
, qui inclut toutes les entrées de journal du bucket de journaux. Pour accorder l'accès à une vue de journaux, vous devez ajouter une liaison IAM à la stratégie IAM associée à la vue de journaux ou au projet. Pour en savoir plus, consultez Contrôler l'accès à une vue de journal.
La journalisation est également compatible avec les tags sur les buckets de journaux, ce qui peut vous aider à comprendre vos coûts. Vous pouvez également utiliser des tags pour empêcher un utilisateur de supprimer un bucket de journaux. Pour en savoir plus, consultez Utiliser des tags pour gérer l'accès aux buckets de journaux.
Accorder l'accès à certaines entrées de journaux dans un bucket de journaux
Pour accorder à un compte principal l'accès à certaines entrées de journaux stockées dans un bucket de journaux, créez une vue de journaux, puis accordez-lui l'accès à cette vue. Par exemple, vous pouvez créer une vue de journaux dans le bucket de journaux _Default
qui n'inclut que les entrées de journal dont le type de ressource est une instance Compute Engine.
Pour savoir comment créer des vues de journaux et découvrir les différentes stratégies que vous pouvez utiliser pour accorder l'accès à la vue, consultez Configurer des vues de journaux dans un bucket de journaux.
Rôles prédéfinis
IAM fournit des rôles prédéfinis pour accorder un accès précis à des ressources Trusted Cloud spécifiques et empêcher tout accès indésirable à d'autres ressources. Trusted Cloud by S3NS 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 chaque rôle, le tableau affiche le titre, la description, les autorisations qu'il contient et le type de ressource le plus bas pour lequel les rôles peuvent être attribués. Vous pouvez attribuer les rôles prédéfinis au niveau du projet Trusted Cloud ou, dans la plupart des cas, à tout type supérieur dans la hiérarchie des ressources. Pour limiter le rôle "Accesseur de vues des journaux" à une vue des journaux dans un bucket, utilisez les attributs de ressource pour les conditions IAM.
Pour obtenir la liste de toutes les autorisations individuelles contenues dans un rôle, consultez la section 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:
|
|
Cloud Logging Service Agent( Grants a Cloud Logging Service Account the ability to create and link datasets. |
|
SQL Alert Writer Beta( Ability to write SQL Alerts. |
|
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 à déterminer les rôles qui s'appliquent aux cas d'utilisation de vos comptes principaux.
Rôles Logging
Pour autoriser un utilisateur à effectuer toutes les actions dans Logging, attribuez-lui le rô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 :Pour autoriser un utilisateur à lire les journaux dans les buckets
_Required
et_Default
ou à utiliser la page Explorateur de journaux, attribuez-lui l'un des rôles suivants :- Pour accéder à tous les journaux du bucket
_Required
et à la vue_Default
du bucket_Default
, attribuez 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, accordez 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
dans le projet.Pour autoriser un utilisateur à lire uniquement les journaux d'une vue de journaux spécifique, vous avez deux options :
Créez une stratégie IAM pour la vue des journaux, puis ajoutez une liaison IAM à cette stratégie qui accorde au compte principal l'accès à la vue des journaux.
Attribuez au compte principal le rôle IAM
roles/logging.viewAccessor
dans le projet contenant la vue de journal, mais associez-y une condition IAM pour limiter l'attribution à la vue de journal spécifique.
Pour savoir comment créer des vues de journaux et accorder l'accès, consultez Configurer des vues de journaux dans un bucket de journaux.
Pour autoriser un utilisateur à écrire des journaux à l'aide de l'API Logging, accordez-lui le rôle Rédacteur de journaux (
roles/logging.logWriter
). Ce rôle n'accorde pas de droits de lecture.Pour permettre au compte de service d'un récepteur de router les journaux vers un bucket dans un autre projet Trusted Cloud , accordez-lui le rôle Rédacteur de buckets de journaux (
roles/logging.bucketWriter
). Pour savoir comment accorder des autorisations à un compte de service, consultez Définir les autorisations de destination.
Rôles au niveau du projet
Pour accorder un accès en lecture à la plupart des services Trusted Cloud by S3NS , attribuez 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 l'accès Éditeur à la plupart des services Trusted Cloud by S3NS , attribuez 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
), ainsi que les autorisations permettant d'écrire des entrées de journal et de supprimer des journaux. Toutefois, ce rôle ne permet pas aux utilisateurs de créer des récepteurs, de lire les journaux d'audit d'accès aux données qui se trouvent dans le bucket_Default
ni de lire les journaux qui se trouvent dans les buckets de journaux définis par l'utilisateur.Pour accorder un accès complet à la plupart des services Trusted Cloud by S3NS , attribuez le rôle Propriétaire (
roles/owner
).
Attribution des rôles…
Pour savoir comment accorder un rôle à un compte principal, consultez la section 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 tentez d'accéder à une ressource Trusted Cloud et que vous ne disposez pas des autorisations nécessaires, contactez le compte principal désigné comme propriétaire de la 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 IAM.
Autorisations Cloud Logging
Le tableau suivant est une liste partielle des autorisations nécessaires pour certaines fonctionnalités de Cloud Logging. Ce tableau peut vous aider à identifier les autorisations dont vous avez besoin pour utiliser des pages comme 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 pour l'accès aux données | logging.privateLogEntries.list |
Afficher les récepteurs | logging.sinks.{list, get} |
Afficher l'utilisation des journaux | logging.usage.get |
Télécharger les journaux | logging.logEntries.{list, download}
Une seule de ces autorisations est nécessaire pour télécharger les journaux. Les rôles contenant les autorisations permettant de télécharger des journaux doivent être accordés au niveau du projet. Vous ne pouvez pas télécharger les journaux si un rôle contenant ces autorisations est accordé dans le fichier de stratégie IAM d'une vue de journaux. |
Lister et afficher les champs d'application des journaux | logging.logScopes.{get, list} |
Afficher le champ d'application des journaux par défaut | observability.scopes.get |
Exclure des journaux | logging.exclusions.{list, create, get, update, delete}
Lorsque vous créez un rôle personnalisé qui inclut des autorisations permettant de gérer les filtres d'exclusion, ajoutez les autorisations |
Créer et utiliser des récepteurs | logging.sinks.{list, create, get, update, delete}
Lorsque vous créez un récepteur, vous devez également attribuer au compte de service un rôle IAM qui lui permet d'écrire des entrées de journal dans la destination. Pour en savoir plus, consultez Définir les autorisations des destinations. Une fois que vos entrées de journal ont été acheminées vers une destination compatible, l'accès aux entrées de journal est entièrement contrôlé par les autorisations et les rôles IAM sur la destination. |
Enregistrer et utiliser des requêtes privées | logging.queries.usePrivate logging.queries.{listShared,getShared} |
Enregistrer et utiliser des requêtes partagées | logging.queries.{share, getShared, updateShared, deleteShared,
listShared} |
Utiliser les requêtes récentes | logging.queries.{create, list} |
Créer et gérer des étendues de journaux | logging.logScopes.{create, delete, get, list, update} |
Définir et gérer le champ d'application des journaux 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 les commandes gcloud logging
, les comptes principaux doivent disposer de l'autorisation serviceusage.services.use
.
Un compte principal doit également disposer du rôle IAM correspondant à la ressource du journal et au cas d'utilisation. Pour en savoir plus, consultez Autorisations de l'interface de ligne de commande.