gpt4 book ai didi

google-app-engine - Cloud Build 无法部署到 Google App Engine - 您无权充当 @appspot.gserviceaccount.com

转载 作者:行者123 更新时间:2023-12-03 07:27:33 26 4
gpt4 key购买 nike

今天早上,我做了一个 PR,它为我的暂存环境触发了 Cloud Build,但未能将结果部署到 GAE。
错误如下:

ERROR: (gcloud.app.deploy) PERMISSION_DENIED: You do not have permission to act as '[redacted]@appspot.gserviceaccount.com'Step #4: - '@type': type.googleapis.com/google.rpc.ResourceInfoStep #4: description: You do not have permission to act as this service account.Step #4: resourceName: [redacted]@appspot.gserviceaccount.comStep #4: resourceType: serviceAccount


当我看 https://console.cloud.google.com/cloud-build/settings/service-account
云构建具有以下服务帐户权限 已启用 :
  • App Engine 管理员
  • 云KMS

  • 检查 https://console.cloud.google.com/iam-admin/iam
    我可以看到 cloudbuild 服务帐户具有以下角色:
  • App Engine 管理员
  • App Engine 部署者
  • 云构建服务帐号
  • 云KMS CryptoKey解密器
  • 最佳答案

    根据提供的错误,您似乎需要向您的服务帐户添加一些委托(delegate)。这意味着服务帐户可以代表另一个服务帐户进行操作。不要在项目级别添加此权限,因为它会带来安全风险!您可以在下面找到如何添加 roles/iam.serviceAccountUser 的示例在另一个服务帐户上。

    PROJECT_ID=xxxxxx

    PROJECT_NUMBER=$(gcloud projects list \
    --format="value(projectNumber)" \
    --filter="projectId=${PROJECT_ID}")

    gcloud iam service-accounts add-iam-policy-binding \
    ${PROJECT_ID}@appspot.gserviceaccount.com \
    --member=serviceAccount:${PROJECT_NUMBER}@cloudbuild.gserviceaccount.com \
    --role=roles/iam.serviceAccountUser \
    --project=${PROJECT_ID}
    总而言之,服务帐户必须具有 iam.serviceAccounts.actAs权限,包含在 roles/iam.serviceAccountUser 中角色。可以找到更新的 Google 文档 here .

    关于google-app-engine - Cloud Build 无法部署到 Google App Engine - 您无权充当 @appspot.gserviceaccount.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64236468/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com