监控 AS2 的使用情况 - AWS Transfer Family

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

监控 AS2 的使用情况

您可以使用亚马逊 CloudWatch 和AWS CloudTrail监控 AS2 的活动。要查看其他 Transfer Family 服务器指标,请参阅 Amazon CloudWatch 正在登录 AWS Transfer Family

AS2 指标
指标 描述
InboundMessage

成功从交易伙伴处收到的 AS2 消息总数。

单位:计数

时间:5 分钟

InboundFailedMessage

未成功从交易伙伴处收到的 AS2 消息总数。也就是说,交易伙伴发送了一条消息,但是 Transfer Family 服务器无法成功处理该消息。

单位:计数

时间:5 分钟

OutboundMessage

成功从 Transfer Family 服务器向交易伙伴发送的 AS2 消息总数。

单位:计数

时间 = 5 分钟

OutboundFailedMessage

未成功发送给交易伙伴的 AS2 消息总数。也就是说,它们是从 Transfer Family 服务器发送的,但交易伙伴没有成功接收。

单位:计数

时间:5 分钟

AS2 状态码

下表列出了您或您的合作伙伴发送 AS2 消息时可以记录到 CloudWatch 日志中的所有状态代码。不同的消息处理步骤适用于不同的消息类型,并且仅用于监控。“已完成” 和 “失败” 状态表示处理的最后一步,在 JSON 文件中可见。

代码 描述 处理完成了吗?
处理 该消息正在转换为其最终格式。例如,解压缩和解密步骤都具有此状态。
MDN_TRANSM 消息处理正在发送 MDN 响应。
MDN_RECEIVE 消息处理正在收到 MDN 响应。
COMPLETED 消息处理已成功完成。此状态包括为入站消息或出站消息的 MDN 验证发送 MDN 的时间。
FAILED 消息处理失败。有关错误代码的列表,请参阅AS2 错误代码

AS2 错误代码

下表列出并描述了您可能从 AS2 文件传输中收到的错误代码。

AS2 错误代码
代码 错误 描述和解决方法
ACCESS_DENIED
  • 访问遭拒绝。检查您的访问角色具有必要的权限。

  • 文件路径无效 send-file-path

  • 无法使用 ErrorCode以下错误代码获取凭证

在处理其中任何一个SendFilePaths都无效或格式错误的StartFileTransfer请求时发生。也就是说,路径缺少 Amazon S3 存储桶名称,或者路径包含无效字符。如果 Transfer Family 未能担任访问角色或日志记录角色,也会发生这种情况。

确保路径包含有效的 Amazon S3 存储桶名称和密钥名称。

AGREEMENT_NOT_FOUND 未找到协议。

要么找不到协议,要么该协议与非活动配置文件相关联。

在 Transfer Family 服务器中更新协议,使其包含活动的配置文件。

CONNECTOR_NOT_FOUND 找不到连接器或相关配置。

要么找不到连接器,要么该连接器与非活动配置文件相关联。

更新连接器以包含活动配置文件。

CREDENTIALS_RETRIEVAL_FAILED
  1. 在 Secrets Manager 中找不到密钥。

  2. 无法访问 Secrets Manager。

  3. 无法解密 Secrets Manager 中的密钥。

  4. 由于节流,无法获取密钥值。

对于 AS2 Basic 身份验证,密钥的格式必须正确。以下解决方案对应于上一栏中列出的错误。

  1. 确保密钥 ID 正确无误。

  2. 确保访问角色具有读取密钥的相应权限。访问权限角色必须提供对 StartFileTransfer 请求中所使用文件位置父目录的读取和写入权限。此外,确保角色对拟定发送StartFileTransfer的父目录提供读取和写入访问权限。

  3. 如果使用客户管理的密钥作为密钥,请确保访问角色拥有对 AWS Key Management Service (AWS KMS) 密钥的权限。

  4. 有关适用的限额,请参阅 处理密钥的限额

DECOMPRESSION_FAILED 无法解压缩消息。

要么发送的文件已损坏,要么压缩算法无效。

重新发送消息并验证使用了 ZLIB 压缩,或者在未启用压缩的情况下重新发送消息。

