Python DB2 SSL 连接
Python DB2 SSL connection
我使用 ibm_db[=23 从 DB2 数据库 运行 SQL 查询(客户端) =] & ibm_db_dbi 与 pandas。然而,我们公司实施了新的安全标准,我也需要一种方法来保护连接。
运行 Python3.7 和 DB2 10.5
下面是我当前的连接字符串:
import ibm_db
import ibm_db_dbi
import pandas as pd
driver = 'IBM DB2 ODBC DRIVER'
database = 'DB0001'
hostname = 'my.host.com'
port = '1234'
protocol = 'TCPIP'
uid = 'user'
pwd = 'password'
security = 'SSL'
dsn = (
f'DRIVER={driver};'
f'DATABASE={database};'
f'HOSTNAME={hostname};'
f'PORT={port};'
f'PROTOCOL={protocol};'
f'UID={uid};'
f'PWD={pwd};'
f'SECURITY={security};'
)
test_query = 'SELECT 1 FROM SYSIBM.SYSDUMMY1'
conn_engine = ibm_db.connect(dsn, '', '')
db_conn = ibm_db_dbi.Connection(conn_engine)
df = pd.read_sql(test_query, db_conn)
有没有办法为这段代码合并 SSL?
尝试设置以下属性:
Security=SSL、SSLClientKeystoredb、SSLClientKeystoreDBPassword 或 SSLClientKeystash,如 link 所述。
不幸的是,这有点复杂,(希望)您的 DBA 可以帮助解决其中的一些问题。
如果您使用的是 Db2 10.5 Fixpack 5(或更新版本)客户端,那么您只需在 DSN 字符串中添加几个参数:
Security=ssl;
SslServerCertificate=/path/to/file.arm;
您的 DBA 应该能够为您提供 SslServerCertificate 文件(或内容)。
如果您从 python ibm_db 包中单独安装了 Db2 客户端,那么根据您安装的 Db2 客户端(即为 ibm_db
提供本机库),您 可能需要安装一些额外的库(IBM GSKit 库,它为 Db2 客户端提供 SSL 功能)。
使用一些较新版本的 Db2 驱动程序并连接到 Db2 on Cloud 和 Db2 Warehouse on Cloud,只需将 Security=SSL;
添加到参数列表即可。
我使用 ibm_db[=23 从 DB2 数据库 运行 SQL 查询(客户端) =] & ibm_db_dbi 与 pandas。然而,我们公司实施了新的安全标准,我也需要一种方法来保护连接。 运行 Python3.7 和 DB2 10.5
下面是我当前的连接字符串:
import ibm_db
import ibm_db_dbi
import pandas as pd
driver = 'IBM DB2 ODBC DRIVER'
database = 'DB0001'
hostname = 'my.host.com'
port = '1234'
protocol = 'TCPIP'
uid = 'user'
pwd = 'password'
security = 'SSL'
dsn = (
f'DRIVER={driver};'
f'DATABASE={database};'
f'HOSTNAME={hostname};'
f'PORT={port};'
f'PROTOCOL={protocol};'
f'UID={uid};'
f'PWD={pwd};'
f'SECURITY={security};'
)
test_query = 'SELECT 1 FROM SYSIBM.SYSDUMMY1'
conn_engine = ibm_db.connect(dsn, '', '')
db_conn = ibm_db_dbi.Connection(conn_engine)
df = pd.read_sql(test_query, db_conn)
有没有办法为这段代码合并 SSL?
尝试设置以下属性:
Security=SSL、SSLClientKeystoredb、SSLClientKeystoreDBPassword 或 SSLClientKeystash,如 link 所述。
不幸的是,这有点复杂,(希望)您的 DBA 可以帮助解决其中的一些问题。
如果您使用的是 Db2 10.5 Fixpack 5(或更新版本)客户端,那么您只需在 DSN 字符串中添加几个参数:
Security=ssl;
SslServerCertificate=/path/to/file.arm;
您的 DBA 应该能够为您提供 SslServerCertificate 文件(或内容)。
如果您从 python ibm_db 包中单独安装了 Db2 客户端,那么根据您安装的 Db2 客户端(即为 ibm_db
提供本机库),您 可能需要安装一些额外的库(IBM GSKit 库,它为 Db2 客户端提供 SSL 功能)。
使用一些较新版本的 Db2 驱动程序并连接到 Db2 on Cloud 和 Db2 Warehouse on Cloud,只需将 Security=SSL;
添加到参数列表即可。