

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

# AMI-based 的产品要求 AWS Marketplace
<a name="product-and-ami-policies"></a>

AWS Marketplace 对所有 Amazon 系统映像 (AMI) 产品和产品执行以下政策。本节所列策略旨在为客户提供安全、可靠且值得信赖的计算平台。

所有产品及其相关元数据在提交时都要经过审核，以确保它们符合或超过现行 AWS Marketplace 政策。这些政策会定期更新，以适应不断变化的安全准则。 AWS Marketplace 持续扫描商品，以验证现有商品是否继续满足这些要求的任何更改。如果商品不合规， AWS Marketplace 将联系卖家更新其产品以符合新标准。在某些情况下，产品可能暂时无法向新订阅用户提供，直到问题得到解决。此过程有助于为所有用户维护 AWS Marketplace 平台的安全性和可信度。

在提交您的商品之前，我们强烈建议您使用中的[测试 “添加版本”](https://aws.amazon.com/marketplace/management/products/server) 功能， AWS Marketplace 管理门户 以确保符合当前政策。

**Topics**
+ [AMI 产品卖家策略](#ami-product-seller-policies)
+ [安全策略](#ami-security)
+ [架构策略](#architecture)
+ [AMI 产品使用说明](#ami-product-usage-instructions)
+ [AMI 产品版本策略](#ami-product-version-policies)
+ [FPGA 产品要求](#ami-fpga-product-requirements)
+ [客户信息策略](#customer-information)
+ [产品使用策略](#product-usage)

## AMI 产品卖家策略
<a name="ami-product-seller-policies"></a>

所有 AMI 必须符合以下卖家策略：
+ 默认情况下， AWS Marketplace 卖家最多只能发布 75 个公开 AMI 产品清单。所有超过其限制的卖家都要接受定期绩效评估，并可能被要求限制表现不佳的商品。 AWS Marketplace 可以自行决定批准和撤销对此限额的提高。

## 安全策略
<a name="ami-security"></a>

### 一般策略
<a name="general-policies"></a>

所有 AMI 都必须遵守以下策略：
+ AMI 必须通过 [AWS Marketplace AMI 扫描工具](https://aws.amazon.com/marketplace/management/products/server)执行的所有安全检查，确保无已知漏洞或恶意软件。
+ AMI 必须使用当前受支持的操作系统和软件。不允许使用已终止生命周期的操作系统和软件。
+ AMI 自创建之日起不得超过两年。不允许超过此年龄的 AMI。
+ Password-based 禁止对例如服务进行身份验证。即使密码是用户在启动时生成、重置或定义的，也适用本规定。不允许使用空密码或空白密码。

  例外情况：
  + Windows 实例上通过 `EC2Config/EC2Launch` 生成的管理员密码。
  + Non-administrative 在没有其他身份验证方法的情况下访问主机服务（例如 Web 应用程序）。如果使用强密码，该密码必须为每个实例随机生成，仅由服务管理员用于首次身份验证，且需在首次登录后立即更改。
+ AMI 不得包含硬编码密钥，例如系统用户和服务密码（包括哈希密码）、私钥或凭证。
+ AMI 不得请求 AWS 凭证来访问 AWS 服务。如果您的产品需要访问 AWS 服务，则应为实例分配最低权限 AWS Identity and Access Management (IAM) 角色。用户可以手动或使用 CloudFormation 模板创建角色。当为采用 CloudFormation 交付方式的产品启用单 AMI 启动时，使用说明必须包括创建权限最低的 IAM 角色的明确指导。有关更多信息，请参阅[使用配送 AMI-based 产品 AWS CloudFormation](https://docs.aws.amazon.com/marketplace/latest/userguide/cloudformation.html)。
+ 卖家不得访问客户运行的实例。如果出于支持或其他目的确实需要此类访问权限，可指示客户明确启用该权限。

### SSH（安全外壳）访问策略
<a name="ssh-access"></a>

除[一般策略](#general-policies)外，提供 SSH（安全外壳）访问权限的 AMI 还必须遵守以下安全策略：
+ AMI 不得允许通过 SSH 进行基于密码的身份验证。为确保这一点，请在您的 `sshd_config` 文件中将设置 `PasswordAuthentication` 为 `no`。
+ AMI 必须禁用超级用户账户的基于密码的远程登录。有关更多信息，请参阅[对根用户禁用基于密码的远程登录](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/building-shared-amis.html#public-amis-disable-password-logins-for-root)。
+ AMI 不得包含用于 SSH 访问的授权公钥。
+ AMI 上的 SSH 必须可供 AWS Marketplace 内部审查程序访问。
  + SSH 服务必须在为 AMI 扫描指定的 TCP 端口上进行侦听。有关更多信息，请参阅[添加新版本](https://docs.aws.amazon.com/marketplace/latest/userguide/single-ami-versions.html#single-ami-adding-version)。
  + 在实例启动时，Amazon Elastic Compute Cloud（Amazon EC2）分配的 IP 地址必须允许来自子网 `10.0.0.0/16` 和 `10.2.0.0/16` 的 SSH 访问。

### 基于 Linux 和其他 Unix-like 操作系统的 AMI 的策略
<a name="linux-and-other"></a>

除[一般策略](#general-policies)外，基于 Linux 和其他 Unix-like 操作系统的 AMI 还必须遵守以下安全策略：
+ AMI 必须允许用户获得完全特权访问权限（例如，允许 `sudo` 访问）。

### 针对 Windows-based AMI 的政策
<a name="windows-based-amis"></a>

除[一般策略](#general-policies)外， Windows-based AMI 还必须遵守以下安全策略：
+ AMI 不得包含来宾账户。
+ 仅允许管理员账户获得对实例的远程桌面访问权限。
+ Windows AMI 必须通过在 [EC2Launch](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/ec2launch-v2.html)（或 Windows 2016 及更早版本的 [EC2Config](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/ec2config-service.html)）中启用以下选项，自动生成管理员密码：
  + `Ec2SetPassword`
  + `Ec2WindowsActivate`
  + `Ec2HandleUserData`
+ AMI 必须支持自动化审查。需至少实现以下要求之一：
  + （推荐选项）安装 SSM 代理，且该代理需具备管理员权限和出站网络访问权限。
  + [Windows 远程管理（WinRM）服务](https://learn.microsoft.com/en-us/windows/win32/winrm/portal)已启用，在 TCP 端口 `5985` 上进行侦听，并可通过 Amazon Elastic Compute Cloud（Amazon EC2）在实例启动时分配的 IP 地址所属子网 `10.0.0.0/16` 和 `10.2.0.0/16` 进行访问。
  + [Microsoft 服务器信息块（SMB）协议和通用互联网文件系统（CIFS）协议服务](https://learn.microsoft.com/en-us/windows/win32/fileio/microsoft-smb-protocol-and-cifs-protocol-overview)已启用，在 TCP 端口 `139` 和 `445` 上进行侦听，并可通过 Amazon Elastic Compute Cloud（Amazon EC2）在实例启动时分配的 IP 地址所属子网 `10.0.0.0/16` 和 `10.2.0.0/16` 进行访问。

## 架构策略
<a name="architecture"></a>

所有 AMI 必须符合以下架构策略：
+ 的来源 AMI AWS Marketplace 必须在美国东部（弗吉尼亚北部）地区提供。
+ AMI 必须使用 HVM 虚拟化。
+ AMI 必须使用 x86-64 或 64 位 ARM 架构。
+ AMI 必须是由 Amazon Elastic Block Store（Amazon EBS）支持的 AMI。我们不支持由 Amazon Simple Storage Service 支持的 AMI。
+ AMI 不得使用加密的 EBS 快照。
+ AMI 不得使用加密的文件系统。
+ 必须构建 AMI，这样它们才能全部 AWS 区域 运行。 Region-agnostic不允许为不同区域构建不同的 AMI。

## AMI 产品使用说明
<a name="ami-product-usage-instructions"></a>

为您的 AMI 产品创建使用说明时，请按照[为创建 AMI 和容器产品使用说明 AWS Marketplace](ami-container-product-usage-instructions.md)中的步骤和指南进行操作。

## AMI 产品版本策略
<a name="ami-product-version-policies"></a>

AWS Marketplace 自动为 AWS 使用 S-AMI CloudFormation 模板的 AMI 和容器产品的买家和卖家提供版本管理体验。借助自动版本归档功能，任何被卖家限制超过两年的产品版本将自动归档。已存档版本不再 AWS Marketplace 可供新客户启动，但是现有用户可以通过启动模板和指定 AMI ID 的 Amazon EC2 Auto Scaling 群组继续使用存档版本。任何在过去 13 个月内未用于启动新实例的归档版本将被删除。删除归档版本后，新用户或现有用户将无法再启动该版本。

## FPGA 产品要求
<a name="ami-fpga-product-requirements"></a>

除了标准 AMI 产品要求外，FPGA 产品还必须满足以下要求：
+ AFI 编号必须归您的 AWS Marketplace 卖家账户所有。
+ 每个产品版本最多支持 15 个 AFI ID，允许您提供多个 FPGA 配置，同时保持可管理的产品复杂性。
+ AFI ID 必须在美国东部（弗吉尼亚北部）地区创建和注册。
+ 区域可用性仅限于支持 F2 实例类型的区域。
+ 版本创建期间提供的 IAM 访问角色有权与 AWS Marketplace 共享所提供的 AFI。有关所需权限的更多详细信息，请参阅授[予 AWS Marketplace 访问您的 FPGA 映像](https://docs.aws.amazon.com/marketplace/latest/userguide/single-ami-marketplace-ami-access.html#single-ami-marketplace-afi-access)的权限。

## 客户信息策略
<a name="customer-information"></a>

所有 AMI 必须遵守以下客户信息策略：
+ 除非 BYOL（自带许可）另行要求，否则软件不得在客户不知晓且未明确同意的情况下收集或导出客户数据。收集或导出客户数据的应用程序必须遵循以下准则：
  + 客户数据收集必须是自助服务、自动化和安全的。买家无需等待卖家批准即可部署软件。
  + 客户数据的收集必须符合您与之达成的协议 AWS，包括但不限于 [AWS Marketplace 条款和条件](https://aws.amazon.com/legal/seller-terms/)、[AWS 服务条款](https://aws.amazon.com/service-terms/)、[AWS 隐私声明](https://aws.amazon.com/privacy/)和[AWS 客户协议](https://aws.amazon.com/agreement/)。
  + 不得收集付款信息。

## 产品使用策略
<a name="product-usage"></a>

所有 AMI 必须符合以下产品使用策略：
+ 产品不得按时间、用户数或其他条件限制对产品或产品功能的访问。不支持测试版和预发布产品，也不支持唯一目的是提供试用或评估功能的产品。支持开发人员、社区和 BYOL 版本的商业软件，但前提是在 AWS Marketplace上还提供了等效的付费版本。
+ 所有 AMI 都必须与 “从网站启动” 体验或通过 AMI-based AWS CloudFormation交付兼容。对于从网站启动，AMI 不能在创建实例时要求提供客户或用户数据以正常运行。
+ AMI 及其软件必须可以自助方式部署，并且不得要求额外的付款方式或费用。部署时需要外部依赖的应用程序必须遵循以下准则：
  + 必须在列表的描述或使用说明中披露该要求。例如，*此产品需要互联网连接才能正确部署。部署时会下载以下软件包：<list of package>。*
  + 卖家需对所有外部依赖的使用负责，并确保其可用性和安全性。
  + 如果外部依赖关系不再可用，则还必须从中 AWS Marketplace 删除该产品。
  + 外部依赖项不得要求额外的付款方式或费用。
+ 需要持续连接非买家直接控制的外部资源（例如外部 API 或由卖家或第三方 AWS 服务 管理）的 AMI 必须遵循以下指南：
  + 必须在列表的描述或使用说明中披露该要求。例如，*此产品需要持续的互联网连接。需要以下持续的外部服务才能正常运行：<list of resources>。*
  + 卖家需对所有外部资源的使用负责，并确保其可用性和安全性。
  + 如果外部资源不再可用，则还必须从中 AWS Marketplace 移除该产品。
  + 外部资源不得要求额外的付款方式或费用，并且必须自动设置连接。
+ 产品软件和元数据不得包含将用户重定向到 AWS Marketplace中未提供的其他云平台、其他产品或追加销售服务的语言。
+ 如果您的产品是其他产品或其他 ISV 产品的附加组件，则您的产品描述必须表明它扩展了其他产品的功能，如果没有它，产品的应用将受到限制。例如，*本产品扩展了 <product name> 的功能，如果没有它，则该产品的应用将受到限制。请注意，<product name> 可能需要自己的许可才能使用此列表的全部功能。*