本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
监控 Transfer Family 使用
您可以使用亚马逊 CloudWatch 和监控服务器中的活动Amazon CloudTrail。为了进一步分析,您还可以将服务器活动记录为可读的、近乎实时的指标。要查看特定于启用了 AS2 协议的 Transfer Family 服务器的指标,请参阅监控 AS2 的使用情况。
主题
启用Amazon CloudTrail日志记录
您可使用 Amazon CloudTrail 监控 Amazon Transfer Family API 调用。通过监控 API 调用,您可以获取有用的安全性和操作信息。有关如何使用 CloudTrail 和的更多信息Amazon Transfer Family,请参阅Amazon Transfer Family 中的日志记录和监控。
如果您启用了 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
创建亚马逊 CloudWatch 警报
以下示例展示了如何使用Amazon Transfer Family指标创建亚马逊 CloudWatch 警报FilesIn
。
记录对 S3 访问日志的 Amazon S3 API 调用
如果您使用 Amazon S3 访问日志来识别代表您的文件传输用户提出的 S3 请求,RoleSessionName
则会使用该日志来显示担任哪个 IAM 角色来为文件传输提供服务。它还会显示其他信息,例如用于传输的用户名、会话 ID 和服务器 ID。格式现在[AWS:Role
Unique Identifier]/username.sessionid@server-id
和现在都包含在 “请求者” 字段中。例如,以下是复制到 S3 存储桶的文件的 S3 访问日志中的示例请求者字段的内容。
arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id
在上面的请求者字段中,它显示了名IamRoleName
为的 IAM 角色。有关 IAM 角色唯一标识符的更多信息,请参阅Amazon Identity and Access Management用户指南中的唯一标识符。
使用记录活动 CloudWatch
要设置访问权限,您需要创建一个基于资源的 IAM 策略和一个提供该访问信息的 IAM 角色。
要启用 Amazon CloudWatch 日志记录,首先要创建启用 CloudWatch日志记录的 IAM 策略。然后,您创建一个 IAM 角色并将该策略附加到该角色。您可以在创建服务器或编辑现有服务器时执行此操作。有关的更多信息 CloudWatch,请参阅什么是亚马逊 CloudWatch? 以及什么是亚马逊 CloudWatch日志? 在《亚马逊 CloudWatch 用户指南》中。
使用以下 IAM 策略示例来允许 CloudWatch 日志记录。
然后,您可以创建一个角色并附加您创建的 CloudWatch 日志策略。
创建 IAM 角色并附加策略
-
在导航窗格中,选择 Roles (角色),然后选择 Create role (创建角色)。
在 “创建角色” 页面上,确保选择了该Amazon服务。
-
从服务列表中选择转移,然后选择下一步:权限。这将在和 IAM 角色Amazon Transfer Family之间建立信任关系。此外,添加
aws:SourceAccount
和aws:SourceArn
条件键以保护自己免受混乱的副手问题的困扰。有关更多详细信息,请参阅以下文档: -
在附加权限策略部分,找到并选择您刚刚创建的 CloudWatch 日志策略,然后选择下一步:标签。
-
(可选)输入标签的键和值,然后选择下一步:审核。
-
在审核页面上,输入新角色的名称和描述,然后选择创建角色。
-
要查看日志,请选择服务器 ID 以打开服务器配置页面,然后选择查看日志。您将被重定向到 CloudWatch 控制台,在那里您可以看到您的日志流。
在服务器 CloudWatch 页面上,您可以看到用户身份验证(成功和失败)、数据上传(PUT
操作)和数据下载(GET
操作)的记录。
限制混乱的副手问题的示例
混淆代理问题是一个安全性问题,即不具有操作执行权限的实体可能会迫使具有更高权限的实体执行该操作。在 Amazon 中,跨服务模拟可能会导致混淆代理问题。有关更多信息,请参阅 防止跨服务混淆代理。
注意
在以下示例中,将每个 user input placeholder
替换为您自己的信息。
以下示例日志/调用策略允许账户中的任何服务器代入该角色。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllServers", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region
:account-id
:server/*" } } } ] }
以下示例日志/调用策略允许特定的服务器代入该角色。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSpecificServer", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "ArnEquals": { "aws:SourceArn": "arn:aws:transfer:region
:account-id
:server/server-id
" } } } ] }
CloudWatch 日志条目示例
下表包含各种 Transfer Family 操作的示例日志条目。
操作 | 亚马逊日志中的相应 CloudWatch 日志 |
---|---|
登录/注销 |
user.914984e553bcddb6 CONNECTED SourceIP=1.22.111.222 user=LOGICAL client=ssh-2.0-openssh_7.4 role=arn: aws:: iam:: 123456789012: role/sftp-s3-access HomeDir user.914984e553bcddb6 已断开连接 |
Uploads |
lhr.33a8fb495ffb383b OPEN path=/bucket/user/123.jpg mode=create|truncate|Write lhr.33a8fb495ffb383b CLOSE path=/bucket/user/123.jpg =3618546 BytesIn |
下载 |
lhr.33a8fb495ffb383b OPEN path=/bucket/user/123.jpg mode=Read llhr.33a8fb495ffb383b CLOSE path=/bucket/user/123.jpg =3618546 BytesOut |
删除 |
lhr.33a8fb495ffb383b 删除 path=/bucket/user/123.jpg |
重命名 |
lhr.33a8fb495ffb383b 重命名路径=/bucket/user/lambo.png =/bucket/user/ferrari.png =/bucket/user/ferrari. NewPath |
符号链接 |
lhr.eb49cf7b8651e6d5 CREATE_SYMLINK =/fs-12345678/lhr/pqr.jpg =abc.jpg =abc.jpg LinkPath TargetPath |
Authentication failures (身份验证失败次数) |
错误 auth_FAILURE method=publickey user=lhr message= “rsa sha256:lfz3r2nmly4rak+b7rb1rsvuibae+a+hxg0c7l1jiz0" sourceip=3.8.172.211 |
工作流程 |
{“type”:” “,” details”:{“input”:{ExecutionStarted“backingStore”: “EFS”、“Filesystemid”: “fs-12345678”、“path”:” /lhr/regex.py “}}}、initialFileLocation “workflowID”: “w-1111aaaa2222bbbb3”、“executionID”: “1234abcd-1234-efbbid”: “w-11aaaa2222bbbb3”、“executionID”: “1234abcd-1234-efbbid”: “w-11aaaa22gh-5678-ijklmnopqr90",“TransferDetails”:{“serverID”: “s-zzzz1111aaaa222223"、“用户名”: “lhr”、“sessionID”: “1234567890abcdef0"}} {“type”:” “,” details”:{“input”:{StepStarted“fileLocation”:{“backingStore”: “EFS”、“Filesystemid”: “fs-12345678”、“path”:” /lhr/regex.py “}}、“stepType”: “CUSTOM”、“stepName”: “efs-s3_copy_2"}、“workflowID”: “workflowID”: “workflowID”: “workflowID”: “9283e49d33297c3f7"、“executionID”: “1234abcd-1234-efgh-5678-ijklmnopqr90"、“TransferDetails”: {“serverID”: “s-18ca49dce5d842e0b”、“用户名”: “lhr”、“sessionID”: “1234567890abb”、“用户名”: “lhr”、“sessionID”: “1234567890aba” cdef0"}} |
自定义步骤工作流程 |
{“type”:” “,” details”:{“输出”:{CustomStepInvoked“token”: “mzm4mjg5ywutyt EzMy 00 YjIz LWI3OG MtYz U4OGI2 ZjQyMz E5"}、“stepType”: “CUSTOM”、“stepName”: “efs-s3_copy_2"}、“workflowID”: “w-9283e49d33297c3f7"、“executionID”: “w-9283e49d33297c3f7”: “1234abcd-1234-efgh-5678-ijklmnopqr90",“TransferDetails”:{“serverID”: “s-zzzz11aaaa222223"、“用户名”: “lhr”、“sessionID”: “1234567890abcdef0"}} |
复制/标记/删除/解密工作流程 |
{“type”:” “,” details”:{“input”:{StepStarted“fileLocation”:{“backingStore”: “EFS”、“Filesystemid”: “fs-12345678”、“path”:” /lhr/regex.py “}”}、“stepType”: “TAG”、“stepName”: “successful_tag_step”}、“workflowID”: “workflowID”: “workflowID”: “workflowID”: “workflowID”: “workF11aaaa2222bbb3"、“executionID”: “81234abcd-1234-efgh-5678-ijklmnopqr90"、“TransferDetails”: {“serverID”: “s-1234abcdef5678efghi”、“用户名”: “lhr”、“sessionID”: “1234567890abcdef0"}} |
工作流程错误日志示例 |
{“type”:” “,” details”:{“errorType”:StepErrored“BAD_REQUEST”,“ErrorMessage”:“无法标记 Efs 文件”,“stepType”:“TAG”,“stepName”:“successful_tag_step”},“w-1234abcd5678efghi”,“executionID”:“81234abcd5678efghi”:“81234abcd5678efghi”:“81234abcd5678efghi”:“8cd-1234-efgh-5678-ijklmnopqr90",“TransferDetails”:{“serverID”: “s-1234abcd5678efghi”、“用户名”: “lhr”、“sessionID”: “1234567890abcdef0"}} |
查看你的 Transfer Family 服务器日志
-
导航到服务器的详细信息页面。
-
选择查看日志。这将打开亚马逊 CloudWatch。
-
将显示所选服务器的日志组。
-
您可以选择一个日志流来显示该流的详细信息和单个条目。
-
如果有错误列表,则可以选择它来查看服务器最新错误的详细信息。
-
选择任何其他条目以查看示例日志流。
-
如果您的服务器有与之关联的托管工作流程,则可以查看工作流程运行的日志。
注意
工作流程的日志流格式为
。例如,decrypt-user.w-a1111222233334444.aaa11bbbb2222 可能是用户和工作流程的日志流的名称。username
.workflowId
.uniqueStreamSuffix
decrypt-user
w-a1111222233334444
-
注意
对于任何展开的日志条目,您可以通过选择 “复制” 将该条目复制到剪贴板。有关 CloudWatch 日志的更多详细信息,请参阅查看日志数据。
使用 T CloudWatch ransfer Family 的指标
注意
你还可以从 Transfer Family 控制台本身中获取 Transfer Family 的指标。有关详细信息,请参阅 在控制台中监控使用情况
您可以使用 CloudWatch 指标获取有关服务器的信息。指标表示发布到的一组按时间顺序排列的数据点。 CloudWatch使用指标时,必须指定 Transfer Family 命名空间、指标名称和维度。有关指标的更多信息,请参阅亚马逊 CloudWatch 用户指南中的指标。
下表描述了 Transfer Family 的 CloudWatch 指标。
命名空间 | 指标 | 描述 |
---|---|---|
|
|
传输到服务器的总字节数。 单位:计数 时间:5 分钟 |
|
传出服务器的总字节数。 单位:计数 时间:5 分钟 |
|
|
传输到服务器的文件总数。 对于使用 AS2 协议的服务器,此指标表示收到的消息数量。 单位:计数 时间:5 分钟 |
|
|
从服务器传输出去的文件总数。 单位:计数 时间:5 分钟 |
|
|
成功从交易伙伴处收到的 AS2 报文总数。 单位:计数 时间:5 分钟 |
|
|
未成功从贸易伙伴处收到的 AS2 消息的总数。也就是说,交易伙伴发送了一条消息,但是 Transfer Family 服务器无法成功处理该消息。 单位:计数 时间:5 分钟 |
|
|
服务器上启动的工作 on-partial-upload 流程执行总数。 单位:计数 时长:1 分钟 |
|
|
服务器上成功执行 on-partial-upload 的工作流程总数。 单位:计数 时长:1 分钟 |
|
|
服务器上执行失败 on-partial-upload 的工作流程总数。 单位:计数 时长:1 分钟 |
|
|
服务器上启动的工作流程执行总数。 单位:计数 时长:1 分钟 |
|
|
服务器上成功执行的工作流程总数。 单位:计数 时长:1 分钟 |
|
|
服务器上执行失败的工作流程总数。 单位:计数 时长:1 分钟 |
Transfer Family 尺寸
维度是一个名称/值对,它是指标标识的一部分。有关尺寸的更多信息,请参阅亚马逊 CloudWatch 用户指南中的尺寸。
下表描述了 Transfer Family 的 CloudWatch 维度。
维度 | 描述 |
---|---|
|
服务器的唯一 ID。 |
将Amazon用户通知与 Amazon Transfer Family
要获得有关Amazon Transfer Family事件的通知,您可以使用Amazon用户通知来设置各种交付渠道。当事件与您指定的规则相匹配时,您会收到通知。
您可以通过多个渠道接收事件通知,包括电子邮件、Amazon Chatbot 聊天通知或 Amazon Console Mobile Application 推送通知。您还可以在控制台通知中心
有关更多信息,请参阅什么是Amazon用户通知? 在《Amazon用户通知用户指南》中。