

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

# 行为图数据结构概述
<a name="graph-data-structure-overview"></a>

行为图数据结构定义了提取和分析数据的结构。它还定义了如何将源数据映射到行为图。

## 行为图数据结构中的元素类型
<a name="graph-data-structure-elements"></a>

行为图数据结构由以下信息元素组成。

****实体****  
实体表示从 Detective 源数据中提取的项目。  
每个实体都有一个类型，用来标识它所代表的对象类型。实体类型的示例包括 IP 地址、Amazon EC2 实例和 AWS 用户。  
对于每个实体，源数据也用于填充实体属性。属性值可以直接从源记录中提取，也可以跨多个记录中汇总。  
某些属性由单个标量值或集合值组成。例如，对于 EC2 实例，Detective 会跟踪实例的类型和处理的总字节数。  
时间序列属性可追踪一段时间内的活动。例如，对于 EC2 实例，Detective 会随着时间的推移跟踪其使用的唯一端口。

****关系****  
关系表示各个实体之间发生的活动。关系也是从 Detective 源数据中提取的。  
与实体类似，关系也有一个类型，用于标识所涉及的实体类型和连接方向。关系类型的一个示例是连接到 EC2 实例的 IP 地址。  
对于每个单独的关系，例如连接到特定实例的特定 IP 地址，Detective 会跟踪一段时间内的发生情况。

## 行为图数据结构中的实体类型
<a name="entity-types"></a>

行为图数据结构由执行以下操作的实体和关系类型组成：
+ 跟踪正在使用的服务器、IP 地址和用户代理
+ 跟踪正在使用的 AWS 用户、角色和帐户
+ 跟踪 AWS 环境中的网络连接和授权情况

行为图数据结构包含以下实体类型。

**AWS 账户**  
AWS Detective 源数据中存在的帐户。  
对于每个账户，Detective 都会回答几个问题：  
+ 该账户使用了哪些 API 调用？
+ 该账户使用了哪些用户代理？
+ 该账户使用了哪些自治系统组织 (ASOs)？
+ 该账户在哪些地理位置处于活跃状态？

**AWS 角色**  
AWS 存在于 Detective 源数据中的角色。  
对于每个角色，Detective 都会回答几个问题：  
+ 该角色使用了哪些 API 调用？
+ 该角色使用了哪些用户代理？
+ 这个角色使用 ASOs 了什么？
+ 该角色在哪些地理位置处于活跃状态？
+ 哪些资源代入了该角色？
+ 该角色扮代入了哪些角色？
+ 该角色涉及哪些角色环节？

**AWS 用户**  
AWS 存在于 Detective 源数据中的用户。  
对于每个用户，Detective 都会回答几个问题：  
+ 该用户使用了哪些 API 调用？
+ 该用户使用了哪些用户代理？
+ 该用户在哪些地理位置处于活跃状态？
+ 该用户代入了哪些角色？
+ 该用户涉及哪些角色环节？

**联合用户**  
联合用户的实例。联合用户的示例包括：  
+ 使用安全断言标记语言 (SAML) 登录的身份
+ 使用网络身份联合验证登录的身份
对于每位联合用户，Detective 都会回答以下问题：  
+ 该联合用户是通过哪个身份提供商进行身份验证的？
+ 该联合用户的受众有哪些？ 受众可以识别请求联合用户的网络身份令牌的应用程序。
+ 该联合用户在哪些地理位置处于活跃状态？
+ 该联合用户使用了哪些用户代理？
+ 联合用户使用 ASOs 了什么？
+ 该联合用户代入了哪些角色？
+ 该联合用户涉及哪些角色环节？

**EC2 实例**  
Detective 源数据中存在的 EC2 实例。  
对于 EC2 实例，Detective 都会回答几个问题：  
+ 哪些 IP 地址与实例进行了通信？
+ 使用了哪些端口与实例通信？
+ 从实例发送和接收的数据量是多少？
+ 哪个 VPC 包含该实例？
+ 该 EC2 实例使用了哪些 API 调用？
+ 该 EC2 实例使用了哪些用户代理？
+ 该 EC2 实例使用了哪些 ASO？
+ 该 EC2 实例在哪些地理位置处于活跃状态？
+ 该 EC2 实例代入了哪些角色？

**角色会话**  
代入角色的资源的实例。每个角色会话都由角色标识符和会话名称标识。  
对于每个角色，Detective 都会回答几个问题：  
+ 该角色会议涉及哪些资源？ 换句话说，代入了什么角色，什么资源代入了该角色？ 

  请注意，对于跨账户的角色代入，Detective 无法识别代入该角色的资源。
+ 该角色会话使用了哪些 API 调用？
+ 该角色会话使用了哪些用户代理？
+ 角色会话使用 ASOs 了什么？
+ 该角色会话在哪些地理位置处于活跃状态？
+ 哪个用户或角色开始了该角色会话？
+ 哪些角色会话是从该角色会话开始的？