DECRYPT_FAILED 无法解密消息 message-ID。确保合作伙伴拥有正确的公共加密密钥。

解密失败。

确认合作伙伴使用有效证书发送了有效负载,并且使用有效加密算法执行了加密。

DECRYPT_FAILED_INVALID_SMIME_FORMAT 无法解析封装的 mimePart。

MIME 有效负载要么已损坏,要么采用不支持的 SMIME 格式。

发送者应确保他们使用的格式受到支持,然后重新发送有效负载。

DECRYPT_FAILED_NO_DECRYPTION_KEY_FOUND 未找到匹配的解密密钥。

没有为合作伙伴配置文件分配与消息匹配的证书,或者与消息匹配的证书现已过期或不再有效。

您必须更新合作伙伴配置文件并确保其中包含有效的证书。

DECRYPT_FAILED_UNSUPPORTED_ENCRYPTION_ALG 使用 ID 为 encryption-ID 的不支持算法请求了 SMIME 有效负载解密。

远程发送者发送了一个 AS2 有效负载,其加密算法不受支持。

发件人必须选择AWS Transfer Family支持的加密算法。

DUPLICATE_MESSAGE 重复或双重处理步骤。

有效负载具有重复的处理步骤。例如,有两个加密步骤。

只需一步即可重新发送消息,完成签名、压缩和加密。

ENCRYPT_FAILED_NO_ENCRYPTION_KEY_FOUND

在配置文件local-profile-ID中找不到有效的公共加密证书

Transfer Family 正在尝试加密出站消息,但找不到本地配置文件的加密证书。

解决办法选项:

  • 确保本地配置文件附有用于加密的证书和私钥。

  • 确保加密证书当前处于活动状态。

ENCRYPTION_FAILED 无法加密文件file-name

要发送的文件不可用于加密。

确认文件位于预期的 AS2 位置,并且AWS Transfer Family有权读取该文件。

FILE_SIZE_TOO_LARGE 文件太大。 当发送或接收超过文件大小限制的文件时,就会发生这种情况。
HTTP_ERROR_RESPONSE_FROM_PARTNER

对于 ID=message-ID 的消息,partner-URL 返回状态 400。

与合作伙伴的 AS2 服务器通信返回了意外的 HTTP 响应代码。

合作伙伴或许可以从其 AS2 服务器日志中提供更多诊断信息。

INSUFFICENT_MESSAGE_SECURITY_UNENCRYPTED 需要加密。 合作伙伴向 Transfer Family 发送了一封未加密的消息,但该消息不受支持。发件人必须使用加密的有效负载。
INVALID_ENDPOINT_PROTOCOL 仅支持 HTTP 和 HTTPS。 您必须在 AS2 连接器配置中指定 HTTP 或 HTTPS 作为协议。
INVALID_REQUEST
  1. 消息标题有问题。

  2. 无法解析密钥 JSON。

    密钥 JSON 与预期格式不符。

  3. 密钥必须是 JSON 字符串。

  4. 用户名不得包含冒号。

    用户名不得包含控制字符。

    用户名只能包含 ASCII 字符。

    密码不得包含控制字符。

    密码只能包含 ASCII 字符。

此错误有多种原因。以下解决方案对应于上一栏中列出的错误。

  1. 选中as2-fromas2-to字段。确保 MDN 格式的原始消息 ID 准确无误。还要确保消息 ID 格式不缺少任何 AS2 标头。

  2. 确保密钥值与记录的格式相匹配,如为AS2连接器启用基本身份验证中所述。

  3. 确保密钥以字符串形式提供,而不是以二进制形式提供。

  4. 对用户名或密码进行必要的更正。

INVALID_URL_FORMAT 网址格式无效:URL

当您使用配置了格式错误的 URL 的连接器发送出站消息时,就会发生这种情况。

确保为连接器配置了有效的 HTTP 或 HTTPS URL。

