업데이트:

업데이트:

나는 다음을 기반으로 내 프로젝트를 계속 시도하고 있습니다.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 [이메일 보호됨] 빌드 실패: 소스를 확인할 수 없음: googleapi: 오류 403:[이메일 보호됨]Google Cloud Storage 객체에 대한 Storage.objects.get 액세스 권한이 없습니다. 금지됨 com.google.net.rpc3.client.RpcClientException: APPLICATION_ERROR;google.devtools.cloudbuild.v1/ArgoAdminV1.CreateBuild; 소스를 확인할 수 없음: googleapi : 오류 403:[이메일 보호됨]Google Cloud Storage 객체에 대한 Storage.objects.get 액세스 권한이 없습니다., allowed;AppErrorCode=3;StartTimeMs=999999999999540;unknown;ResFormat=AUTOMATIC;ServerTimeSec=0.999999999999999;LogBytes=256;Non-

2021년 7월 27일에 클라우드 빌드 또는 클라우드 실행을 삭제했습니다(내 프로젝트에서는 클라우드 실행을 사용하지 않습니다). GCP 콘솔에서 삭제했습니다. 나는 그것이 Google의 내 작업 프로젝트에서 자격 증명 오류를 발생시키는 것이라고 생각했습니다.그런 다음 현재 오류가 발생하기 시작했습니다..

제가 삭제한 서비스 계정은 Google 컨트롤러(거기에 물음표가 있었어)

나는 gcf 명령이 이것을 다시 빌드할 것이라고 생각합니다. 하지만 이것이 맞는지는 확실하지 않습니다. 그리고 저도 사용법을 모르겠어요gcf-소스-<PROJECT_NUMBER>-

나는 Firestore와 GCP를 사용하여 Google에서 계속 작업을 시도하고 있습니다.

명령:

firebase --project casaminha-2e0ca 함수:config:set cloudiot.region=us-central1

firebase --project casaminha-2e0ca 함수:config:set smarthome.id=567617xxxxxxxxxxxxxx9r9upjxxxxxxx0t.apps.googleusercontent.com smarthome.secret=D99999999999

firebase --project casaminha-2e0ca 기능:config:set smarthome.key="99999999"

Firebase 배포 --project casaminha-2e0ca

이것은 github에 있는 내 프로젝트입니다.:https://github.com/neuberfran/firebasefunction

이것은 내 IssueTracker입니다.:https://issuetracker.google.com/issues/194942955?pli=1

도울 수 있니

답변1

Cloud 함수를 사용하는 경우 Cloud 함수를 배포하려면 Cloud Build API를 사용 설정해야 합니다. 이에 대한 내용은 가이드에 잘 설명되어 있습니다(시작하기 전에). Cloud Build 서비스 계정은 Google Cloud 프로젝트에서 Cloud Build 서비스를 활성화하면 자동으로 생성되며 그 모양은 다음과 같습니다.

[PROJECT-ID]@cloudbuild.gserviceaccount.com

이것을 고려하면:

2021년 7월 27일에 삭제했습니다. cloud build 또는 cloud run(내 프로젝트에서는 cloud run을 사용하지 않습니다.) GCP 콘솔에서 삭제했습니다.

참고하시기 바랍니다,서비스 계정 삭제:

서비스 계정을 삭제하면 애플리케이션은 더 이상 해당 서비스 계정을 통해 Google Cloud 리소스에 액세스할 수 없습니다.

그리고 당신의 기준으로이슈 트래커, 해결 방법은 삭제된 서비스 계정을 복구하는 것 같습니다. 삭제된 서비스 계정은 30일 이내에 복구할 수 있습니다. 삭제를 취소하거나 복구하려면 Cloud Logging/로그 탐색기에서 얻을 수 있는 삭제된 서비스 계정의 숫자 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 서비스 계정` 권한이 누락되었으며 이 권한을 추가하여 해결되었습니다.

답변2

제 경우에는 서비스 계정을 삭제하지 않고 해당 서비스 계정의 IAM 역할만 삭제했습니다.

해결 방법은 IAM 페이지로 이동하여 [PROJECT-ID]@cloudbuild.gserviceaccount.com 역할을 가진 주체를 추가하는 것입니다.Cloud Build Service Account

답변3

제 경우에는 최근에 프로젝트에서 Cloud Build API를 활성화했는데 2분만 더 기다리면 작동했습니다. 기다리는 동안 IAM 역할을 헛되이 다루지 않아서 다행입니다!

관련 정보