Google-Cloud-Platform

googleapi:錯誤 403:567x@cloudbuild.gserviceaccount.com 沒有 storage.objects.get 訪問 Google Cloud Storage 對象的權限

  • March 29, 2022

我繼續基於此嘗試我的項目:https ://github.com/GoogleCloudPlatform/iot-smart-home-cloud

我的問題是:

cloudfunctions.googleapis.com google.cloud.functions.v1.CloudFunctionsService.UpdateFunction projects/casaminha-2e0ca/locations/us-central1/functions/syncOnRemove neuberfran@gmail.com 建構失敗:無法解析源:googleapi:錯誤 403:567xxxx1772xxxxxxxxxxxx @cloudbuild.gserviceaccount.com 沒有 storage.objects.get 訪問 Google Cloud Storage 對象的權限。禁止 com.google.net.rpc3.client.RpcClientException: APPLICATION_ERROR;google.devtools.cloudbuild.v1/ArgoAdminV1.CreateBuild;無法解析來源:googleapi:錯誤 403:5676xxxxxx062@cloudbuild.gserviceaccount.com 沒有 storage.objects.get 訪問 Google Cloud Storage 對象。禁止;AppErrorCode=3;StartTimeMs=999999999999540;unknown;ResFormat=AUTOMATIC; ServerTimeSec=0.999999999999999;LogBytes=256;非

我在 2021 年 7 月 27 日雲建構或云執行中刪除(我不在我的項目中使用雲執行)我在 GCP 控制台中刪除。我認為這就是我在Google上的行動項目中出現憑據錯誤的原因。然後我開始收到目前的錯誤

我記得我刪除的服務帳戶只與穀歌控制器相關聯(那裡有一個問號

我認為 gcf 命令將重建它。但不確定這是否正確。而且我也不知道如何使用gcf-sources-<PROJECT_NUMBER>-

我一直在使用 firestore 和 GCP 在 google 上嘗試操作。

命令:

firebase –project casaminha-2e0ca 功能:配置:設置 cloudiot.region=us-central1

firebase –project casaminha-2e0ca 功能:配置:設置 smarthome.id=567617xxxxxxxxxxxxxx9r9upjxxxxxxx0t.apps.googleusercontent.com smarthome.secret=D99999999999

firebase –project casaminha-2e0ca 功能:配置:設置 smarthome.key=“99999999”

firebase 部署 –project casaminha-2e0ca

這是我在 github 中的項目https ://github.com/neuberfran/firebasefunction

這是我的問題跟踪器:https : //issuetracker.google.com/issues/194942955 ?pli=1

你能幫我嗎

當您使用 Cloud Function 時,必須啟用 Cloud Build API 才能部署您的 Cloud Function,教程(開始之前)中對此進行了詳細記錄。當您在 Google Cloud 項目中啟用 Cloud Build 服務時,Cloud Build 服務帳戶將自動生成,它看起來像:

[PROJECT-ID]@cloudbuild.gserviceaccount.com

關於這一點:

我在 2021 年 7 月 27 日刪除了雲建構或云執行(我的項目中沒有使用雲執行)我在 GCP 控制台中刪除

請注意,刪除服務帳戶:

刪除服務帳號後,應用程序將無法再通過該服務帳號訪問 GCP 資源。

根據您的問題跟踪器,似乎解決方案是恢復您已刪除的服務帳戶。已刪除的服務帳戶可以在 30 天內恢復。要取消刪除或恢復,您必須找到可在 Cloud Logging/Log Explorer 中獲取的已刪除服務帳號的數字 ID 或 ACCOUNT_ID,這裡是教程

獲取數字 ID 或 ACCOUNT_ID 後,在 CLI 或 Cloud Shell 或 Cloud SDK 中執行以下命令:

gcloud beta iam service-accounts undelete ACCOUNT_ID

輸出:

restoredAccount:
 email: SA_NAME@PROJECT_ID.iam.gserviceaccount.com
 etag: BwWWE7zpApg=
 name: projects/PROJECT_ID/serviceAccounts/SA_NAME@PROJECT_ID.iam.gserviceaccount.com
 oauth2ClientId: '123456789012345678901'
 projectId: PROJECT_ID
 uniqueId: 'ACCOUNT_ID'

更新:

錯誤的根本原因是缺少Cloud Build Service Account權限,通過添加此權限解決了。

引用自:https://serverfault.com/questions/1073359