【问题标题】:What IAM role does serviceaccount need for exporting dns record-sets on GCP?serviceaccount 需要什么 IAM 角色才能在 GCP 上导出 dns 记录集?
【发布时间】:2022-09-06 22:10:04
【问题描述】:

我正在从 CloudBuild 运行 bash 脚本。 bash 脚本会将 DNS 记录导出到文件中。

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

cloudbuild的serviceaccount有roles/dns.reader

运行 cloudbuild 时出现此错误:

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

如果有人可以帮助我,我将不胜感激。

  • 我怀疑gcloud 没有经过身份验证。 gcloud dns record-sets export 是唯一需要身份验证的命令,但我认为任何其他命令也会失败。也许尝试删除scripts/dnszone_backup.bash,这应该可以工作。然后尝试添加gcloud auth listgcloud projects list 或其他需要身份验证的命令。您还显示了 2 个不同的容器图像。在错误gcr.io/cloud-builders/gcloud 中,但在您的脚本中gcr.io/google.com/cloudsdktool/cloud-sdk
  • documentation 建议前者自动使用 Cloud Build 服务帐户,但后者需要身份验证。见Usage

标签: google-cloud-platform google-cloud-build google-iam google-cloud-iam google-cloud-dns


【解决方案1】:

我需要激活“Cloud Build API”。

我通过gcloud dns record-sets list 对其进行测试找到了它,并收到了激活此 API 的明确错误消息。

【讨论】:

    猜你喜欢
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多