本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
系统日志的 VPC 终端节点策略
您可以将 VPC 终端节点策略附加到您的 syslog VPC 终端节点,以控制允许哪些流量通过该终端节点。除了安全组和资源策略之外,这还提供了额外的访问控制层。
默认情况下,VPC 终端节点具有允许所有流量的完全访问策略。您可以通过附加自定义策略来限制这一点。有关 VPC 终端节点策略的更多信息,请参阅Amazon PrivateLink 指南中的使用终端节点策略控制访问。
重要
Syslog 流量以匿名委托人的身份到达(网络上没有 IAM 身份)。策略必须使用操作、资源或 VPC 条件键来使用"Principal": "*"和限定访问范围。 Principal-scoped 策略(例如,仅允许特定 IAM 角色的策略)将拒绝所有 syslog 流量。
支持的条件键
系统日志的 VPC 终端节点策略支持以下条件键:
| 条件键 | 说明 | 示例值 |
|---|---|---|
aws:SourceVpc |
流量来源的 VPC。 | vpc-111bbb22 |
aws:SourceVpce |
流量到达的 VPC 终端节点。 | vpce-0abc123def456 |
aws:VpcSourceIp |
VPC 内发送方的私有 IP 地址。 | 10.0.1.50 |
aws:ResourceAccount |
拥有目标日志组的账户。 | 123456789012 |
aws:ResourceOrgID |
拥有目标日志组的账户的组织 ID。 | o-aa111bb222 |
aws:ResourceOrgPaths |
拥有目标日志组的账户的组织单位路径。 | o-aa111bb222/r-ab12/ou-ab12-11111111/* |
由于系统日志流量没有 IAM 委托人身份,因此不支持以下条件键:
aws:PrincipalArnaws:PrincipalAccountaws:PrincipalOrgIDaws:PrincipalOrgPathsaws:PrincipalTag/*
使用不支持的条件密钥的策略将导致隐式拒绝,从而阻止通过端点的所有系统日志流量。
限制到特定的日志组
以下策略仅允许发送到特定日志组的 syslog 流量:
aws ec2 modify-vpc-endpoint \ --vpc-endpoint-id $VPCE_ID \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "logs:PutLogEvents", "Resource": "arn:aws:logs:Region:account-id:log-group:/syslog/my-devices" } ] }' \ --region $REGION
拒绝所有流量
以下策略阻止通过端点的所有系统日志流量。这对于在不删除端点的情况下暂时停止摄取很有用:
aws ec2 modify-vpc-endpoint \ --vpc-endpoint-id $VPCE_ID \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "*", "Resource": "*" } ] }' \ --region $REGION
重置为默认策略
要恢复默认的全部允许策略,请执行以下操作:
aws ec2 modify-vpc-endpoint \ --vpc-endpoint-id $VPCE_ID \ --reset-policy \ --region $REGION
策略传播
创建或修改 VPC 终端节点策略后,策略更改最多可能需要几分钟才能生效。在此传播期内,之前的策略(或默认策略)将继续适用。
如果 VPC 终端节点策略拒绝 syslog 流量,您将看到以下指标:
策略评估后,TCP 连接会立即关闭。
UDP 数据报被丢弃。
会发出带有
Reason=VpcePolicyDenied的SyslogMessagesDropped指标。带的
SyslogConnectionsRejected指标Reason=VpcePolicyDenied是针对 TCP 连接发出的。