**调查发现**  
亚马逊发现的调查结果 GuardDuty 已输入到Detective的源数据中。  
对于每项调查发现，Detective 都会跟踪调查发现类型、来源和调查发现活动的时间窗口。  
它还会存储与调查发现有关的特定信息，例如检测到的活动中涉及的角色或 IP 地址。

**IP 地址**  
Detective 源数据中存在的 IP 地址。  
对于每个 IP 地址，Detective 都会回答几个问题：  
+ 地址使用了哪些 API 调用？
+ 地址使用了哪些端口？
+ 哪些用户和用户代理使用了 IP 地址？
+ IP 地址在哪些地理位置处于活跃状态？
+ 该 IP 地址已分配给哪些 EC2 实例并与之通信？

**S3 存储桶**  
Detective 源数据中的 S3 存储桶。  
对于每个 S3 存储桶，Detective 都会回答以下问题：  
+ 哪些主体与 S3 存储桶进行了交互？
+ 对 S3 存储桶进行了哪些 API 调用？
+ 主体从哪些地理位置对 S3 存储桶进行了 API 调用？
+ 使用了哪些用户代理与 S3 存储桶进行交互？
+ 用来 ASOs 与 S3 存储桶交互的是什么？
可以删除 S3 存储桶，然后使用相同名称创建新的存储桶。由于 Detective 使用 S3 存储桶名称来标识 S3 存储桶，因此它将这些存储桶视为单个 S3 存储桶实体。在实体配置文件中，**创建时间**是第一次创建时间。**删除时间**是最近的删除时间。  
要查看所有创建和删除事件，请将范围时间设置为以创建时间开始，以删除时间结束。在** API 调用总量**配置文件面板上，显示范围时间的活动详细信息。筛选要显示 `Create` 和 `Delete` 方法的 API 方法。请参阅[API 调用总量的活动详细信息](profile-panel-drilldown-overall-api-volume.md)。

**用户代理**  
Detective 源数据中存在的用户代理。  
对于每个用户代理，Detective 都会回答以下问题：  
+ 用户代理使用了哪些 API 调用？
+ 哪些用户和角色使用了用户代理？
+ 哪些 IP 地址使用了用户代理？

**EKS 集群**  
Detective 源数据中存在的 EKS 集群。  
要查看该实体类型的完整详细信息，必须启用可选的 EKS 审计日志数据来源。有关更多信息，请参阅[可选数据来源](https://docs.aws.amazon.com/detective/latest/userguide/detective-source-data-about.html#source-data-types-optional)
对于每个 EKS 集群，Detective 都会回答以下问题：  
+ 在该集群中运行了哪些 Kubernetes API 调用？
+ 此集群中有哪些 Kubernetes 用户和服务账号（主体）处于活跃状态？
+ 此集群中启动了哪些容器？
+ 使用哪些映像来启动该群集中的容器？

**Kubernetes 容器组（pod）**  
Detective 源数据中存在的 Kubernetes 容器组（pod）。  
要查看该实体类型的完整详细信息，必须启用可选的 EKS 审计日志数据来源。有关更多信息，请参阅[可选数据来源](https://docs.aws.amazon.com/detective/latest/userguide/detective-source-data-about.html#source-data-types-optional)
对于每个容器组（pod），Detective 都会回答以下问题：  
+ 该容器组（pod）中的哪些容器映像在我的账户中很常见？
+ 针对该容器组（pod）有哪些活动？
+ 该容器组（pod）中运行了哪些容器？
+ 该容器组（pod）中容器的注册表在我的账户中是否常见？
+ 工作负载的其他容器组（pod）中还运行着哪些容器？
+ 该容器组（pod）中是否有工作负载的其他容器组（pod）中没有的异常容器？

**容器映像**  
Detective 源数据中存在的容器映像。  
要查看该实体类型的完整详细信息，必须启用可选的 EKS 审计日志数据来源。有关更多信息，请参阅[可选数据来源](https://docs.aws.amazon.com/detective/latest/userguide/detective-source-data-about.html#source-data-types-optional)
对于每个容器映像，Detective 都会回答以下问题：  
+ 我的环境中有哪些其他映像与此映像共享相同的存储库或注册表？
+ 我的环境中正在运行该映像的多少副本？

**Kubernetes 主题**  
Detective 源数据中存在的 Kubernetes 主题。Kubernetes 主题是用户或服务账户。  
要查看该实体类型的完整详细信息，必须启用可选的 EKS 审计日志数据来源。有关更多信息，请参阅[可选数据来源](https://docs.aws.amazon.com/detective/latest/userguide/detective-source-data-about.html#source-data-types-optional)
对于每个主题，Detective 都会回答以下问题：  
+ 哪些 IAM 主体已验证为该主题？
+ 哪些调查发现与该主题相关联？
+ 该主题使用的是哪些 IP 地址？