Облачный прокси-сервер SQL в кластере Kubernetes: какие разрешения для учетной записи службы необходимы? - PullRequest
0 голосов
/ 11 июля 2019

Я следую инструкциям Google (https://github.com/GoogleCloudPlatform/cloudsql-proxy/blob/master/Kubernetes.md) по настройке облачного SQL-прокси в кластере Kubernetes.

В документации сказано:

You need a service-account token with "Project Editor" privileges

I 'Я в замешательстве, потому что мое приложение (Composer) работает на Kubernetes и базе данных Cloud SQL, которую я пытаюсь подключить, чтобы жить в разных проектах. Мне нужны только привилегии «Project Editor» для обоих проектов? Я не думаю, что наш системный администраторзахочет дать редактору моего проекта права доступа к проекту, содержащему базу данных SQL, к которой я хочу подключиться.

Я спрашиваю, потому что у меня проблемы с подключением:

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
googleapi: Error 403: The client is not authorized to make this request., notAuthorized

Я предполагаю, что ошибка соединения связана с используемым мной токеном учетной записи службы, потому что я строго следовал всему остальному в руководстве

Я протестировал с двумя токенами учетной записи службы.

  1. Сервисная учетная запись с редактором проекта для проекта, в котором живет Kubernetes.

  2. Сервисная учетная запись, которую системный администратор прислал мне с правами на подключение к облаку SБаза данных QL.

1 Ответ

0 голосов
/ 12 июля 2019

Чтобы использовать прокси-сервер Cloud SQL, ваши учетные данные должны иметь одну из следующих ролей IAM:

  • Cloud SQL Client (предпочтительно)
  • Cloud SQL Editor
  • Cloud SQL Admin

Или вы можете вручную назначить следующие разрешения IAM:

  • cloudsql.instances.connect
  • cloudsql.instances.get

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

...