使用 Amazon Selling Partner API Guard 来进行安全审计使你的 SP-API 应用更合规

bc05614504970fcd7029e2069684cb8c.gif

Amazon Selling Partner API Guard 是2022年亚马逊为 SP-API 开发者发布的一套针对安全合规的无服务器扫描方案。Amazon Selling Partner API Guard 可以扫描部署在亚马逊云上的负载环境,以评估开发者的环境是否满足 Amazon 的 DPP 数据保护协议的要求和需要

通常,亚马逊会委托独立的第三方来进行安全合规审计,评估开发者 SP-API 应用的环境与相关文档,以确保亚马逊的客户数据的安全。相比传统的审计流程,使用 Amazon Selling Partner API Guard 可以极大地减少人工的审计和干预,24小时收到亚马逊的审计报告,并可以将报告自动地发送给亚马逊进行评估。接下来我们将介绍如何部署 Amazon Selling Partner API Guard 并扫描上传安全合规报告。

要求和需要:

https://developer-docs.amazon.com/sp-api/docs/guidance-to-address-key-security-controls-in-sp-api-integration

安全合规审计:

https://developer-docs.amazon.com/sp-api-blog/docs/security-audits-best-practices-and-readiness

590e85c90fcfe40a91db1facbe7dd100.png

主要安全组件及架构

架构图

b0a272f807d211b43e2adbf2d4078620.png

方案构架图

整个 Amazon Selling Partner API Guard 架构方案涉及的无服务器组件有:

● Amazon S3: 用于存储 Report 以及本方案的 artifact。

● Amazon SNS: 用于接收消息并发送给 SP-API 开发者的订阅邮箱。

● Amazon Lambda: 用于触发生成报告任务。

● Amazon EventBridge: 用于编排整个方案的任务。

● Amazon IAM: 用于创建对应服务所使用的最小应用权限。

此外,本方案也会创建一个 VPC 网络和 Amazon EC2 服务器,用于给 SP-API 开发者提供 Amazon CLI 命令行交互的运行环境,以便手动触发任务并上报报告。

整个方案涉及到的安全扫描组件有:

● Amazon Macie: 用于检测在 RDS 数据库、S3 存储桶和 Amazon DynamoDB 数据库中未加密存储的 PII。

● Amazon GuardDuty: 用于监控进出 VPC 的网络流、S3 事件、Amazon CloudTrail 和 DNS,并分析这些日志和检查模式中是否存在任何异常。此外还会检查 EC2 实例、ECS 和 EKS 上是否存在恶意软件。

● Amazon Inspector: 用于监控 EC2 实例和 ECR 存储库在各个端口上是否存在漏洞和意外网络暴露。

●Amazon IAM Access Analyzer: 用于评估提供给外部用户的权限,以确保正确设置访问控制。

● Amazon Config: 用于扫描数据库、S3、EC2 等组件的配置安全合规性。

● Amazon Security Hub: 用于利用默认和自定义 Config 规则来验证您的安全标准。它还充当工作台,用于汇总和显示以上服务的扫描结果。

部署流程

前期准备

服务配额

为了保证服务可以完整运行,您需要事先在亚马逊云账户中确认:

1.确保创建的 Region 内 VPC 的 Quota “VPCs per Region” 没有到达上限。

2.确保创建的 Region 内 EC2 的 Quota “Running On-Demand Standard (A、C、D、H、I、M、R、T、Z) instances” 没有到达上限。

3.服务配置。

为了满足加密需要,您还需要在 EC2 界面右上角 – “Account Attributes” – “Settings” – “EBS Encryption” 中为 EBS 存储设置自定义的 Key。

7adc48193cbe94dffa0d64f740809d53.png

EBS Encryption

部署

本方案会使用 CloudFormation 在您的亚马逊云科技中国或全球环境中自动一键部署整个架构。CloudFormation 是一种通过声明式代码让开发人员创建一系列云上相关服务的模版。您可以直接在 Seller Central 后台中获得并启动 CloudFormation 模版。

Seller Central 后台:

https://sellercentral.amazon.com/sellingpartner/developerconsole/compliance

如果您没有直接访问亚马逊 Seller Central 的权限,也可以通过以下链接自动地在您的亚马逊云中国和海外的环境中启动本方案。

海外版

https://amazon-selling-partner-api-guard-artifacts.s3.amazonaws.com/latest/aws/amazon-selling-partner-api-guard-aws.template

中国版

https://amazon-selling-partner-api-guard-artifacts.s3.amazonaws.com/latest/aws-cn/amazon-selling-partner-api-guard-aws-cn.template

