Передача ключа учетной записи службы GCP в модули GKE

Я создал в TF (0.11.14) роль GCP, привязал ее к учетной записи службы, а также создал ключ для последней следующим образом:

resource "google_service_account_key" "my_service_account_key" {
  service_account_id = "${google_service_account.my_service_account.id}"
}

Затем я беру private_key как результат следующим образом:

output "my_service_account_private_key" {
  value       = "${google_service_account_key.my_service_account_key.private_key}"
  sensitive   = true
}

Что напечатает мне очень длинную строку вроде

ewogICJK49fo34KFo4 .... 49k92kljg==

Предполагая, что у роли есть разрешения, позволяющие читать / писать в корзину GCS, как я могу передать указанные выше учетные данные / закрытый ключ в модуль / развертывание (GKE), чтобы модулям была предоставлена ​​конкретная учетная запись службы (и, следовательно, они могли выполнять что позволяют соответствующие разрешения, например чтение / запись в ведро)?


person pkaramol    schedule 07.11.2020    source источник
comment
Мой совет: забудьте файл ключей учетной записи службы и используйте функцию идентификации рабочей нагрузки   -  person guillaume blaquiere    schedule 07.11.2020


Ответы (1)


Ваши основные шаги

  1. Создайте учетную запись службы.
  2. Укажите необходимые роли для вашей учетной записи службы для работы с корзиной GCS.
  3. Сохраните ключ учетной записи как Kubernetes Secret.
  4. Используйте учетную запись службы для настройки и развертывания приложения.

Я считаю, что вы прошли шаги 1 и 2. Я исследовал два примера (1, 2), которые могут быть некоторой помощи для оставшихся шагов.

person dany L    schedule 07.11.2020