0

我一直在尝试列出 gcloud 上的所有 API 网关配置,但发生了一些错误。

当我在用户登录的情况下在终端上运行以下命令时,它就像一个魅力。

gcloud api-gateway api-configs list --api=$API --project=$PROJECT_ID --format="table(name)"

但是当我从这个 cloudbuild.yaml 中运行相同的命令时

steps:
  - name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
    entrypoint: "bash"
    args:
      - "-c"
      - |
        gcloud api-gateway api-configs list --api=logistics-homolog --project=$PROJECT_ID \
        --filter=serviceConfigId:logistics-mobile-places-* --format="table(name)"

它给了我以下错误:

ERROR: (gcloud.api-gateway.api-configs.list) PERMISSION_DENIED: Permission 'apigateway.apiconfigs.list' denied on 'projects/$PROJECT_ID/locations/global/apis/logistics-homolog/configs'

它出什么问题了?!

4

2 回答 2

0

您没有包含足够的信息,但很可能您没有gcloud在容器中进行身份验证。

查看镜像的 repo 文档,了解如何对容器镜像进行身份验证;

https://github.com/GoogleCloudPlatform/cloud-sdk-docker

于 2021-10-27T01:01:30.327 回答
0

您需要为 Cloud Build 默认服务帐号(模式:@cloudbuild.gserviceaccount.com)授予命令所需的权限。

查看您的 IAM 页面以进行更新。

于 2021-10-27T07:47:38.603 回答