Comment configurer les journaux d'accès au serveur sur S3

Comment configurer les journaux d'accès au serveur sur S3
Chaque fois qu'une personne sur un serveur initie une opération, une demande est générée dans le backend pour réaliser cette opération. Les opérations effectuées sur les serveurs sont généralement des opérations crud (créer, lire, mettre à jour, supprimer). Les demandes générées pour les opérations peuvent être enregistrées ou stockées par le serveur, et nous les appelons des journaux d'accès ou des journaux d'accès au serveur.

Ces journaux peuvent être utilisés pour surveiller les performances, retracer les points de défaillance, améliorer la sécurité, analyser le coût et à de nombreuses autres fins. Initialement, les journaux sont générés au format texte, mais nous pouvons effectuer une analyse des données dessus à l'aide de différents outils et logiciels pour en faire retirer les informations requises.

AWS vous permet d'activer les journaux d'accès pour les seaux S3, vous fournissant les détails concernant les opérations et les actions effectuées sur ce seau S3. Vous avez juste besoin d'activer la connexion sur le seau et de fournir un emplacement où ces journaux seront stockés, généralement un autre seau S3. Le processus n'est pas en temps réel, car ces journaux sont mis à jour en une ou deux heures.

Dans cet article, nous verrons comment nous pouvons facilement activer les journaux d'accès au serveur pour les seaux S3 dans nos comptes AWS.

Création d'un seau S3

Pour commencer, nous devons créer deux seaux S3; L'un sera le seau réel que nous voulons utiliser pour nos données, et l'autre sera utilisé pour stocker les journaux de notre seau de données. Alors, connectez-vous simplement à votre compte AWS et recherchez le service S3 en utilisant la barre de recherche disponible en haut de votre console de gestion.

Maintenant dans la console S3, cliquez sur Créer un seau.

Dans la section de création de seau, vous devez fournir un nom de seau; Le nom de seau doit être universellement unique et ne doit exister dans aucun autre compte AWS. Ensuite, vous devez spécifier la région AWS où vous voulez que votre seau S3 soit placé; Bien que S3 soit un service mondial, ce qui signifie qu'il peut être accessible dans n'importe quelle région, vous devez toujours définir dans quelle région vos données seront stockées. Vous pouvez gérer de nombreux autres paramètres comme le versioning, le cryptage, l'accès public, etc., Mais vous pouvez simplement les laisser par défaut.

Maintenant, faites défiler vers le bas et cliquez sur le seau Créer dans le coin inférieur droit pour terminer le processus de création du seau.

De même, créez un autre seau S3 comme seau de destination pour les journaux d'accès au serveur.

Nous avons donc réussi à créer nos seaux S3 pour télécharger des données et stocker des journaux.

Activer les journaux d'accès à l'aide de la console AWS

Maintenant, à partir de la liste S3 Bucket, sélectionnez le seau pour lequel vous souhaitez activer les journaux d'accès au serveur.

Accédez à l'onglet Propriétés de la barre de menu supérieure.

Dans la section Propriétés de S3, faites défiler jusqu'à la section de journalisation d'accès au serveur et cliquez sur l'option Modifier.

Ici, sélectionnez l'option Activer; Cela mettra automatiquement à jour la liste de contrôle d'accès (ACL) de votre seau S3, vous n'avez donc pas besoin de gérer les autorisations vous-même.

Vous devez maintenant fournir le seau cible où vos journaux seront stockés; Cliquez simplement sur Parcourir S3.

Sélectionnez le seau que vous souhaitez configurer pour les journaux d'accès et cliquez sur Choisir la voie bouton.

NOTE: N'utilisez jamais le même seau pour enregistrer les journaux d'accès au serveur que chaque journal, une fois ajouté dans le seau déclenchera un autre journal, et il générera une boucle de journalisation infinie qui entraînera une augmentation de la taille du seau S3 pour toujours, et vous vous retrouverez avec un Énorme montant de facture sur votre compte AWS.

Une fois le seau cible choisi, cliquez sur Enregistrer les modifications dans le coin inférieur droit pour terminer le processus.

Les journaux d'accès sont désormais activés, et nous pouvons les afficher dans le seau que nous avons configuré comme seau de destination. Vous pouvez télécharger et afficher ces fichiers de journaux au format texte.

