На GCP, как предоставить доступ к служебной учетной записи в другом проекте? - PullRequest
0 голосов
/ 03 октября 2019

У меня есть экземпляр compute в проекте project-b и отдельный проект project-a. Экземпляр в project-b должен получить доступ к project-a с использованием учетной записи службы project-a.

1 Ответ

0 голосов
/ 03 октября 2019

В project-a:

  • Создать учетную запись службы. Предположим, его имя project-a-service-account@project-a.iam.gserviceaccount.com.
  • Предоставьте служебной учетной записи очень определенные, ограниченные роли
  • Создайте и загрузите ключ для учетной записи службы. Назовите его key.json.

In project-b:

  • Создать экземпляр экземпляра
  • SSH для экземпляра. Введите все команды, которые следуют в эту оболочку SSH экземпляра вычислений.
  • Загрузить файл ключа key.json в экземпляр. Если вы используете окно SSH Google Cloud Console, вы можете сделать это с помощью Загрузить в меню значков шестеренок в правом верхнем углу.
  • Активировать учетную запись службы:

    gcloud auth activate-service-account project-a-service-account@project-a.iam.gserviceaccount.com --key-file key.json
    
  • Повторная инициализация:

    gcloud init
    
    • Команда gcloud init предложитповторно инициализировать текущую конфигурацию или создать новую. Возможно, было бы неплохо создать новый, но это зависит от вас.
    • Выберите учетную запись project-a-service-account@project-a.iam.gserviceaccount.com

Теперь этот экземпляр в project-bможет выступать в качестве учетной записи службы в project-a. Например, если учетная запись службы имеет разрешение compute.instances.create, вы можете создать экземпляр в project-a:

gcloud compute instances create new-instance --project project-a

Администраторы project-a могут отозвать этот доступ, отменив ключи для учетной записи службы * 1054. *.

У Google есть суперскоростная демонстрация , показывающая это .

...