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

Date de la dernière mise à jour : 23/12/2020

Comment réaliser un audit de base de données sur mon cluster Amazon Redshift ?

Brève description

Amazon Redshift fournit trois options de journalisation :

  • Journaux d'audit : stockés dans des compartiments Amazon Simple Storage Service (Amazon S3)
  • Tables STL : stockées 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 effectuées par ces utilisateurs et à quel moment. CloudTrail suit les activités au niveau du service.

Remarque : pour afficher les journaux à l'aide de tables externes, utilisez Amazon Redshift Spectrum. Pour plus d'informations, consultez la section Analysezr 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 : Choisissez l'option de journalisation qui correspond le mieux à votre cas d'utilisation.

Journaux d'audit Tables STL
Doit être activé. Pour activer la journalisation d'audit, suivez les étapes décrites dans Configuration d'audit à l'aide de la console ou Configuration de journalisation à l'aide de l'interface de ligne de commande et de l'API Amazon Redshift. Disponible automatiquement sur chaque nœud du cluster de l'entrepôt de données.
Les fichiers 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 Gestion du cycle de vie des objets. L'historique des journaux est stocké de deux à cinq jours, en fonction de l'utilisation des journaux et de l'espace disque disponible. Pour étendre la période de conservation, utilisez l'outil de persistance d'objet système Amazon Redshift à partir d'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.
À l'aide des horodatages, vous pouvez mettre en corrélation les ID de processus avec les activités de la base de données. Les redémarrages de cluster n'affectent pas les journaux d'audit dans Amazon S3. Il n'est pas toujours possible d'établir une corrélation entre les ID de processus et les activités de la base de données, car les ID de processus peuvent être recyclés lors du redémarrage du cluster.
Stocke les informations dans les fichiers journaux suivants : Stocke les informations dans plusieurs tables. Utilisez les tables suivantes pour afficher des informations similaires à ce qui est stocké dans les journaux d'audit S3 :
  • SVL_STATEMENTTEXT : fournit un enregistrement complet de toutes les 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, ainsi que les connexions et déconnexions.
Enregistre toutes les instructions SQL dans les journaux d'activité utilisateur. Les requêtes exécutées sont enregistrées dans STL_QUERY. Les instructions 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 l'exécution de chaque instruction SQL.
Enregistre l'action, l'utilisateur à l'origine de celle-ci et l'heure d'exécution, mais pas le temps nécessaire à l'exécution. Utilisez les colonnes STARTTIME et ENDTIME pour déterminer le temps qui a été nécessaire à l'exécution d'une activité. Pour déterminer quel utilisateur a effectué une action, combinez SVL_STATEMENTTEXT (userid) et PG_USER (usesysid).
Le stockage utilisé par vos journaux dans Amazon S3 vous est facturé. Aucun frais supplémentaire n'est facturé pour le stockage des 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 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 Gestion du cycle de vie des objets.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?