View a markdown version of this page

Accès aux journaux d'audit dans AWS CloudTrail - Amazon Managed Workflows for Apache Airflow

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Accès aux journaux d'audit dans AWS CloudTrail

AWS CloudTrail est activé sur votre ordinateur Compte AWS lorsque vous le créez. CloudTrail enregistre l'activité effectuée par une entité IAM ou un AWS service, tel qu'Amazon Managed Workflows pour Apache Airflow, qui est enregistrée en tant CloudTrail qu'événement. Vous pouvez consulter, rechercher et télécharger l'historique des événements des 90 derniers jours sur la CloudTrail console. CloudTrail capture tous les événements sur la console Amazon MWAA et tous les appels aux API Amazon MWAA. Il ne capture pas les actions en lecture seule, telles queGetEnvironment, ou l'PublishMetricsaction. Cette page explique comment surveiller CloudTrail les événements pour Amazon MWAA.

Création d'un sentier dans CloudTrail

Vous devez créer un historique pour accéder à un enregistrement continu des événements qui vous concernent Compte AWS, y compris les événements pour Amazon MWAA. Un journal permet CloudTrail de transmettre des fichiers journaux à un compartiment Amazon S3. Si vous ne créez pas de trace, vous pouvez toujours accéder à l'historique des événements disponibles dans la CloudTrail console. Par exemple, à l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été faite à Amazon MWAA, l'adresse IP à partir de laquelle la demande a été faite, qui a effectué la demande, quand elle a été faite et des informations supplémentaires. Pour en savoir plus, consultez la section Création d'un parcours pour votre Compte AWS.

Enregistrement des événements du plan de données

Les actions d'API Amazon MWAA suivantes sont des événements de plan de données : InvokeRestApiCreateWebLoginToken, etCreateCliToken. Contrairement aux événements de gestion, AWS CloudTrail n'enregistre pas les événements de données par défaut et ceux-ci n'apparaissent pas dans l'historique des CloudTrail événements. Vous devez configurer un journal qui inclut explicitement les événements liés aux données. Des frais supplémentaires s’appliquent. Pour plus d'informations, consultez la section Journalisation des événements liés aux données dans le Guide de AWS CloudTrail l'utilisateur.

Pour enregistrer les événements du plan de données
  1. Ouvrez la CloudTrail console.

  2. Dans le volet de navigation, choisissez Trails, puis choisissez Create trail.

  3. Entrez un nom de suivi et configurez un compartiment Amazon S3 pour les fichiers journaux.

  4. Sur la page Choisir les événements du journal, sélectionnez Événements liés aux données.

  5. Sous Type d'événement de données, choisissez Managed Apache Airflow.

  6. Vérifiez vos paramètres et choisissez Créer un parcours.

Une fois le trail actif, CloudTrail transmet les événements du plan de données tels que InvokeRestApiCreateWebLoginToken, et CreateCliToken à votre compartiment Amazon S3 dans un délai d'environ 15 minutes. Si vous avez configuré Amazon CloudWatch Logs, utilisez le modèle de filtre suivant pour rechercher ces événements :

{ ($.eventName = "InvokeRestApi") || ($.eventName = "CreateWebLoginToken") || ($.eventName = "CreateCliToken") }
La charge utile de réponse n'est pas enregistrée

CloudTrail supprime le RestApiResponse champ dans les entrées du journal. CloudTrail enregistre l'appel et son code d'état mais n'enregistre pas la charge utile de la réponse.

Accès aux événements avec l'historique des CloudTrail événements

Vous pouvez résoudre les incidents opérationnels et de sécurité survenus au cours des 90 derniers jours dans la CloudTrail console en consultant l'historique des événements. Par exemple, vous pouvez accéder aux événements liés à la création, à la modification ou à la suppression de ressources (telles que les utilisateurs IAM ou d'autres AWS ressources) dans votre Compte AWS région. Pour en savoir plus, consultez la section Accès aux événements avec l'historique des CloudTrail événements.

  1. Ouvrez la console CloudTrail.

  2. Choisissez Historique des événements.

  3. Sélectionnez les événements que vous souhaitez consulter, puis choisissez Comparer les détails de l'événement.

Exemple de parcours pour CreateEnvironment

Un journal de suivi est une configuration qui permet la livraison d’événements sous forme de fichiers journaux vers un compartiment Amazon S3 que vous spécifiez.

