集成使用案例和所需权限 - Amazon Security Hub
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

集成使用案例和所需权限

Amazon Security Hub 允许 Amazon 客户接收来自 APN 合作伙伴的调查结果。合作伙伴的产品可能在客户的 Amazon 账户内部或外部运行。客户账户中的权限配置因合作伙伴产品使用的模型而异。

在 Security Hub 中,客户始终有权控制哪些合作伙伴可向客户账户发送调查发现。客户可随时取消合作伙伴的权限。

为了使合作伙伴能够向其账户发送安全调查发现,客户首先应在 Security Hub 中订阅合作伙伴产品。以下概述的所有使用案例,都必须执行订阅步骤。有关客户如何管理产品集成的详细信息,请参阅《Amazon Security Hub 用户指南》中的管理产品集成

客户订阅合作伙伴产品后,Security Hub 会自动创建托管资源策略。该策略授予合作伙伴产品权限,允许其使用 BatchImportFindings API 操作向客户账户的 Security Hub 发送调查发现。

以下是合作伙伴产品与 Security Hub 集成的常见案例。这些信息包括各个使用案例所需的附加权限。

合作伙伴托管:从合作伙伴账户发送的调查发现

此用例涵盖使用自己的 Amazon 账户托管产品的合作伙伴。要向 Amazon 客户发送安全调查结果,合作伙伴需要从合作伙伴产品账户调用 BatchImportFindingsAPI 操作。

在此使用案例中,客户账户只需要客户订阅合作伙伴产品时建立的权限。

在合作伙伴账户中,调用 BatchImportFindings API 操作的 IAM 主体必须具有允许主体调用 BatchImportFindings 的 IAM policy。

让合作伙伴产品能够在 Security Hub 中向客户发送调查发现需要两个步骤:

  1. 客户在 Security Hub 中创建对合作伙伴产品的订阅。

  2. 经客户确认,Security Hub 会生成正确的托管资源策略。

要发送与客户账户相关的安全调查发现,合作伙伴产品需使用自己的凭证调用 BatchImportFindings API 操作。

以下是 IAM policy 向合作伙伴账户中的主体授予 Security Hub 必要权限的示例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "securityhub:BatchImportFindings", "Resource": "arn:aws:securityhub:us-west-1:*:product-subscription/company-name/product-name" } ] }

合作伙伴托管:从客户账户发送的调查发现

此用例涵盖使用自己的 Amazon 账户托管产品,但使用跨账户角色访问客户账户的合作伙伴。他们从客户账户调用 BatchImportFindings API 操作。

在此使用案例中,如要调用 BatchImportFindings API 操作,合作伙伴账户需要在客户账户中担任客户托管 IAM 角色。

此调用从客户账户发起。因此,托管资源策略必须允许在调用中使用合作伙伴产品账户的产品 ARN。Security Hub 托管资源策略为合作伙伴产品账户和合作伙伴产品 ARN 授予权限。产品 ARN 是合作伙伴作为提供商的唯一标识符。由于调用不是来自合作伙伴产品账户,因此客户必须明确授予合作伙伴产品向 Security Hub 发送调查发现的权限。

在合作伙伴账户和客户账户之间扮演跨账户角色的最佳做法是使用合作伙伴提供的外部标识符。此外部标识符是客户账户中跨账户策略定义的一部分。合作伙伴在担任角色时必须提供标识符。在向合作伙伴授予 Amazon 账户访问权限时,外部标识符可提供额外的安全保护。唯一标识符可确保合作伙伴使用正确的客户账户。

允许合作伙伴产品以跨账户角色向 Security Hub 中的客户发送调查发现需要四个步骤:

  1. 客户或代表客户使用跨账户角色的合作伙伴开始订阅 Security Hub 中的产品。

  2. 经客户确认,Security Hub 会生成正确的托管资源策略。

  3. 客户可以手动或使用配置跨账户角色。 Amazon CloudFormation有关跨账户角色的信息,请参阅 IAM 用户指南中的向第三方拥有的 Amazon 账户提供访问权限

  4. 该产品可安全存储客户角色和外部 ID。

接下来,该产品将结果发送到 Security Hub:

  1. 产品调用 Amazon Security Token Service (Amazon STS) 来扮演客户角色。

  2. 该产品使用所担任角色的临时证书在 Security Hub 上调用 BatchImportFindings API 操作。

以下是 IAM policy 向合作伙伴跨账户角色授予必要的 Security Hub 权限的示例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "securityhub:BatchImportFindings", "Resource": "arn:aws:securityhub:us-west-1:111122223333:product-subscription/company-name/product-name" } ] }

该策略的 Resource 部分确定了具体的产品订阅。这样确保了合作伙伴只能为客户订阅的合作伙伴产品发送调查发现。

客户托管:从客户账户发送的调查发现

此使用案例包括在客户 Amazon 账户中部署产品的合作伙伴。在客户账户中运行的解决方案会调用 BatchImportFindings API。

对于此使用案例,必须向合作伙伴产品授予调用 BatchImportFindingsAPI 的附加权限。授予此权限的方式因合作伙伴解决方案及其在客户账户中的配置方式而异。

这种方法的一个例子是在客户账户中的 EC2 实例上运行的合作伙伴产品。此 EC2 实例必须附加一个 EC2 实例角色,以授予该实例调用 BatchImportFindingsAPI 操作的能力。这允许 EC2 实例向客户的账户发送安全调查结果。

此使用案例在功能上等同于客户将自有产品的调查发现加载到其账户中的场景。

客户允许合作伙伴产品在 Security Hub 中将客户账户中的调查发现发送给客户:

  1. 客户使用或其他部署工具手动将合作伙伴产品部署到他们的 Amazon 账户 Amazon CloudFormation中。

  2. 客户定义必要的 IAM policy,供合作伙伴产品在向 Security Hub 发送调查发现时使用。

  3. 客户将策略附加到合作伙伴产品的必要组件,例如 EC2 实例、容器或 Lambda 函数。

现在,该产品可以将调查发现发送到 Security Hub:

  1. 合作伙伴产品使用 Amazon SDK 或在 Secur Amazon CLI ity Hub 中调用 BatchImportFindingsAPI 操作。它从客户账户中附加有策略的组件发起调用。

  2. 在 API 调用期间,将生成必要的临时凭证以使 BatchImportFindings 调用成功。

以下是 IAM policy 向客户账户中的合作伙伴产品授予 Security Hub 必要权限的示例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "securityhub:BatchImportFindings", "Resource": "arn:aws:securityhub:us-west-2:111122223333:product-subscription/company-name/product-name" } ] }