Nous avons donc réussi à activer les journaux d'accès au serveur sur notre seau S3. Maintenant, chaque fois qu'une opération est effectuée dans le seau, elle sera connectée dans le seau de destination S3.

Activer les journaux d'accès à l'aide de la CLI

Nous avions affaire à la console de gestion AWS pour effectuer notre tâche jusqu'à présent. Nous l'avons fait avec succès, mais AWS fournit également aux utilisateurs une autre façon de gérer les services et les ressources du compte en utilisant l'interface de ligne de commande. Certaines personnes qui ont peu d'expérience dans l'utilisation de la CLI peuvent trouver cela un peu délicate et complexe, mais une fois que vous en avez, vous le préférerez à la console de gestion, tout comme la plupart des professionnels. L'interface de ligne de commande AWS peut être configurée pour n'importe quel environnement, Windows, Mac ou Linux, et vous pouvez également simplement ouvrir le shell Cloud AWS dans votre navigateur.

La première étape consiste à créer simplement les seaux dans notre compte AWS, pour lequel nous devons simplement utiliser la commande suivante.

$: AWS S3API Create-Bucket - Bucket --région

Un seau sera notre seau de données réel où nous allons mettre nos fichiers, et nous devons activer les journaux sur ce seau.

Ensuite, nous avons besoin d'un autre seau où les journaux d'accès au serveur seront stockés.

Pour afficher les seaux S3 disponibles dans votre compte, vous pouvez utiliser la commande suivante.

$: AWS S3API List-Buckets

Lorsque nous activons l'exploitation de l'exploitation à l'aide de la console, AWS lui-même attribue une autorisation au mécanisme de journalisation pour mettre des objets dans le seau cible. Mais pour CLI, vous devez joindre la politique vous-même. Nous devons créer un fichier JSON et y ajouter la stratégie suivante.

Remplace le Data_bucket_name et Source_account_id avec le nom de godet S3 pour lequel les journaux d'accès au serveur sont en cours de configuration et l'ID de compte AWS dans lequel le seau S3 S3 existe.


"Version": "2012-10-17",
"Déclaration": [

"Sid": "S3ServerAccesslogSpolicy",
"Effet": "Autoriser",
"Principal": "Service": "journalisation.S3.Amazonaws.com ",
"Action": "S3: putObject",
"Ressource": "arn: aws: s3 ::: data_bucket_name / *",
"Condition":
"ArnliN": "AWS: Sourcearn": "Arn: AWS: S3 ::: DATA_BUCKET_NAME",
"StringEquals": "aws: SourCeaccount": "source_account_id"


]]

Nous devons attacher cette politique à notre seau S3 cible dans lequel les journaux d'accès au serveur seront enregistrés. Exécutez la commande AWS CLI suivante pour configurer la stratégie avec le seau de destination S3.

$: AWS S3API Put-Bucket-Policy - Bucket --Fichier de stratégie: // s3_logging_policy.json

Notre politique est attachée au seau cible, permettant au seau de données de mettre les journaux d'accès au serveur.

Après avoir fixé la stratégie au seau S3 de destination, activez désormais les journaux d'accès au serveur sur le seau S3 S3. Pour cela, tout d'abord, créez un fichier JSON avec le contenu suivant.


"LoggingEnabled":
"TargetBucket": "Target_S3_Bucket",
"TargetPrefix": "Target_prefix"

Enfin, pour activer la journalisation d'accès au serveur S3 pour notre seau d'origine, exécutez simplement la commande suivante.

$: AWS S3API Put-Bucket-Logging - Bucket --Fichier-statut-statut de seau: // enable_logging.json

Nous avons donc réussi à activer les journaux d'accès au serveur sur notre seau S3 à l'aide de l'interface de ligne de commande AWS.

Conclusion

AWS vous fournit l'installation pour activer facilement les journaux d'accès au serveur dans vos seaux S3. Les journaux fournissent à l'utilisateur IP qui a lancé cette demande d'opération particulière, la date et l'heure de la demande, le type d'opération effectué et si cette demande a réussi. La sortie de données est sous forme brute dans le fichier texte, mais vous pouvez également exécuter une analyse dessus à l'aide d'outils avancés comme AWS Athena pour obtenir des résultats plus matures de ces données.