Как обезопасить Python скрипт SQL Проверка подлинности сервера - PullRequest
0 голосов
/ 06 января 2020

Я использую сценарий Python для подключения к SQL Базе данных сервера:

import pyodbc
import pandas 

server = 'SQL' 
database = 'DB_TEST' 
username = 'USER' 
password = 'My password' 

sql='''
SELECT *
FROM [DB_TEST].[dbo].[test]
'''
cnxn = pyodbc.connect('DRIVER=SQL Server;SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)

data = pandas.read_sql(sql,cnxn)
cnxn.close()

Этот сценарий запускается ежедневно средствами автоматизации, поэтому физический пользователь отсутствует.

Вопрос в том, как заменить поле пароля безопасным способом?

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Я также заинтересован в безопасном кодировании с использованием Python. Я провел собственное исследование, чтобы выяснить доступные варианты, я бы порекомендовал просмотреть эту публикацию, так как она обобщает все это. Проверьте перечисленные варианты и примените тот, который вам больше подходит.

0 голосов
/ 06 января 2020

Автоматический скрипт все еще выполняется пользователем windows. Добавьте этого пользователя windows к пользователям SQL -Server и предоставьте ему соответствующие разрешения, чтобы вы могли использовать:

import pyodbc
import pandas 

server = 'SQL' 
database = 'DB_TEST'

sql='''
SELECT *
FROM [DB_TEST].[dbo].[test]
'''
cnxn = pyodbc.connect(
    f'DRIVER=SQL Server;SERVER={server};DATABASE={database};Trusted_Connection=True;')

data = pandas.read_sql(sql,cnxn)
cnxn.close()
...