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

CloudBuild服务账号导出GCP DNS记录集所需IAM角色及403权限问题排查

CloudBuild执行DNS记录导出报403 Forbidden问题排查与解决

针对CloudBuild服务账号已配置roles/dns.reader但执行DNS记录导出仍报403的问题,可按以下步骤排查解决:

1. 确认服务账号权限绑定有效性

  • CloudBuild默认使用的服务账号格式为[PROJECT_NUMBER]@cloudbuild.gserviceaccount.com,先确认当前构建使用的是该账号
  • 执行以下命令验证角色是否直接绑定到该账号:
    gcloud projects get-iam-policy $projectname --filter="bindings.members:serviceAccount:[YOUR_CLOUDBUILD_SA] AND bindings.roles:roles/dns.reader"
    
  • 若权限通过组或间接方式授予,可能存在生效延迟,建议直接给服务账号绑定角色

2. 检查DNS区域级IAM权限

  • 部分DNS区域可能设置了独立的IAM规则,会覆盖项目级别的roles/dns.reader权限
  • 查看目标区域的IAM配置:
    gcloud dns zones get-iam-policy $i --project $projectname
    
  • 如果区域有自定义权限设置,需确保CloudBuild服务账号在区域级别也被授予roles/dns.reader

3. 验证脚本变量正确性

  • 确认脚本中的$projectname和$i(DNS区域名称)是否正确赋值,避免为空或拼写错误
  • 在导出命令前添加调试输出,检查变量值:
    echo "当前项目:$projectname,目标区域:$i"
    gcloud dns record-sets export zonedump-$i.tmp --zone-file-format --project $projectname --zone=$i
    
  • 变量错误可能导致请求不存在的资源,此时也会返回403错误

4. 排查网络访问限制

  • 如果CloudBuild使用私有网络,需确保VPC防火墙规则允许出站访问dns.googleapis.com(端口443)
  • 检查是否有访问控制列表(ACL)或代理阻止了CloudBuild对DNS API的请求

5. 临时权限测试(排查用)

  • 给CloudBuild服务账号临时添加roles/dns.admin角色,重新执行构建
  • 若执行成功,说明roles/dns.reader角色可能存在权限遗漏,或区域级权限未正确配置,测试后记得移除高权限角色

附用户提供的相关代码

执行命令:

gcloud dns record-sets export zonedump-$i.tmp --zone-file-format --project $projectname --zone=$i

错误信息:

ERROR: (gcloud.dns.record-sets.export) HTTPError 403: Forbidden
Finished Step #3
ERROR
ERROR: build step 3 "gcr.io/google.com/cloudsdktool/cloud-sdk" failed: step exited with non-zero status: 1

cloudbuild.yaml配置:

steps:
- name: 'bash'
  args: ['echo', 'Backing up DNS zone to Storage!']
- name: 'bash'
  args: ['ls']
- name: 'bash'
  args: ['chmod', '+x', 'scripts/dnszone_backup.bash']
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
  entrypoint: "bash"
  args:
    - "-c"
    - |
      echo "calling script"
      ls -la
      gcloud version
      scripts/dnszone_backup.bash

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:39:23