Как использовать аутентификацию Windows для SQL сервера с хоста Linux с SQLAlchemy? - PullRequest
0 голосов
/ 05 мая 2020

Как я могу использовать аутентификацию Windows для подключения к SQL серверу из приложения SQLAlchemy, которое работает на хосте RHEL (Linux)?

Я мог бы создать выделенного пользователя с фиксированным пароль на SQL сервере, но в этом случае требуется, чтобы пароль пользователя был получен из CyberArk.

Некоторые ответы SO предлагают использовать следующую строку подключения:

engine = sqlalchemy.create_engine('mssql://*server_name*/*database_name*?trusted_connection=yes')

Однако это не работает, так как мне нужно указать учетные данные пользователя (сеанс Windows уже не существует).

В других ответах предлагается использовать pymssql, однако он устарел в SQLAlchemy. рекомендую его использование. Я бы предпочел использовать mssql+pyodbc.

Есть идеи?

1 Ответ

0 голосов
/ 05 мая 2020

В зависимости от требований это может быть возможно, (просто), но (имхо) очень сложно. Это зависит от: - модуля записи библиотеки sql, поддерживающего обмен маркерами аутентификации windows - модуля записи библиотеки sql, поддерживающего PAM для получения маркеров - вашей способности написать модуль PAM, который преобразует имя пользователя / пароль cyberark для получения подробности.

Я не знаком с python или этими SQL библиотеками, но я бы сказал, что даже если подход аутентификации работает на windows, мой опыт подключения к SQLServer с использованием других кроссплатформенных библиотек что им не хватает чего-либо, кроме прямой аутентификации.

Вам может повезти, поскольку MS добавляет доверенную аутентификацию SQLServer, но учтите, что этого еще не произошло.

Даже текущая рекомендация (я думаю) не соответствует вашим требованиям https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/using-integrated-authentication?view=sql-server-ver15 они также ссылаются на устаревший контент оттуда (https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/using-integrated-authentication?view=sql-server-ver15) обсуждая варианты и ограничения доступных подходов.

Я предлагаю, что лучше всего будет проверить, можете ли вы просто сохранить строку аутентификации SQL в CryptoArk и использовать ее.

...