Не удается подключиться к Google Cloud SQL через GAS - PullRequest
1 голос
/ 18 мая 2019

Я не могу подключиться к Google Cloud SQL через GAS (Google Apps Script).

Сценарий:

Пользователь A (другое лицо) в Домене : A
Пользователь B (я) в Домене : A

Сначала пользователь А работал со мной. У нас есть другой аккаунт Google в том же домене. Пользователь A создал проект и создал облачный экземпляр sql в проекте, и пользователь A сказал мне имя экземпляра, имя базы данных, пользователя и пароль.

Я попытался выполнить сценарий GAS, чтобы пользователь А успешно подключился, но он вернул следующую ошибку: «Невозможно установить соединение с базой данных».

Источник газа:

var conn = Jdbc.getCloudSqlConnection("jdbc:google:mysql://" + instanceName + "/" + dbname, userid, userPwd);

Я попробовал пару способов.

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

Приведенные выше два метода привели к одной и той же ошибке.

Что мне нужно сделать?

1 Ответ

0 голосов
/ 19 мая 2019

Для того, чтобы вы могли подключиться к экземпляру через публичный IP, вам нужно каким-то образом пройти аутентификацию.Как правило, есть 3 основных способа сделать это: использовать служебную учетную запись с правильными разрешениями IAM (это то, что делает cloud-sql-proxy), использовать сертификат SSL / TLS или белый список и IP.

Поскольку вы не можете контролировать IP-адрес, с которого будет соединяться GAS, вы должны рассмотреть два других.Я бы предложил использовать JDBC SocketFactory - вы предоставляете ему служебную учетную запись, и она обеспечивает аутентифицированное соединение с вашим экземпляром.

...