MDN_RESPONSE_INDICATES_AUTHENTICATION_FAILED 不适用 接收方无法对发送者进行身份验证。交易伙伴向 Transfer Family 返回 MDN,其带有处置修饰符 错误:authentication-failed
MDN_RESPONSE_INDICATES_DECOMPRESSION_FAILED 不适用 当接收者无法解压缩消息内容时,就会发生这种情况。交易伙伴向 Transfer Family 返回 MDN,其带有处置修饰符 错误:decompression-failed
MDN_RESPONSE_INDICATES_DECRYPTION_FAILED 不适用 接收者无法解密消息内容。交易伙伴向 Transfer Family 返回 MDN,其带有处置修饰符 错误:authentication-failed
MDN_RESPONSE_INDICATES_INSUFFICIENT_MESSAGE_SECURITY 不适用 接收者希望对消息进行签名或加密,但事实并非如此。贸易伙伴向 Transfer Family 返回带有处置修饰符的 MDN 错误: insufficient-message-security

在连接器上启用签名和/或加密,以符合交易伙伴的期望。

MDN_RESPONSE_INDICATES_INTEGRITY_CHECK_FAILED 不适用 接收者无法验证内容的完整性。贸易伙伴向 Transfer Family 返回带有处置修饰符的 MDN 错误: integrity-check-failed
PATH_NOT_FOUND

无法创建目录file-path。找不到父路径。

Transfer Family 正在尝试在客户的 Amazon S3 存储桶中创建目录,但未找到该存储桶。

确保StartFileTransfer命令中提到的每个路径都包含现有存储桶的名称。

SEND_FILE_NOT_FOUND 未找到文件路径 file-path

Transfer Family 在发送文件操作中找不到该文件。

检查配置的主目录和路径有效,以及 Transfer Family 具有该文件的读取权限。

SERVER_NOT_FOUND 找不到与消息关联的服务器。 Transfer Family 在收到消息时找不到服务器。如果在处理传入消息的过程中删除了服务器,则可能会发生这种情况。
SERVER_NOT_ONLINE 服务器 server-ID 不在线。 Transfer Family 服务器处于脱机状态。

启动服务器,使其可以接收和处理消息。

SIGNING_FAILED 对文件签名失败。

要发送的文件不可用于签名,或者无法进行签名。

确认文件位于预期的 AS2 位置,并且AWS Transfer Family有权读取该文件。

SIGNING_FAILED_NO_SIGNING_KEY_FOUND 找不到配置文件local-profile-ID的证书。 正在尝试对出站消息进行签名,但找不到本地配置文件的签名证书。

解决办法选项:

  • 确保本地配置文件附有证书和用于签名的私钥。

  • 确保签名证书当前处于活动状态。

UNABLE_RESOLVE_HOST_TO_IP_ADDRESS 无法将主机名解析为 IP 地址。

Transfer Family 无法在 AS2 连接器中配置的公共 DNS 服务器上执行 DNS 到 IP 地址的解析。

更新连接器以指向有效的合作伙伴 URL。

UNABLE_TO_CONNECT_TO_REMOTE_HOST_OR_IP 与端点的连接超时。

Transfer Family 无法与已配置的合作伙伴的 AS2 服务器建立套接字连接。

检查合作伙伴的 AS2 服务器在配置的 IP 地址上可用。

UNABLE_TO_RESOLVE_HOSTNAME 无法解析主机名hostname

Transfer Family 服务器无法使用公共 DNS 服务器解析伙伴的主机名。

检查配置的主机已注册以及 DNS 记录有时间发布。

VERIFICATION_FAILED AS2 消息message-ID 的签名验证失败或 MIC 代码不匹配。 检查发件人的签名证书与远程配置文件的签名证书相匹配。还要检查 MIC 算法兼容 AWS Transfer Family。
VERIFICATION_FAILED_NO_MATCHING_KEY_FOUND
  • 在配置文件 partner-profile-ID 中找不到与消息签名匹配的公共证书。

  • 无法为不存在的配置文件 partner-profile-ID 获取证书。

  • 在配置文件 partner-profile-ID 中找不到有效的证书。

AWS Transfer Family正在尝试验证收到的消息的签名,但找不到与合作伙伴配置文件匹配的签名证书。

解决办法选项:

  • 确保合作伙伴配置文件附有签名证书。

  • 确保证书当前处于活动状态。

  • 确保证书是合作伙伴的正确签名证书。