CloudTrail les fichiers journaux contiennent une ou plusieurs entrées de journal. Un événement représente une demande unique provenant de n'importe quelle source et inclut des informations sur l'action demandée, telles que la date et l'heure de l'action ou les paramètres de la demande. CloudTrail les fichiers journaux ne constituent pas une trace ordonnée des appels d'API publics et ne sont pas répertoriés dans un ordre spécifique. L'exemple suivant est une entrée de journal pour l'CreateEnvironmentaction qui est refusée en raison de l'absence d'autorisations. Les valeurs saisies AirflowConfigurationOptions ont été supprimées pour des raisons de confidentialité.

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole", "principalId": "00123456ABC7DEF8HIJK", "arn": "arn:aws:sts::012345678901:assumed-role/root/myuser", "accountId": "012345678901", "accessKeyId": "", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "00123456ABC7DEF8HIJK", "arn": "arn:aws:iam::012345678901:role/user", "accountId": "012345678901", "userName": "user" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2020-10-07T15:51:52Z" } } }, "eventTime": "2020-10-07T15:52:58Z", "eventSource": "airflow.amazonaws.com", "eventName": "CreateEnvironment", "awsRegion": "us-west-2", "sourceIPAddress": "205.251.233.178", "userAgent": "PostmanRuntime/7.26.5", "errorCode": "AccessDenied", "requestParameters": { "SourceBucketArn": "arn:aws:s3:::my-bucket", "ExecutionRoleArn": "arn:aws:iam::012345678901:role/AirflowTaskRole", "AirflowConfigurationOptions": "***", "DagS3Path": "sample_dag.py", "NetworkConfiguration": { "SecurityGroupIds": [ "sg-01234567890123456" ], "SubnetIds": [ "subnet-01234567890123456", "subnet-65432112345665431" ] }, "Name": "test-cloudtrail" }, "responseElements": { "message": "Access denied." }, "requestID": "RequestID", "eventID": "EventID", "readOnly": false, "eventType": "AwsApiCall", "recipientAccountId": "012345678901" }

InvokeRestApi exemple d'entrée de journal

Voici un exemple complet d'entrée de journal pour cette InvokeRestApi action. CloudTrail rédige le RestApiResponse champ.

Utiliser des informations d'identification temporaires en production

Cet exemple montre les informations d'identification temporaires associées à un rôle assumé, ce qui constitue l'approche recommandée. Pour les charges de travail de production, utilisez des informations d'identification temporaires provenant de ou AWS Security Token Service (AWS STS) au lieu de clés d'accès à long terme.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "00123456ABC7DEF8HIJK:MySession", "arn": "arn:aws:sts::012345678901:assumed-role/MyRole/MySession", "accountId": "012345678901", "accessKeyId": "ASIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "00123456ABC7DEF8HIJK", "arn": "arn:aws:iam::012345678901:role/MyRole", "accountId": "012345678901", "userName": "MyRole" }, "attributes": { "creationDate": "2024-01-20T12:00:00Z", "mfaAuthenticated": "false" } } }, "eventTime": "2024-01-20T12:15:00Z", "eventSource": "airflow.amazonaws.com", "eventName": "InvokeRestApi", "awsRegion": "us-west-2", "sourceIPAddress": "203.0.113.10", "userAgent": "Boto3/1.28.0 Python/3.11.0", "requestParameters": { "Name": "MyAirflowEnvironment", "Path": "/dags", "Method": "GET" }, "responseElements": { "RestApiStatusCode": 200, "RestApiResponse": "***" }, "requestID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "eventID": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "readOnly": false, "resources": [ { "accountId": "012345678901", "type": "AWS::MWAA::Environment", "ARN": "arn:aws:airflow:us-west-2:012345678901:environment/MyAirflowEnvironment" } ], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "012345678901", "eventCategory": "Data" }

Quelle est la prochaine étape ?

  • Découvrez comment configurer d'autres AWS services pour les données d'événements collectées dans les CloudTrail journaux dans Services et intégrations CloudTrail pris en charge.

  • Découvrez comment être averti lors de la CloudTrail publication de nouveaux fichiers journaux dans un compartiment Amazon S3 dans Configuration des notifications Amazon SNS pour CloudTrail.