本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon CloudTrail 正在登录 Amazon Transfer Family
Amazon Transfer Family 与两者 Amazon CloudTrail 和 Amazon 集成 CloudWatch。 CloudTrail 并 CloudWatch 用于不同但互补的目的。
-
本主题介绍与的集成 CloudTrail ,该 Amazon 服务可记录在您的内部执行的操作 Amazon Web Services 账户。它持续监控和记录控制台登录、 Amazon Command Line Interface 命令和操作等活动的 API 操作。 SDK/API 这使您可以记录谁在何时何地采取了什么行动。 CloudTrail 通过提供 Amazon 环境中所有活动的历史记录,帮助审计、访问管理和监管合规性。有关详细信息,请参阅《Amazon CloudTrail 用户指南》。
-
Amazon Amazon Transfer Family 服务器 CloudWatch 登录涵盖与 CloudWatch Amazon 资源和应用程序监控服务的集成。它收集指标和日志,以提供对资源利用率、应用程序性能和整体系统运行状况的可见性。 CloudWatch 帮助完成操作任务,例如故障排除、设置警报和自动缩放。有关详情,请参阅 Amazon CloudWatch 用户指南。
跟踪是一种配置,允许将事件作为日志文件传输到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。事件代表来自任何来源的单个请求,包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 操作的有序堆栈跟踪,因此它们不会按任何特定的顺序出现。
要持续记录您 Amazon 账户中的事件,包括的事件 Amazon Transfer Family,请创建跟踪。跟踪允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。预设情况下,在控制台中创建跟踪时,此跟踪应用于所有 Amazon 区域。跟踪记录 Amazon 分区中所有区域的事件,并将日志文件传送到您指定的 Amazon S3 存储桶。此外,您可以配置其他 Amazon 服务,以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息,请参阅下列内容:
所有 Amazon Transfer Family 操作都由记录 CloudTrail 并记录在中ActionsAPI reference。例如,调用ListUsers和StopServer操作会在 CloudTrail 日志文件中生成条目。CreateServer
每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容:
-
请求是使用根凭证还是 Amazon Identity and Access Management 用户凭证发出的。
-
请求是使用角色还是联合用户的临时安全凭证发出的。
-
请求是否由其他 Amazon 服务发出。
有关更多信息,请参阅 CloudTrail userIdentity 元素。
如果您创建了跟踪,则可以允许将 CloudTrail 事件持续传输到 Amazon S3 存储桶,包括的事件 Amazon Transfer Family。如果您未配置跟踪,您仍然可以在 CloudTrail 控制台的 “事件历史记录” 中查看最新的事件。
使用收集的信息 CloudTrail,您可以确定向哪个请求发出 Amazon Transfer Family、发出请求的 IP 地址、谁发出了请求、何时发出请求以及其他详细信息。
要了解更多信息 CloudTrail,请参阅《Amazon CloudTrail 用户指南》。
启用 Amazon CloudTrail 日志记录
您可以使用监控 Amazon Transfer Family API 操作 Amazon CloudTrail。通过监控 API 操作,您可以获得有用的安全和操作信息。如果您启用了 Amazon S3 对象级日志记录,则 RoleSessionName 以 [AWS:Role Unique Identifier]/username.sessionid@server-id 形式包含在“请求者”字段。有关 Amazon Identity and Access Management (IAM) 角色唯一标识符的更多信息,请参阅Amazon Identity and Access Management 用户指南中的唯一标识符。
重要
RoleSessionName 名称的长度上限是 64 个字符。如果 RoleSessionName 较长,则 会被截断。server-id
启用 Amazon S3 数据事件
要跟踪 Amazon Transfer Family 在 Amazon S3 存储桶上执行的文件操作,您需要为这些存储桶启用数据事件。数据事件提供对象级 API 活动,对于跟踪文件上传、下载和用户执行的其他操作特别有用。 Amazon Transfer Family
要为您的 Amazon Transfer Family 服务器启用 Amazon S3 数据事件,请执行以下操作:
-
打开 CloudTrail 控制台,网址为https://console.aws.amazon.com/cloudtrail/
。 -
在导航窗格中,选择 T ra ils,然后选择现有跟踪或创建新跟踪。
-
在数据事件下,选择编辑。
-
对于数据事件类型,请选择 S3。
-
选择要为其记录数据事件的 Amazon S3 存储桶。您可以记录所有存储桶的数据事件或指定单个存储桶。
-
选择是记录读取事件、写入事件,还是同时记录两者。
-
选择保存更改。
启用数据事件后,您可以在为您的 CloudTrail 跟踪配置的 Amazon S3 存储桶中访问这些日志。日志包括诸如执行操作的用户、操作时间戳、受影响的特定对象以及帮助跟踪所执行操作的onBehalfOfuserId字段等详细信息。 Amazon Transfer Family
创建服务器的日志条目示例
以下示例显示了演示CreateServer操作的 CloudTrail 日志条目(JSON 格式)。
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AAAA4FFF5HHHHH6NNWWWW:user1", "arn": "arn:aws:sts::123456789102:assumed-role/Admin/user1", "accountId": "123456789102", "accessKeyId": "AAAA52C2WWWWWW3BB4Z", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2018-12-18T20:03:57Z" }, "sessionIssuer": { "type": "Role", "principalId": "AAAA4FFF5HHHHH6NNWWWW", "arn": "arn:aws:iam::123456789102:role/Admin", "accountId": "123456789102", "userName": "Admin" } } }, "eventTime": "2024-02-05T19:18:53Z", "eventSource": "transfer.amazonaws.com", "eventName": "CreateServer", "awsRegion": "us-east-1", "sourceIPAddress": "11.22.1.2", "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36", "requestParameters": { "domain": "S3", "hostKey": "HIDDEN_DUE_TO_SECURITY_REASONS", "protocols": [ "SFTP" ], "protocolDetails": { "passiveIp": "AUTO", "tlsSessionResumptionMode": "ENFORCED", "setStatOption": "DEFAULT" }, "securityPolicyName": "TransferSecurityPolicy-2020-06", "s3StorageOptions": { "directoryListingOptimization": "ENABLED" } }, "responseElements": { "serverId": "s-1234abcd5678efghi" }, "requestID": "6fe7e9b1-72fc-45b0-a7f9-5840268aeadf", "eventID": "4781364f-7c1e-464e-9598-52d06aa9e63a", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "123456789102", "eventCategory": "Management", "tlsDetails": { "tlsVersion": "TLSv1.3", "cipherSuite": "TLS_AES_128_GCM_SHA256", "clientProvidedHostHeader": "transfer.us-east-1.amazonaws.com" }, "sessionCredentialFromConsole": "true" }
数据访问日志示例
当您为跟踪启用 Amazon S3 数据事件时,您可以跟踪通过执行的文件操作 Amazon Transfer Family。 CloudTrail 这些日志可帮助您监控谁访问了哪些数据、何时以及如何访问了哪些数据。
成功访问数据的日志条目示例
以下示例显示了通过成功执行文件下载操作的 CloudTrail 日志条目 Amazon Transfer Family。
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLEID:TransferSessionUser", "arn": "arn:aws:sts::123456789012:assumed-role/TransferS3AccessRole/TransferSessionUser", "accountId": "123456789012", "accessKeyId": "ASIAEXAMPLEKEY", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLEID", "arn": "arn:aws:iam::123456789012:role/TransferS3AccessRole", "accountId": "123456789012", "userName": "TransferS3AccessRole" }, "attributes": { "creationDate": "2025-07-15T16:12:05Z", "mfaAuthenticated": "true" } }, "invokedBy": "transfer.amazonaws.com" }, "eventTime": "2025-07-15T16:15:22Z", "eventSource": "s3.amazonaws.com", "eventName": "GetObject", "awsRegion": "us-east-1", "sourceIPAddress": "transfer.amazonaws.com", "userAgent": "transfer.amazonaws.com", "requestParameters": { "bucketName": "my-transfer-bucket", "key": "users/john.doe/reports/quarterly-report-2025-Q2.pdf", "Host": "my-transfer-bucket.s3.amazonaws.com", "x-amz-request-payer": "requester" }, "responseElements": null, "additionalEventData": { "SignatureVersion": "SigV4", "CipherSuite": "ECDHE-RSA-AES128-GCM-SHA256", "bytesTransferredIn": 0, "bytesTransferredOut": 2458732, "x-amz-id-2": "EXAMPLE123456789+abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ=" }, "requestID": "EXAMPLE123456789", "eventID": "example12-3456-7890-abcd-ef1234567890", "readOnly": true, "resources": [ { "type": "AWS::S3::Object", "ARN": "arn:aws:s3:::my-transfer-bucket/users/john.doe/reports/quarterly-report-2025-Q2.pdf" }, { "accountId": "123456789012", "type": "AWS::S3::Bucket", "ARN": "arn:aws:s3:::my-transfer-bucket" } ], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "123456789012", "eventCategory": "Data", "requestParameters": { "x-amz-onBehalfOf": "john.doe.sessionid@s-abcd1234efgh5678" } }
在此示例中,请注意以下重要字段:
-
eventName:表示已执行的 S3 API 操作(GetObject 用于文件下载)。 -
requestParameters.bucketName和requestParameters.key:显示访问了哪个 S3 对象。 -
additionalEventData.bytesTransferredOut:以字节为单位显示已下载文件的大小。 -
requestParameters.x-amz-onBehalfOf:包含 Amazon Transfer Family 用户名和会话 ID,允许您跟踪执行操作的 Amazon Transfer Family 用户。
该x-amz-onBehalfOf字段特别重要,因为它将 S3 API 调用链接回发起操作的特定 Amazon Transfer Family 用户。此字段遵循以下格式username.sessionid@server-id,其中:
-
username是 Amazon Transfer Family 用户名。 -
sessionid是用户会话的唯一标识符。 -
server-id是 Amazon Transfer Family 服务器的 ID。
常见的数据访问操作
通过监控数据访问时 Amazon Transfer Family,您通常会在 CloudTrail 日志中看到以下 S3 API 操作:
| S3 API 操作 | Amazon Transfer Family 操作 | 描述 |
|---|---|---|
| GetObject | 文件下载 | 用户从服务器下载了一个文件 |
| PutObject | 文件上传 | 用户已将文件上传到服务器 |
| DeleteObject | 文件删除 | 用户从服务器中删除了一个文件 |
| ListObjects 或者 ListObjects V2 | 目录清单 | 用户列出了目录中的文件 |
| CopyObject | 文件副本 | 用户在服务器内复制了一个文件 |
通过监控 CloudTrail 日志中的这些操作,您可以跟踪通过 Amazon Transfer Family 服务器执行的所有文件活动,从而帮助您满足合规性要求并检测未经授权的访问。