Terraform Google Cloud: выполнение удаленного сценария на виртуальной машине - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь выполнить скрипт на виртуальной машине Google через Terraform.

Сначала я попробовал это с помощью Google Startup Scripts. Но поскольку метаданные видны в консоли Google (сценарии запуска считаются метаданными), это означает, что любой пользователь с правами на чтение может увидеть этот сценарий, что недопустимо.

Поэтому я попытался получить сценарий из Аккаунт хранения. Но для этого мне нужно присоединить служебную учетную запись к ВМ, чтобы у ВМ были права доступа к учетной записи хранения. Теперь люди, которые имеют доступ к ВМ, также имеют доступ к моему сценарию, если учетная запись службы привязана к ВМ. Чтобы «отсоединить» учетную запись службы, я должен был бы остановить виртуальную машину. Также, если я не хочу постоянно сохранять вложение учетной записи службы, мне нужно будет присоединить учетную запись службы с помощью сценария, который требует еще одной остановки и запуска виртуальной машины. Это, вероятно, невозможно, а также очень уродливо.

Я не понимаю, как ресурс remote-exe c работает на виртуальных машинах GCP. Потому что я должен указать пользователя и пароль пользователя для подключения к виртуальной машине, а затем выполнить скрипт. Но пароль windows необходимо установить вручную через консоль Google, поэтому я не могу указать эти вещи в данный момент времени.

Так кто-нибудь знает, как я могу выполнить скрипт, где ни у кого нет доступ к моему скрипту через Terraform?

Привет :) и Заранее спасибо

1 Ответ

0 голосов
/ 05 марта 2020

В итоге я просто запустил скрипт gcloud, в котором я удалил метаданные из виртуальной машины после завершения применения Terraform. В моем конвейере Gitlab я просто вызвал скрипт в разделе after_script. К сожалению, учетные данные видны примерно 3 минуты.

...