AWS CSPM 入门
编辑AWS CSPM 入门编辑
概述编辑
此页面介绍如何使用云安全态势管理 (CSPM) 功能开始监控云资产的安全态势。
设置 AWS CSPM编辑
您可以通过注册单个云账户或注册包含多个账户的组织来设置 AWS CSPM。无论哪种方式,您都将首先添加 CSPM 集成,然后启用云账户访问。
添加 CSPM 集成编辑
- 在 Elastic Security 入门 页面上,单击 添加集成。
- 搜索
CSPM
,然后单击结果。 - 单击 添加云安全态势管理 (CSPM)。
- 选择 AWS,然后选择 AWS 组织 以加入多个账户,或选择 单个账户 以加入单个账户。
- 为您的集成命名,使其与您要监控的 AWS 账户/组织的目的或团队相匹配,例如
dev-aws-account
。
设置云账户访问编辑
CSPM 集成需要访问 AWS 的内置 SecurityAudit
IAM 策略,以便发现和评估云账户中的资源。有多种方法可以提供访问权限。
对于大多数用例,最简单的选项是使用 AWS CloudFormation 在 AWS 账户中自动配置必要的资源和权限。本节将介绍此方法以及几种手动选项。
CloudFormation(推荐)编辑
- 在 添加云安全态势管理 (CSPM) 集成 菜单的 设置访问权限 下,选择 CloudFormation。
- 在新浏览器标签页或窗口中,以管理员身份登录到您要加入的 AWS 账户或组织。
- 返回 Kibana 标签页。单击页面底部的 保存并继续。
- 查看信息,然后单击 启动 CloudFormation。
- CloudFormation 模板将显示在新浏览器标签页中。
- 仅对于组织级部署,您必须在 CloudFormation 模板的
OrganizationalUnitIds
字段中输入要部署到的组织单元的 ID。您可以在 AWS 控制台中 AWS 组织 → AWS 账户 下找到它(它显示在组织名称下)。 - (可选)使用右上角的控件切换到您要部署到的 AWS 区域。
-
选中 功能 下的复选框以授权创建必要的资源。
- 在模板底部,选择 创建堆栈。
返回 Kibana 后,单击 查看资产 以查看新集成正在收集的数据。
组织级加入的手动身份验证编辑
如果您要加入单个账户而不是组织,请跳过本节。
在组织级使用手动身份验证时,您需要使用 AWS 控制台为要部署到的组织配置必要的权限
-
在组织的管理账户(根账户)中,创建一个名为
cloudbeat-root
的 IAM 角色(名称很重要)。该角色需要几个策略- 以下内联策略
单击展开策略
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "organizations:List*", "organizations:Describe*" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "sts:AssumeRole" ], "Resource": "*", "Effect": "Allow" } ] }
- 以下信任策略
单击展开策略
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Management Account ID>:root" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
- AWS 托管的
SecurityAudit
策略。
您必须在信任策略中将 <Management account ID>
替换为您的 AWS 账户 ID。
-
接下来,对于您要在组织中扫描的每个账户,创建一个名为
cloudbeat-securityaudit
的 IAM 角色,其中包含以下策略- AWS 托管的
SecurityAudit
策略。 - 以下信任策略
- AWS 托管的
单击展开策略
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Management Account ID>:role/cloudbeat-root" }, "Action": "sts:AssumeRole" } ] }
您必须在信任策略中将 <Management account ID>
替换为您的 AWS 账户 ID。
创建必要的角色后,使用其中一种手动身份验证方法进行身份验证。
在使用以下任何身份验证方法部署到组织时,您需要确保您提供的凭据授予了对 cloudbeat-root
权限进行假设的权限。
手动身份验证方法编辑
无论您使用哪种方法进行身份验证,请确保附加了 AWS 的内置 SecurityAudit
IAM 策略。
选项 1 - 默认实例角色编辑
如果您要部署到 AWS 组织而不是 AWS 账户,则您应该已经 创建了一个新角色,cloudbeat-root
。跳到步骤 2“将您的新 IAM 角色附加到 EC2 实例”,并附加此角色。您可以使用现有或新的 EC2 实例。
按照 AWS 的 Amazon EC2 的 IAM 角色 文档使用 IAM 控制台创建一个 IAM 角色,该角色会自动生成一个实例配置文件。
-
创建 IAM 角色
- 在 AWS 中,转到您的 IAM 仪表板。单击 角色,然后单击 创建角色。
- 在 选择受信任实体 页面上,在 受信任实体类型 下,选择 AWS 服务。
-
在 用例 下,选择 EC2。单击 下一步。
-
在 添加权限 页面上,搜索并选择
SecurityAudit
。单击 下一步。 - 在 名称、查看和创建 页面上,命名您的角色,然后单击 创建角色。
-
将您的新 IAM 角色附加到 EC2 实例
- 在 AWS 中,选择一个 EC2 实例。
-
选择 操作 > 安全 > 修改 IAM 角色。
- 在 修改 IAM 角色 页面上,搜索并选择您的新 IAM 角色。
- 单击 更新 IAM 角色。
- 返回 Kibana 并 完成手动设置。
确保将 CSPM 集成部署到此 EC2 实例。在 Kibana 中完成设置时,在 设置访问权限 部分,选择 假设角色 并将 角色 ARN 留空。单击 保存并继续。
选项 2 - 直接访问密钥编辑
访问密钥是 IAM 用户或 AWS 账户根用户的长期凭据。要使用访问密钥作为凭据,您必须提供 访问密钥 ID
和 密钥秘密
。提供凭据后,完成手动设置。
有关更多详细信息,请参阅 访问密钥和密钥秘密。
您必须在创建 IAM 用户时选择 程序访问。
选项 3 - 临时安全凭据编辑
您可以在 AWS 中配置临时安全凭据,使其持续特定时间。它们由访问密钥 ID、密钥秘密和安全令牌组成,安全令牌通常使用 GetSessionToken
查找。
由于临时安全凭据是短期凭据,因此一旦过期,您将需要生成新的凭据并手动更新集成的配置,以继续收集云态势数据。在凭据过期之前更新凭据,以避免数据丢失。
启用了多因素身份验证 (MFA) 的 IAM 用户需要在调用 GetSessionToken
时提交 MFA 代码。有关更多详细信息,请参阅 AWS 的 临时安全凭据 文档。
您可以使用 AWS CLI 生成临时凭据。例如,如果您启用了 MFA,可以使用以下命令
sts get-session-token --serial-number arn:aws:iam::1234:mfa/[email protected] --duration-seconds 129600 --token-code 123456
此命令的输出包含以下字段,您应该在配置 KSPM 集成时提供这些字段
-
访问密钥 ID
:访问密钥的第一部分。 -
密钥秘密
:访问密钥的第二部分。 -
会话令牌
:使用临时安全凭据时所需的令牌。
提供凭据后,完成手动设置。
选项 4 - 共享凭据文件编辑
如果您在不同的工具或应用程序中使用不同的 AWS 凭据,可以使用配置文件在同一个配置文件中定义多个访问密钥。有关更多详细信息,请参阅 AWS 的 共享凭据文件 文档。
不要将 访问密钥 ID
和 密钥秘密
提供给集成,而是提供在共享凭据文件中查找访问密钥所需的信息。
-
凭据配置文件名称
:共享凭据文件中的配置文件名称。 -
共享凭据文件
:共享凭据文件的目录。
如果您未为所有配置字段提供值,则集成将使用以下默认值。
- 如果未提供
访问密钥 ID
、密钥秘密
和ARN 角色
,则集成将检查凭据配置文件名称
。 - 如果不存在
凭据配置文件名称
,则将使用默认配置文件。 - 如果
共享凭据文件
为空,则将使用默认目录。 - 对于 Linux 或 Unix,共享凭据文件位于
~/.aws/credentials
。
提供凭据后,完成手动设置。
选项 5 - IAM 角色 Amazon 资源名称 (ARN)编辑
IAM 角色 Amazon 资源名称 (ARN) 是您可以在 AWS 帐户中创建的 IAM 身份。您可以定义角色的权限。角色没有标准的长期凭据,例如密码或访问密钥。相反,当您假定角色时,它会为您的会话提供临时的安全凭据。
要使用 IAM 角色 ARN,请在 首选手动方法 下选择 假定角色,输入 ARN,然后继续进行完成手动设置。
完成手动设置编辑
提供 AWS 凭据后,在 在何处添加此集成 下
如果您想监控尚未部署 Elastic Agent 的 AWS 帐户或组织
- 选择 新主机.
- 命名 Elastic Agent 策略。使用与您要监控的云帐户或帐户的目的或团队匹配的名称。例如,
dev-aws-account
。 - 单击 保存并继续,然后单击 将 Elastic Agent 添加到您的主机。添加代理 向导将出现并提供 Elastic Agent 二进制文件,您可以将其下载并部署到您的 AWS 帐户。
如果您想监控已部署 Elastic Agent 的 AWS 帐户或组织
- 选择 现有主机.
- 选择适用于您要监控的 AWS 帐户的代理策略。
- 单击 保存并继续.