基于 AMI 的产品要求 - AWS Marketplace

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

基于 AMI 的产品要求

AWS Marketplace 要求 AWS Marketplace 中的所有亚马逊机器映像 (AMI) 产品和服务品均遵循以下策略。这些策略为我们的客户提供了一个安全、可靠和值得信赖的平台。

将在提交时检查所有产品及其相关元数据,以确保它们符合或超过当前的 AWS Marketplace 策略。将检查和调整这些策略,以满足不断变化的安全准则。AWS Marketplace 持续扫描您的产品,以验证它是否符合不断变化的安全准则。如果产品不合规,AWS Marketplace 将与您联系,更新您的 AMI 产品以满足新的标准。同样,如果找到新发现的漏洞而影响 AMI,我们会要求您提供更新的 AMI 并部署了相关的更新。在提交 AMI 之前,您必须使用自助 AMI 扫描工具。这有助于确保 AMI 符合 AWS Marketplace 策略。

安全策略

所有 AMI 必须符合以下安全策略:

  • AMI 不得包含自助 AMI 扫描工具或 AWS Security 检测到的任何已知漏洞、恶意软件或病毒。

  • AMI 必须使用当前支持的操作系统和其他软件包。任何带有即将停用 (EoL) 操作系统或其他软件包的 AMI 版本都将从 AWS Marketplace 中除名。您可以使用更新的包构建新 AMI,并将其作为新版本发布到 AWS Marketplace。

  • 所有实例身份验证都必须使用密钥对访问权限,而非基于密码的身份验证,即使用户在启动时生成、重置或定义了密码也是如此。AMI 不得出于任何原因包含密码、身份验证密钥、密钥对、安全密钥或其他凭证。

  • AMI 不得向用户请求或使用访问密钥或私有密钥以访问 AWS 资源。如果您的 AMI 应用程序需要访问用户,则必须使用通过 AWS CloudFormation 实例化的 AWS Identity and Access Management (IAM) 角色实现该功能,该角色创建实例并关联相应的角色。如果为具有 AWS CloudFormation 交付方式的产品启用了单 AMI 启动,相应的使用说明必须包含创建最低权限的 IAM 角色的明确指导。有关更多信息,请参阅使用 AWS CloudFormation 的基于 AMI 的交付

  • 基于 Linux 的 AMI 不得允许 SSH 密码身份验证。可以通过 sshd_config 文件将 PasswordAuthentication 设置为 NO 以禁用密码身份验证。

访问策略

访问策略分为三类:一般策略、Linux 特定策略和 Windows 特定策略。

一般访问策略

所有 AMI 必须符合以下访问策略:

  • AMI 必须允许操作系统 (OS) 级别管理功能,以满足合规性要求,执行漏洞更新以及访问日志文件。基于 Linux 的 AMI 使用 SSH,而基于 Windows 的 AMI 使用 RDP。

  • AMI 不得包含授权的密码或授权的密钥。

  • AMI 不得使用固定的密码进行管理访问。AMI 必须使用随机的密码。一种替代的实施是检索实例元数据并将 instance_id 作为密码。在允许管理员设置或更改自己的凭证之前,必须提示管理员输入该随机密码。有关检索实例元数据的更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的实例元数据和用户数据

  • 您不得具有访问客户的运行实例的权限。客户必须显式启用任何外部访问权限,默认情况下,AMI 内置的可访问性必须关闭。

特定于 Linux 的访问策略

基于 Linux 的 AMI 必须遵守以下访问策略以及一般访问策略:

  • 基于 Linux 的 AMI 必须为根访问禁用基于密码的远程登录,并且仅允许通过用户进行 sudo 访问。用户无法使用根访问。sudo 访问允许管理员控制允许哪些用户执行根功能。它还记录审计跟踪记录活动。AMI 不得包含授权的密码或授权的密钥。

  • 基于 Linux 的 AMI 不得具有空白或空的根密码。

特定于 Windows 的访问策略

