Как предоставить пользователю Aurora доступ к Cloud Foundry? - PullRequest
0 голосов
/ 22 марта 2019

Моя компания использует базу данных Aurora в Cloudfoundry. У меня запущено приложение, которое связано со службой базы данных Aurora. После выбора приложения -> Переменные в пользовательском интерфейсе Stratos я вижу переменные среды для базы данных Aurora, такие как имя хоста, имя пользователя, пароль, база данных и т. Д.

Как я хочу подключиться к базе данных - либо из терминала Ubuntu mysql как

mysql -u user1 -p -h abcdef.rds.amazonaws.com -P 1234 -D mydb123

или из Python как

import pymysql.cursors
connection = pymysql.connect(host='abcdef.rds.amazonaws.com', user='user1', 
    password='***', db='mydb123',cursorclass=pymysql.cursors.DictCursor)

На оба звонка я получаю ответ:

pymysql.err.OperationalError: (1045, "Access denied for user 'user1 '@'1.2.3.4' (using password: YES)")

Как я могу предоставить своему пользователю user1 права доступа? Я ничего не могу найти в интерфейсе Stratos.

Я сам создал службу Aurora db.

1 Ответ

0 голосов
/ 29 марта 2019

Мой коллега наконец решил проблему.Проблема заключалась в том, что мы не предоставили сертификат SSL в явном виде.

URL-адрес сертификата SSL (ca_cert_env_var в приведенном ниже фрагменте кода) для использования доступен в пользовательском интерфейсе Stratos в разделе Application -> Variables -> ca_cert.

with urllib.request.urlopen(ca_cert_env_var) as resp:
    with open('cert.pem', 'wb') as f:
        f.write(resp.read())

db = pymysql.connect(host='abcdef.rds.amazonaws.com',
                     user='user1',
                     passwd=...,
                     db='mydb123',
                     port=1234,
                     ssl={'ca': 'cert.pem'})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...