You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Cloud VPC服务控制与入站策略问题咨询

GCP VPC Service Controls Dry Run模式下NO_MATCHING_ACCESS_LEVEL错误排查

环境配置

  • Access Policy:名称为accessPolicies/XXXXX,作用域为GCP文件夹
  • Access Level:名称为accessLevels/Access_Level_Restriction,筛选条件为授权公网IP
  • VPC Service Perimeter(Dry Run模式):名称为servicePerimeters/vpc_perimeter,保护资源包含文件夹内所有GCP项目及对应VPC;限制所有服务,未配置VPC可访问服务与Access Levels;入站策略允许来自Access_Level_Restriction访问级别的任意身份访问所有项目与服务,出站策略允许任意身份访问所有项目与服务
  • 已启用VPC SC/WIF功能

遇到的问题

通过Workforce Identity Federation (WIF)或Cloud Identity连接时,可正常访问Compute Engine列出project_id项目中的实例,但使用日志过滤语句:

log_id("cloudaudit.googleapis.com/policy") AND severity="error" AND protoPayload.metadata.dryRun="true"

收到Dry Run模式下的VPC Service Controls错误:

(Dry Run Mode) Request is prohibited by organization's policy. vpcServiceControlsUniqueIdentifier: XXXXXXX

错误详情显示违规原因为NO_MATCHING_ACCESS_LEVEL

咨询问题

  1. 为何IP已在入站策略中授权仍出现该错误?
  2. 已通过入站策略配置访问级别,是否仍需在服务边界中显式添加访问级别?

解答

问题1解答

核心原因是Dry Run模式下不同请求类型的校验逻辑差异,以及WIF/Cloud Identity的IP校验特性:

  • 你能正常访问Compute Engine实例列表属于数据平面请求,Dry Run模式下这类请求不会触发严格的VPC SC校验;但日志过滤语句对应的是控制平面的政策类请求(cloudaudit.googleapis.com/policy日志关联IAM政策变更、权限校验等控制操作),这类请求在Dry Run模式下会被完整校验。
  • 另外,使用WIF/Cloud Identity身份时,GCP会优先校验身份会话创建时的来源IP,而非当前请求的公网IP。如果你的身份会话不是从授权IP段发起创建的,哪怕当前请求IP在授权列表内,也会触发NO_MATCHING_ACCESS_LEVEL错误。

问题2解答

需要在服务边界中显式添加访问级别,原因如下:

  • 服务边界的accessLevels字段是"可用访问级别白名单",只有被添加到这里的访问级别,才能被入站/出站策略引用。入站策略的作用是从"可用白名单"中挑选允许通过的访问级别,未加入白名单的访问级别,即使在入站策略中配置,也不会被VPC SC识别生效。
  • 两者是依赖关系:先把访问级别加入服务边界的可用列表,入站策略的配置才能生效。

内容的提问来源于stack exchange,提问作者Jinja_dude

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 10:53:20