其中,亚马逊云科技在不同区域提供的服务可能有所不同,您可以通过 Selling Partner API Guard 参考文档和亚马逊云区域性服务列表来对照。

Selling Partner API Guard:

https://developer-docs.amazon.com/sp-api/docs/sp-api-guard-regional-deployments

亚马逊云区域性服务列表:

https://aws.amazon.com/cn/about-aws/global-infrastructure/regional-product-services/

在进入 CloudFormation 服务页面启动部署模版时, Stack name 需填写“Selling-Partner-API-Guard-Stack”。此外您需要填写 DeveloperEmail 和 MerchantToken 信息。DeveloperEmail 将被用于接收在 Amazon Selling Partner API Guard 部署过程中遇到的指引和通知,以及在部署完成后接收来自 Amazon Selling Partner API Guard 发送的扫描报告。MerchantToken 代表你的开发者账户所在店铺的信息,你可以访问此页面获得。亚马逊将通过 MerchantToken 来识别你的开发者账户。

此页面:

https://sellercentral.amazon.com/sw/AccountInfo/MerchantToken/step/MerchantToken

f27c7e40234d380ea44d609c3e8f0f88.png

CloudFormation 启动页

常见问题

如果您的订阅邮箱中有收到类似如下部署失败的问题通知邮件。

53ba0e90e8815df1060a9cbc5131eacc.png

常见问题

您可按照邮件中的内容提示,参考下图为 KMS 服务中的 Key Policy 添加邮件内容中的策略。并点击邮件中的链接重新开启服务器创建任务。

c9441c56ff11943828ab6d5d6a162668.jpeg

KMS 自定义密钥策略

fcedafb271d5a53f224036af3d1bd47d.jpeg

服务器创建任务

如 Enable 服务器创建任务后仍旧收到部署失败的问题通知邮件,可参考 CloudFormation Events 事件中 Status reason 的报错信息并确认:

●Region 中仍有 VPC 的配额

●Region 中仍有 EC2 的配额

●扫描并上传报告

部署完成后您的邮箱中将会收到来自 Amazon Selling Partner API Guard 发出的 CLI 交互的 Session Manager URL 链接。您可点击 URL 地址来登录到 Guard 创建的 EC2 服务器中,通过 CLI 来触发扫描报告的任务。

b19a0333c307ffd86b020b849f7d57e4.png

部署成功邮件

首先,您需要运行以下命令来进入 Guard CLI 程序的工作路径:cd GuardCli/

4a70bf8f80e75fd9689cd20a30461f9f.jpeg

Guard 命令行交互界面

接下来,运行以下命令来进行扫描任务配置:

sudo ./guardcli enable_services

然后,运行以下命令来开启扫描任务:

sudo ./guardcli start_scan

最后,运行以下命令来将扫描的报告发送至亚马逊:

./guardcli report_to_amazon

在完成上述任务的24小时后,您将收到扫描完成的通知邮件,邮件中将包含扫描的审计问题总结,以及扫描报告的下载链接。

dc7a2370f8d3c8ad9c4f33349bb8d1c7.png

扫描报告邮件

252a5f1e9a0f684a48505d5a2018f782.png

扫描报告样例

扫描报告中将会包含不合规的资源名称、描述、修复的重要等级,以及相对应的 DPP 保护协议条款和修复建议。

至此,您成功完成了部署 Amazon Selling Partner API Guard,扫描资源生成安全报告,并及时上传报告至 Amazon Services API Team。相较以往人工审计的方式,Amazon Selling Partner API Guard 基于亚马逊云的整个审计流程不仅更快、更自动化,并且也可以使您对 SP-API 应用在亚马逊云上环境的安全有更好的了解。

本篇作者

51ab91ea0a806693990f3e98ca7a494e.jpeg

Aonan Guan

亚马逊云科技解决方案架构师,负责基于亚马逊云科技云计算方案架构的咨询和设计,曾任算法工程师和部署平台全栈软件开发工程师。

238bf9cb2bbea6163ceaf66a8851ba92.jpeg

Lei Wang

亚马逊 SP-API 中国区负责人。亚马逊云科技解决方案架构师。专注亚马逊电商平台合作伙伴及第三方服务商 ISV 的 SP-API 对接咨询及推广。为中国区开发者提供基于 SP-API 的解决方案。

b0b30bad4ee4b5762aa1cb191fa5398c.gif

f41532729cb3e6a603a4ed26b791c15f.gif

听说,点完下面4个按钮

就不会碰到bug了!

0c15fb0ca8300f113d65e26e0135c221.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值