访问 AWS CloudTrail 中的审计日志 - Amazon Managed Workflows for Apache Airflow

访问 AWS CloudTrail 中的审计日志

在您创建 AWS 账户 时,将对其启用 AWS CloudTrail。CloudTrail 记录 IAM 实体或 AWS 服务(例如 Amazon MWAA)所进行的活动,该活动被记录为 CloudTrail 事件。您可以在 CloudTrail 控制台中查看、搜索和下载过去 90 天的事件历史记录。CloudTrail 会捕获 Amazon MWAA 控制台上的所有事件以及对 Amazon MWAA API 的所有调用。但不会捕获只读操作(例如 GetEnvironmentPublishMetrics 动作)。本页介绍如何使用 CloudTrail 监控 Amazon MWAA 的事件。

在 CloudTrail 中创建跟踪

要访问 AWS 账户 中事件(包括 Amazon MWAA 的事件)的持续记录,请创建跟踪。通过跟踪,CloudTrail 可将日志文件传送至 Amazon S3 存储桶。如果您不创建跟踪,则仍可在 CloudTrail 控制台中访问可用的事件历史记录。例如,使用 CloudTrail 收集的信息,您可以确定向 Amazon MWAA 发出了什么请求、发出请求的 IP 地址、何人发出的请求、请求的发出时间以及其他详细信息。要了解更多信息,请参阅为您的 AWS 账户 创建跟踪

使用 CloudTrail 事件历史记录访问事件

您可以通过在 CloudTrail 控制台中查看事件历史记录对过去 90 天内的操作和安全事故进行故障排除。例如,您可以在 AWS 账户 中按区域访问与创建、修改或删除资源(例如,IAM 用户或其他 AWS 资源)相关的事件。要了解更多信息,请参阅使用 CloudTrail 事件历史记录访问事件

  1. 打开 CloudTrail 控制台

  2. 选择事件历史记录

  3. 选择要查看的事件,然后选择比较事件详细信息

CreateEnvironment 的示例跟踪

跟踪是一种配置,可用于将事件作为日志文件传送到您指定的 Amazon S3 存储桶。

CloudTrail 日志文件包含一个或多个日记账条目。一个事件表示来自任何源的一个请求,包括有关所请求的操作、操作的日期和时间以及请求参数等方面的信息。CloudTrail 日志文件不是公有 API 调用的有序堆栈跟踪,因此这些文件不会按任何特定顺序列出。以下示例是由于缺乏权 限而被拒绝的 CreateEnvironment 操作的日志条目。为了保护隐私,AirflowConfigurationOptions 中的值已被删除。

{ "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" }

接下来做什么?