Подключение к RedShift приводит к ошибке SSL: сбой проверки сертификата - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь подключиться к базе данных RedShift через Python 2.7 / sqlalchemy (1.2.14) / psycopg2 (2.7.6.1), но сталкиваюсь с проблемами при настройке свойств SSL:

from sqlalchemy import create_engine

connection = create_engine('redshift+psycopg2://(username:password)@(server):5439/(database)?sslmode=verify-full').connect()

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) Ошибка SSL: сбой проверки сертификата

Я выполнил все действия в соответствии с инструкциями Amazon:

  1. Переход к сертификатам ACM для соединений SSL: использование других типов соединений SSL

  2. Установка и настройка драйвера Amazon Redshift ODBC в операционных системах Microsoft Windows

Итак, теперь у меня есть последняя версия redshift-ca-bundle.crt, сохраненная как root.crt в моей папке% APPDATA% \ postgresql.У меня также установлены 32-разрядные и 64-разрядные драйверы, а системный DSN настроен в обоих инструментах администратора ODBC (32 и 64), которые успешно проверяют соединение с сервером.

Чего не хватает для правильной настройки SSLв моем коде Python для подключения?Я знаю, что для подключения требуется SSL, но не знаю, как предоставить правильный сертификат.

1 Ответ

0 голосов
/ 14 ноября 2018

Мне удалось подключиться, используя pypyodbc и следующую строку подключения (подробности отредактированы):

connection = pypyodbc.connect('Driver={Amazon Redshift (x64)};'
                              'Server=<server>;'
                              'Database=<database>;'
                              'UID=<login>;'
                              'PWD=<password>;'
                              'Port=5439;'
                              'Trusted_Connection=True')
...