更新:

更新:

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

我的問題是:

cloudfunctions.googleapis.com google.cloud.functions.v1.CloudFunctionsService.UpdateFunction 專案/casaminha-2e0ca/locations/us-central1/functions/syncOnRemove [電子郵件受保護] 建置失敗:無法解析來源:googleapi:錯誤 403:[電子郵件受保護]沒有 storage.objects.get 存取 Google Cloud Storage 物件的權限。[電子郵件受保護]沒有 storage.objects.get 存取 Google Cloud Storage 物件的權限。

我在 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=567617xxxxxxxxxxxxxxx9r9upjxxxxxxxx0t.apps.googleusercontent.com smarthome.secret=D999999999999

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

你能幫我嗎

答案1

當您使用雲端功能時,必須啟用雲端建置 API 才能部署您的雲端功能,教學中有詳細記錄(在你開始之前)。當您在 Google Cloud 專案中啟用 Cloud Build 服務時,Cloud Build 服務帳戶將自動生成,如下所示:

[PROJECT-ID]@cloudbuild.gserviceaccount.com

關於這一點:

我在 27/jul/2021 雲端建置或雲端運行中刪除(我不在我的專案中使用雲端運行) 我在 GCP 控制台中刪除

請注意,刪除服務帳戶:

當您刪除服務帳號後,應用程式將無法再透過該服務帳號存取 Google Cloud 資源。

並根據你的問題追蹤器,看來解決方案是恢復已刪除的服務帳戶。已刪除的服務帳戶可以在 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`權限,並透過新增該權限解決了。

答案2

就我而言,我沒有刪除服務帳戶,只是刪除了服務帳戶的 IAM 角色。

解決方案是進入IAM頁面,添加principal: [PROJECT-ID]@cloudbuild.gserviceaccount.com with role:Cloud Build Service Account

答案3

就我而言,我最近剛在我的專案上啟用了 Cloud Build API,我只需要額外等待 2 分鐘,它就可以工作了。我很高興在等待期間我沒有徒勞地搞亂 IAM 角色!

相關內容