我正在使用 teradatasql 17.20.0.32 Python 包通过 Python 连接到 Teradata。
文档显示了很多连接参数,并且由于我对安全概念的了解有限,我不确定我使用Python包的方式是否是一种安全的方式。
从我的角度来看,连接数据库的安全方法是使用 https 或 tls 等安全协议,或者数据经过加密。 (欢迎对此发表您的看法)
我的代码如下所示:
conn = teradatasql.connect(host=host, user=user_name, password=password)
cursor = conn.cursor()
cursor.autocommit = True
try:
[... execute some queries here..]
finally:
cursor.close()
conn.close()
我已经阅读了有关可以提供给连接函数的 encryptdata 参数的信息:
conn = teradatasql.connect(host=host, user=user_name, password=password, encryptdata=True)
但我不确定这是否真的有效。
总之我有两个问题:
是的,你是对的。指定
encryptdata=True
连接参数以确保非 HTTPS 连接的消息流量经过加密。
如果您的 Teradata 数据库配置为提供 HTTPS 连接,则 teradatasql Python 驱动程序将自动使用 HTTPS 连接。
如果 teradatasql Python 驱动程序通过 HTTPS 连接连接到数据库,则
encryptdata
连接参数将被忽略,因为所有消息流量均通过 HTTPS 连接进行加密。