Comment utiliser les journaux pour suivre l'activité du cluster de base de données Amazon Redshift ?

Date de la dernière mise à jour : 16/04/2019

Comment effectuer un audit de base de données sur le cluster Amazon Redshift ?

Brève description

Amazon Redshift propose trois options de journalisation :

  • Journaux d'audit : stockage dans des compartiments Amazon Simple Storage Service (Amazon S3)
  • Tables STL : stockage sur chaque nœud du cluster
  • AWS CloudTrail : stockage dans des compartiments Amazon S3

Les journaux d'audit et les tables STL enregistrent les activités au niveau de la base de données, notamment quels utilisateurs se sont connectés et à quel moment. Ces tables enregistrent également les activités SQL que ces utilisateurs ont effectuées et à quel moment. CloudTrail effectue le suivi des activités effectuées au niveau des services.

Remarque : pour afficher les journaux à l'aide de tables externes, utilisez Amazon Redshift Spectrum. Pour plus d'informations, consultez la section Analyser les journaux d'audit de base de données pour la sécurité et la conformité à l'aide d'Amazon Redshift Spectrum.

Résolution

Journaux d'audit et tables STL

Le tableau suivant compare les journaux d'audit et les tables STL. Sélectionnez l'option de journalisation adaptée à votre cas d'utilisation.

Journaux d'audit Tables STL
Doivent être activés. Pour activer la journalisation d'audit, suivez les étapes de la section Configuration d'audit à l'aide de la console ou Configuration de la journalisation à l'aide de l'interface de ligne de commande et de l'API Amazon Redshift. Automatiquement disponibles sur chaque nœud du cluster d'entrepôt de données.
Les fichiers de journaux d'audit sont stockés indéfiniment, sauf si vous définissez des règles de cycle de vie Amazon S3 pour archiver ou supprimer automatiquement les fichiers. Pour plus d'informations, consultez la section Gestion du cycle de vie des objets. L'historique de journalisation est conservé entre deux et cinq jours, en fonction de l'utilisation de la journalisation et de l'espace disque disponible. Pour allonger la durée de conservation, utilisez l'outil de persistance d'objet système Amazon Redshift depuis AWS Labs sur GitHub.
L'accès aux fichiers de journaux d'audit ne nécessite pas l'accès à la base de données Amazon Redshift. L'accès aux tables STL nécessite l'accès à la base de données Amazon Redshift.
Les journaux d'historique stockés dans Amazon S3 ne nécessitent pas de ressources informatiques de bases de données. Exécuter des requêtes sur les tables STL requiert des ressources informatiques de bases de données, comme lorsque vous exécutez d'autres requêtes.
Lorsque vous utilisez des horodatages, vous pouvez mettre en corrélation les ID de processus et les activités de bases de données. Les redémarrages du cluster n'affectent pas les journaux d'audit dans Amazon S3. Il n'est pas toujours possible de mettre en corrélation les ID de processus et les activités de bases de données, car les ID de processus peuvent être recyclés lorsque le cluster redémarre.

Stockent les informations dans les fichiers journaux suivants :

Stockent les informations dans plusieurs tables. Utilisez les tables suivantes pour examiner des informations similaires à ce qui est stocké dans les journaux d'audit S3 :
  • SVL_STATEMENTTEXT : fournit un enregistrement complet des commandes SQL qui ont été exécutées sur le système. Combine toutes les lignes des tables STL_DDLTEXT, STL_QUERYTEXT et STL_UTILITYTEXT.
  • STL_CONNECTION_LOG : enregistre les tentatives d'authentification, les connexions ou les déconnexions.
Enregistre toutes les commandes SQL dans les journaux d'activité utilisateur. Les requêtes exécutées sont consignées dans STL_QUERY. Les commandes DDL sont consignées dans STL_DDLTEXT. Le texte des commandes SQL autres que SELECT est consigné dans STL_UTILITYTEXT.
Les commandes sont consignées dès qu'Amazon Redshift les reçoit. Les fichiers sur Amazon S3 sont mis à jour par lots et s'affichent parfois au bout de quelques heures. Les journaux sont générés après que chaque commande SQL s'exécute.
Enregistrent les actions qui ont été effectuées et à quel moment, mais pas le temps qu'il a fallu pour que l'action se termine. Utilisez les colonnes STARTTIME et ENDTIME pour déterminer le temps qu'il a fallu pour qu'une activité se termine. Pour déterminer l'utilisateur qui a effectué une action, combinez SVL_STATEMENTTEXT (userid) et PG_USER (usesysid).
Vous êtes facturé pour le stockage que les journaux utilisent dans Amazon S3. Il n'y a pas de frais supplémentaires pour le stockage de tables STL.
Les requêtes exécutées uniquement sur le nœud principal sont enregistrées. Les requêtes exécutées uniquement sur le nœud principal ne sont pas enregistrées.

CloudTrail

Grâce aux informations collectées par CloudTrail, vous pouvez déterminer les requêtes qui ont été effectuées avec succès auprès des services AWS, l'utilisateur qui a effectué les requêtes et à quel moment il les a effectuées. Pour plus d'informations, consultez la section Journalisation des appels d'API Amazon Redshift avec AWS CloudTrail.

Les fichiers journaux CloudTrail sont stockés indéfiniment dans Amazon S3, sauf si vous définissez des règles de cycle de vie pour archiver ou supprimer automatiquement les fichiers. Pour plus d'informations, consultez la section Gestion du cycle de vie des objets.


Cette page vous a-t-elle été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?