GCP - Cloud Run:“错误:禁止用户访问存储桶”

2023-12-07

我正在编写一个 GitHub Action,将我的应用程序部署到 GCP 的“Cloud Run”服务。

name: Deploy to production

on:
  push:
    branches:
      - master

env:
  PROJECT_ID: XXX
  SERVICE_NAME: XXX
  RUN_REGION: XXX
  PACKAGE_VERSION : XXX

permissions:
  contents: read
  id-token: write

jobs:
  deployment-job:
    runs-on: ubuntu-latest
    environment: production
    steps:
      - uses: actions/checkout@v2
      - name: Authenticate to Google Cloud
        uses: google-github-actions/auth@v0
        with:
          workload_identity_provider: XXX
          service_account: XXX
      - name: Deploy to Cloud Run
        uses: google-github-actions/deploy-cloudrun@v0
        with:
          service: ${{ env.SERVICE_NAME }}
          source: gcr.io/${{ env.PROJECT_ID }}/${{ env.SERVICE_NAME }}:${{ env.PACKAGE_VERSION }} # equivalent to "gcloud builds submit ..."
          region: ${{ env.RUN_REGION }}
          tag: ${{ env.PACKAGE_VERSION }}

我遇到这个错误:

ERROR: (gcloud.beta.run.deploy) The user is forbidden from accessing the bucket [XXX]. Please check your organization's policy or if the user has the "serviceusage.services.use" permission

我尝试将此权限添加到我的服务帐户,但我仍然遇到相同的错误:

gcloud projects add-iam-policy-binding XXX --member=serviceAccount:XXX --role=roles/serviceusage.serviceUsageAdmin

我从此设置了工作负载身份联合tutorial.


Grant 存储管理员服务帐户的角色而不是存储对象管理允许您的 Github Action 使用工作流程模板进行部署。

我在将 Workload Identity 设置为 Github Action 时遇到此错误。错误消息很奇怪,但问题出在工作流模板中。该模板将指导您授予存储对象管理,但从所需权限页面也在模板中链接,它说我们需要授予存储管理员.

