Ошибка отправки задания Cloudbuild из Cloudfunctions, если - PullRequest
0 голосов
/ 26 января 2019

Надеюсь, это просто для кого-то с немного более глубоким знанием, чем я ...

У меня есть Cloudfunction, которая отвечает на вызовы webhook для отправки заданий в Cloudbuild с помощью API. Это прекрасно работает, за исключением того, что теперь у нас есть несколько заданий, которым нужно использовать ключи KMS из другого проекта.

secrets:
- kmsKeyName: projects/xxx/locations/global/keyRings/xxx/cryptoKeys/xxx

С учетом этого, включенного в cloudbuild.yaml, вызов API для отправки задания Cloudbuild возвращает:

400 invalid build: failed to check access to "projects/xxx/locations/global/keyRings/xxx/cryptoKeys/xxx"

Я попытался добавить учетные записи службы Cloudfunction и Cloudbuild из вызывающей учетной записи в учетную запись, в которой размещается KMS, ко всему, о чем я мог подумать, включая владельца.

В этой статье содержатся простые и понятные инструкции для доступа к Реестру контейнеров и другим службам в другой учетной записи, но ничего о KMS. Эта ошибка, похоже, не приводит к каким-либо значимым результатам в поисках, и она мне вообще не знакома.

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 26 января 2019

API Cloud KMS не был включен в проекте, в котором запущен Cloudbuild. К сожалению, сообщение об ошибке было настолько расплывчатым. Фактически, я диагностировал проблему, запустив gcloud kms decrypt ... в задании Cloudbuild, которое подсказало мне, что API должен быть включен.

...