基于 Windows 的 AMI 必须遵守以下访问策略以及一般访问策略:

  • 对于 Windows Server 2016 和更高版本,请使用 EC2Launch

  • 对于 Windows Server 2012 R2 和更早版本,请使用最新版本的 Ec2ConfigService 并启用 Ec2SetPasswordEc2WindowsActivateEc2HandleUserData

  • 不允许删除来宾账户和远程桌面用户。

客户信息策略

所有 AMI 必须遵守以下客户信息策略:

  • 除非 BYOL(自带许可)另行要求,否则软件不得在客户不知晓且未明确同意的情况下收集或导出客户数据。收集或导出客户数据的应用程序必须遵循以下准则:

    • 客户数据收集必须是自助服务、自动化和安全的。买家无需等待卖家批准即可部署软件。

    • 必须在列表的描述或使用说明中明确说明对买家数据的要求。这包括收集的内容、客户数据的存储位置以及如何使用这些数据。例如,此产品会收集您的姓名和电子邮件地址。此信息由 <company name> 发送并由其存储。此信息将仅用于就 <product name> 问题联系买家。

    • 不得收集付款信息。

产品使用策略

所有 AMI 必须符合以下产品使用策略:

  • 产品不得按时间、用户数或其他条件限制对产品或产品功能的访问。不支持测试版和预发布产品,也不支持唯一目的是提供试用或评估功能的产品。支持开发人员、社区和 BYOL 版本的商业软件,但前提是在 AWS Marketplace 上还提供了等效的付费版本。

  • 所有 AMI 必须与通过网站启动体验或通过 AWS CloudFormation 的基于 AMI 的交付兼容。对于从网站启动,AMI 不能在创建实例时要求提供客户或用户数据以正常运行。

  • AMI 及其软件必须可以自助方式部署,并且不得要求额外的付款方式或费用。部署时需要外部依赖的应用程序必须遵循以下准则:

    • 必须在列表的描述或使用说明中披露该要求。例如,此产品需要互联网连接才能正确部署。部署时会下载以下软件包:<list of package>。

    • 卖家需对所有外部依赖的使用负责,并确保其可用性和安全性。

    • 如果外部依赖项不再可用,则还必须从 AWS Marketplace 中删除该产品。

    • 外部依赖项不得要求额外的付款方式或费用。

  • 需要持续连接到不受买家直接控制的外部资源(例如外部 API 或由卖家或第三方管理的 AWS 服务)的 AMI 必须遵循以下准则:

    • 必须在列表的描述或使用说明中披露该要求。例如,此产品需要持续的互联网连接。需要以下持续的外部服务才能正常运行:<list of resources>。

    • 卖家需对所有外部资源的使用负责,并确保其可用性和安全性。

    • 如果外部资源不再可用,则还必须从 AWS Marketplace 中删除该产品。

    • 外部资源不得要求额外的付款方式或费用,并且必须自动设置连接。

  • 产品软件和元数据不得包含将用户重定向到 AWS Marketplace 中未提供的其他云平台、其他产品或追加销售服务的语言。

  • 如果您的产品是其他产品或其他 ISV 产品的附加组件,则您的产品描述必须表明它扩展了其他产品的功能,如果没有它,产品的应用将受到限制。例如,本产品扩展了 <product name> 的功能,如果没有它,则该产品的应用将受到限制。请注意,<product name> 可能需要自己的许可才能使用此列表的全部功能。

架构策略

所有 AMI 必须符合以下架构策略:

  • 源 AMI AWS Marketplace 必须位于美国东部(弗吉尼亚州北部)区域。

  • AMI 必须使用 HVM 虚拟化。

  • AMI 必须使用 64 位或 64 位 ARM 架构。

  • AMI 必须是由 Amazon Elastic Block Store (Amazon EBS) 支持的 AMI。我们不支持由 Amazon Simple Storage Service (Amazon S3) 支持的 AMI。

  • AMI 不得使用加密的 EBS 快照。

  • AMI 不得使用加密的文件系统。

  • 必须构建 AMI,以便它们可以在所有 AWS 区域中运行,而与区域无关。不允许为不同区域构建不同的 AMI。

AMI 产品使用说明

为您的 AMI 产品创建使用说明时,请按照AMI 和容器产品使用说明中的步骤和指南进行操作。