En utilisant AWS re:Post, vous acceptez les AWS re:Post Conditions d’utilisation

Comment puis-je utiliser les journaux pour vérifier l’activité de mon cluster de bases de données Amazon Redshift ?

Lecture de 5 minute(s)
0

Je souhaite réaliser un audit de la base de données de mon cluster Amazon Redshift.

Brève description

Amazon Redshift propose trois options de journalisation :

La journalisation d’audit et les tables STL/SYS enregistrent les activités au niveau de la base de données, telles que les connexions des utilisateurs et la date de connexion. Les tables enregistrent également les activités SQL effectuées par les utilisateurs et quand. CloudTrail suit l’activité des utilisateurs au niveau du service.

Remarque : Pour afficher les journaux de tables externes, utilisez Amazon Redshift Spectrum. Pour en savoir plus, consultez la page de blog expliquant comment analyser des journaux d’audit de bases de données pour garantir la sécurité et la conformité à l’aide d’Amazon Redshift Spectrum.

Résolution

Journalisation d’audit et tables STL/SYS

Le tableau suivant présente une comparaison de la journalisation d’audit et des tables STL/SYS. Choisissez l’option de journalisation adaptée à votre cas d’utilisation.

Journalisation d’auditTables STL/SYS
Vous pouvez utiliser la console Amazon Redshift pour activer la journalisation d’audit ou l’interface de la ligne de commande AWS (AWS CLI) et l’API Amazon Redshift.Les tables STL/SYS sont automatiquement disponibles sur chaque nœud du cluster d’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 permettant de les archiver ou de les supprimer automatiquement. Pour plus d’informations, consultez la page Gestion du cycle de vie du stockage.L’historique des journaux est conservé pendant 2 à 5 jours, en fonction de l’utilisation des journaux et de l’espace disque disponible. Pour prolonger la période de conservation, utilisez l’utilitaire de persistance des objets système Amazon Redshift sur le site Web GitHub.
L’accès aux fichiers journaux d’audit ne nécessite pas d’accès à la base de données Amazon Redshift.L’accès aux tables STL/SYS nécessite l’accès à la base de données Amazon Redshift.
La consultation des journaux stockés dans Amazon S3 ne nécessite pas d’utiliser les ressources de calcul de la base de données.Tout comme c’est le cas pour d’autres requêtes, l’exécution de requêtes sur des tables STL/SYSles nécessite d’utiliser les ressources de calcul de la base de données.
Vous pouvez corréler les ID de processus avec les activités de la base de données à l’aide des horodatages. Les redémarrages du cluster n’ont aucune incidence sur la journalisation d’audit dans Amazon S3.Il n’est pas toujours possible de corréler les ID de processus avec les activités de la base de données, car ces ID peuvent être recyclés au redémarrage du cluster.
La journalisation d’audit stocke les informations dans les fichiers journaux suivants : Journal de connexion,Journal utilisateur et Journal d’activité utilisateur. Remarque : Vous devez activer le paramètre de base de données enable_user_activity_logging pour le journal d’activité utilisateur. Pour plus d’informations, consultez la page Activation de la journalisation.Vous pouvez utiliser SVL_STATEMENTTEXT, STL_CONNECTION_LOG et SYS_CONNECTION_LOG pour afficher des informations détaillées.
La journalisation d’audit enregistre toutes les instructions SQL dans les journaux d’activité utilisateur.Les requêtes que vous exécutez sont enregistrées dans STL_QUERY. Les instructions DDL sont enregistrées dans STL_DDLTEXT. Le texte des commandes SQL non-SELECT est enregistré dans STL_UTILITYTEXT. Sur Amazon Redshift Serverless, utilisez SYS_QUERY_HISTORY et SYS_QUERY_DETAIL pour vérifier toutes les commandes SQL.
Les instructions sont enregistrées dès qu’Amazon Redshift les reçoit. Les fichiers sur Amazon S3 sont mis à jour par lots et peuvent s’afficher au bout de quelques heures.Les journaux sont générés après l’exécution de chaque instruction SQL.
La journalisation d’audit enregistre les actions effectuées, par qui et quand, mais pas la durée nécessaire à leur exécution.Utilisez les colonnes STARTTIME et ENDTIME pour déterminer la durée d’exécution d’une activité. Pour déterminer l’utilisateur à l’origine d’une action, combinez SVL_STATEMENTTEXT (userid) avec PG_USER (usesysid) sur les clusters provisionnés. Utilisez SYS_QUERY_HISTORY et SYS_QUERY_DETAIL pour déterminer la durée d’exécution d’une activité sur Amazon Redshift Serverless.
Le stockage utilisé par vos journaux dans Amazon S3 vous est facturé.Il n’y a pas de frais supplémentaires pour le stockage des tables STL/SYS.
Les requêtes que vous exécutez uniquement sur le nœud principal sont enregistrées.Les requêtes que vous exécutez uniquement sur le nœud principal ne sont pas enregistrées.

CloudTrail

Utilisez les informations collectées par CloudTrail pour déterminer les requêtes adressées avec succès aux services AWS, par qui et quand. 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 permettant de les archiver ou de les supprimer automatiquement. Pour plus d’informations, consultez la page Gestion du cycle de vie du stockage.

Informations connexes

Optimisation des performances des requêtes

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 10 mois