您可能还需要授予服务使用消费者角色;我已经有了,所以我不确定是否需要它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GCP - Cloud Run:“错误:禁止用户访问存储桶” 的相关文章

  • 气流:如何将读取 json 文件的方法放入本地库中

    我必须产生一些DAG 我已将 json 表架构文件保存在GCP铲斗 https cloud google com storage docs json api v1 buckets GCP 存储桶上的文件关联到composer将被重新映射到
  • git推送后Google函数源未刷新

    我将谷歌云函数的源定义为谷歌云存储库 我更改了我的函数源代码 提交它并通过 git push all google 推送到存储库中 我在存储库中看到新版本的函数代码 但云函数采用旧版本 所以我需要部署我的函数的新版本 我知道我不能使用控制台
  • Node.js Google-云存储上传目的地规范

    我有一个 Node js 服务器并且正在使用谷歌云上传一些图像文件的包Firebase 存储 上传本身工作正常 但 google cloud API 似乎只能将文件上传到 Firebase Storage 根文件夹 有没有办法指定远程位置来
  • pyspark读取bigquery时出错:java.lang.ClassNotFoundException:org.apache.spark.internal.Logging$class

    我创建了一个 dataproc 集群 并尝试提交我的本地作业进行测试 gcloud beta dataproc clusters create test cluster region us central1 zone us central1
  • 云构建服务帐号权限构建

    我将我的环境设置为云构建应用程序 Github 应用程序 以通过云构建配置 terraform 到谷歌云平台 该构建是一个具有云功能的简单云编辑器 它创建这些资源以及正确的服务帐户和成员 但是 只有所有者权限才能成功执行此操作 我希望对云构
  • 为什么 Google Cloud Platform App Engine 上的“上次修改时间”不正确?

    我在 Google Cloud Platform App Engine 上多次部署了我的网络 使用设置如下 app yaml runtime nodejs10 当我在本地主机上测试它时 一切都工作正常 但是当我将它部署到谷歌云平台时 响应头
  • 以编程方式启用 Vertex AI Managed Notebook 实例中已安装的扩展

    我在托管笔记本实例中的 JupyterLab 中工作 通过 Vertex AI 工作台访问 作为 Google Cloud 项目的一部分 创建实例时 默认安装许多 JupyterLab 扩展 在 Web GUI 中 可以单击拼图图标 然后单
  • 使用存储的密钥作为环境变量

    我有一个秘密密钥存储在 GCP 的秘密管理器中 我们的想法是使用该密钥通过云功能获取预算列表 现在 我可以从代码中访问该密钥 但我面临的问题是我需要使用该密钥设置一个环境变量 这是我添加密钥的方式 如果您的本地目录中有该文件 但是还有其他方
  • Docker 在 Powershell 中登录 gcr.io

    我正在尝试使用 Windows 10 登录 Google 容器注册表JSON 密钥文件 https cloud google com container registry docs advanced authentication using
  • 无法删除 Google 管理的 SSL 证书

    我无法删除 Google 管理的 SSL 证书 当我删除它时 它又会回来 该证书不被任何其他服务使用 我可以删除其他证书 但它们不会再回来 我也有这个问题 我在文档中发现只有在以下情况下才能删除证书 仅当没有其他资源 例如目标 HTTPS
  • 如何在Github Actions中获取SECRETS的值?

    我正在尝试访问的价值SECRET发送到 GitHub Action 但我很挣扎 返回值如下 FILTERED 每次 无论键或原始值是什么 我可以访问ENVIRONMENT VARIABLES没有问题 所以我一定是在其他地方搞砸了 本质上 我
  • 在 GCP 上达到配额 API 限制时设置提醒

    有没有办法将 Stackdriver 设置为在我的任何 Google API 使用量达到限制时接收警报 我曾经手动检查https console cloud google com iam admin quotas https console
  • 如何获取 Google Vertex AI 服务的授权令牌?

    我正在尝试通过 REST 调用 Google 的 Vertex AI API 如下所示 https us central1 aiplatform googleapis com v1 projects 我无法弄清楚从哪里获取 访问令牌 X P
  • Google Cloud Functions 中的 Python

    Google Cloud Functions 可以使用 sklearn pandas 等包处理 python 吗 如果是这样 有人可以向我指出如何做到这一点的资源方向 我已经搜索了一段时间 似乎这是不可能的 我找到的只是将基本 python
  • Google Cloud Kubernetes 访问私有 Docker Hub 托管映像

    是否可以将私有镜像从 Docker Hub 拉取到 Google Cloud Kubernetes 集群 是否建议这样做 或者我是否需要将我的私有映像也推送到 Google Cloud 我阅读了文档 但没有发现任何内容可以清楚地解释这一点
  • 当请求 Google 驱动器范围权限时,会出现无限加载对话框

    我想将 Google Drive 集成到我的应用程序中 以在其中存储用户的应用程序数据 我尝试过的 我已经实现了 Google 登录谷歌开发文档 https developers google com identity sign in an
  • 如何使用 aws-cli 访问 Google Cloud Storage 存储桶

    我可以访问 aws 和 Google Cloud Platform 是否可以执行以下操作 使用 aws cli 列出 Google Cloud Storage 存储桶 使用 aws cli 将 CSV 文件放入 Google Cloud S
  • 如何使用 Google Cloud CDN 访问 Google Cloud Storage 公共对象

    我有一些由 Google Cloud Storage GCS 提供的公共二进制文件 并且想探索使用 Google Cloud CDN 来降低延迟 我通过在创建 GCS 对象时设置适当的 HTTP 标头来使用 GCS 缓存 是否可以使用 Go
  • Firestore 中的多租户

    关于基于子集合值查询数据的实际限制 在 Firestore 中管理多租户的建议方法是什么 我希望能够检索和限制对与用户所属实体 公司相关的数据的访问 数据结构示例 companies companyId users companies co
  • Google Cloud - 谷歌云功能的出口 IP / NAT / 代理

    我正在为我的公司构建一个数据摄取层 其中有很多不同的集成点 其余 api 某些 API 要求您从列入白名单的 IP 进行连接 我真的很想使用谷歌云功能 pubsub 来构建摄取逻辑 因为它具有可扩展性并降低了成本 但问题是谷歌云功能总是从随

随机推荐