将 Amazon CloudTrail 和接口 VPC 终端节点一起使用 - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 Amazon CloudTrail 和接口 VPC 终端节点一起使用

如果您使用 Amazon Virtual Private Cloud (Amazon VPC) 托管 Amazon 资源,则可以在您的 VPC 和 Amazon CloudTrail 之间建立连接。您可以使用此连接实现 CloudTrail 与您的 VPC 上的资源的通信而不用访问公共 Internet。

Amazon VPC 是一项 Amazon 服务,可用来启动在虚拟网络中定义的 Amazon 资源。借助 VPC,您可以控制您的网络设置,如 IP 地址范围、子网、路由表和网络网关。在使用 VPC 终端节点时,VPC 和 Amazon 服务之间的路由是由 Amazon 网络处理的,并且可以使用 IAM 策略控制对服务资源的访问。

要将 VPC 连接到 CloudTrail,请为 CloudTrail 定义一个接口 VPC 终端节点。接口端点是具有私有 IP 地址的弹性网络接口,用作发送到受支持的 Amazon 服务的通信的入口点。该终端节点提供了到 CloudTrail 的可靠、可扩展的连接,无需 Internet 网关、网络地址转换 (NAT) 实例或 VPN 连接。有关更多信息,请参阅 Amazon VPC 用户指南中的什么是 Amazon VPC

接口 VPC 终端节点由 Amazon PrivateLink 提供支持,后者是一种Amazon技术,可将弹性网络接口与私有 IP 地址结合使用来支持Amazon服务之间的私有通信。有关更多信息,请参阅 Amazon PrivateLink

以下各节适用于 Amazon VPC 的用户。有关更多信息,请参阅 Amazon VPC 用户指南 中的 Amazon VPC 入门

区域

Amazon CloudTrail 支持所有支持 CloudTrail 的 Amazon Web Services 区域中的 VPC 端点和 VPC 端点策略。

为 CloudTrail 创建 VPC 终端节点

要开始结合使用 CloudTrail 与 VPC,请为 CloudTrail 创建一个接口 VPC 终端节点。有关更多信息,请参阅《Amazon VPC 指南》中的使用接口 VPC 端点访问 Amazon Web Services 服务

您不需要更改 CloudTrail 的设置。CloudTrail 使用公有端点或私有接口 VPC 端点(二者中在使用中的那个)调用其他 Amazon Web Services 服务。

为 CloudTrail 创建 VPC 端点策略

VPC 端点策略是一种 IAM 资源,您可以将其附加到接口 VPC 端点。默认端点策略将授予通过接口 VPC 端点完全访问 CloudTrail API 的权限。要控制允许从 VPC 访问 CloudTrail 的权限,请将自定义端点策略附加到接口 VPC 端点。

端点策略指定以下信息:

  • 可执行操作的主体(Amazon Web Services 账户、IAM 用户和 IAM 角色)。

  • 可执行的操作。

  • 可对其执行操作的资源。

有关 VPC 端点策略的更多信息,包括如何更新策略,请参阅《Amazon VPC 用户指南》中的使用 VPC 端点控制对服务的访问

下面是 CloudTrail 的自定义 VPC 端点策略示例。

示例:允许所有 CloudTrail 操作

以下示例 VPC 端点策略授权所有资源上的所有主体可访问所有 CloudTrail 操作。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": "cloudtrail:*", "Effect": "Allow", "Resource": "*", "Principal": "*" } ] }

示例:允许特定 CloudTrail 操作

以下示例 VPC 端点策略授权所有资源上的所有主体执行 cloudtrail:ListTrailscloudtrail:ListEventDataStores 操作。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": ["cloudtrail:ListTrails", "cloudtrail:ListEventDataStores"], "Effect": "Allow", "Principal": "*", "Resource": "*" } ] }

示例:拒绝所有 CloudTrail 操作

以下示例 VPC 端点策略拒绝所有资源上的所有主体访问所有 CloudTrail 操作。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": "cloudtrail:*", "Effect": "Deny", "Principal": "*", "Resource": "*" } ] }

示例:拒绝特定 CloudTrail 操作

以下示例 VPC 端点策略对所有资源上的所有主体拒绝 cloudtrail:CreateTrailcloudtrail:CreateEventDataStore 操作。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Action": ["cloudtrail:CreateTrail", "cloudtrail:CreateEventDataStore"], "Effect": "Deny", "Principal": "*", "Resource": "*" } ] }

示例:允许来自特定 VPC 的所有 CloudTrail 操作

以下示例 VPC 端点策略授权所有资源上的所有主体执行所有 CloudTrail 操作,但前提是请求者使用指定的 VPC 发出请求。将 vpc-id 替换为您的 VPC ID。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudtrail:*", "Resource": "*", "Principal": "*", "Condition": { "StringEquals": { "aws:SourceVpc": "vpc-1234567890abcdef0" } } } ] }

示例:允许来自特定 VPC 端点的所有 CloudTrail 操作

以下示例 VPC 端点策略授权所有资源上的所有主体执行所有 CloudTrail 操作,但前提是请求者使用指定的 VPC 端点发出请求。将 vpc-endpoint-id 替换为您的 VPC 端点 ID。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudtrail:*", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceVpce": "vpce-1a2b3c4d" } } } ] }

共享子网

与任何其他 VPC 端点一样,CloudTrail VPC 端点只能由共享子网中的所有者账户创建。但是,参与者账户可以使用与参与者账户共享的子网中的 CloudTrail VPC 端点。有关 VPC 共享的更多信息,请参阅《Amazon VPC 用户指南》中的与其他账户共享 VPC