Ошибка разрешений при попытке загрузить группу доступности базы данных в хранилище Composer с помощью Cloud Build - PullRequest
0 голосов
/ 17 апреля 2019

Я использую Cloud Build для загрузки группы доступности базы данных в папку data в хранилище среды Composer, используя следующий шаг в моем cloudbuild.yaml:

steps:
- name: gcr.io/cloud-builders/gcloud
  args: ["composer", "environments", "storage", "data", "import", "--environment", "test-environment", "--location", "europe-west1",
         "--source", "test_dag.py", "--destination", "test"]

Однако при запуске gcloud builds submit ., Cloud Build завершается с ошибкой на этом шаге со следующей ошибкой разрешений:

Step #0: ERROR: (gcloud.composer.environments.storage.data.import)
PERMISSION_DENIED: The caller does not have permission
Finished Step #0
ERROR
ERROR: build step 0 "gcr.io/cloud-builders/gcloud" failed:
exit status 1
----------------------------------------------------------------------------------------------------------------------------------------------------------------------

ERROR: (gcloud.builds.submit) build f9732670-8e98-475a-96f9eb7d509cf6ac 
completed with status "FAILURE"

Я предположил, что «вызывающий» - это учетная запись службы Cloud Build проекта по умолчанию, поэтому я попытался присвоить этой учетной записи службы «Cloud Composer».Среда и администратор объекта хранилища "роль для соответствующего хранилища, но это не решило проблему.Выполнение команды импорта в локальной сборке (cloud-build-local --dryrun=false .) работает нормально.

Как мне избавиться от этой ошибки?Предоставляю ли я неправильные разрешения неверной учетной записи службы?

1 Ответ

0 голосов
/ 22 апреля 2019

На основе Cloud Composer документ управления доступом вам необходимо предоставить roles/ composer.environmentAndStorageObjectViewer учетной записи службы Cloud Build (например, {project-number}@cloudbuild.gserviceaccount.com) в том же проекте, что и предполагаемая среда Composer.

...