Db2 中的用户凭证和受支持的认证方法

重要信息: IBM Cloud Pak for Data 4.6 版本将于 2025 年 7 月 31 日结束支持 (EOS)。 欲了解更多信息,请参阅 IBM Cloud Pak for Data 版本 4.X 的停止服务公告

IBM Cloud Pak for Data 4.6 版本支持结束之前,升级到 IBM Software Hub 5.1 版本。 更多信息,请参阅 IBM Software Hub 版本 5.1 文档中的升级 IBM Software Hub。

Db2 使用 Cloud Pak for Data 凭证来连接到数据库服务。

Cloud Pak for Data 经授权的用户可以连接并使用 Db2.

Db2 支持以下认证方法:

建议: 使用基于非 SSL 连接的 SSL 连接。 非 SSL 连接仅应考虑用于旧应用程序,并且仅受用户名和密码认证支持。

示例中使用了以下变量:

  • host_name_or_IP_address - Cloud Pak for Data 实例的主机名或 IP 地址。
  • db2_ssl_port - Db2 SSL 实例的端口号。
  • db2_port - Db2 实例的端口号。
  • database_name - Db2 数据库的名称。
  • user_name - Cloud Pak for Data 用户名。
  • password - Cloud Pak for Data 密码。
  • security_mechanism_id - 上表的标识列中的某个值。
  • access_token - Cloud Pak for Data 平台令牌。 (仅在 JWT 令牌中使用。)
  • api_key - Cloud Pak for Data 平台 API 密钥。 (仅在 API 密钥中使用。)

用户名和密码

使用用户名和密码进行连接时,支持三种不同的安全性机制:明文密码、加密密码以及加密用户标识和密码。

标识 安全性方法 描述
3 CLEAR_TEXT_PASSWORD_SECURITY 用户标识和密码
7 ENCRYPTED_PASSWORD_SECURITY 用户标识和加密密码
9 ENCRYPTED_USER_AND_PASSWORD_SECURITY 加密用户标识和加密密码

如果使用安全性机制 ENCRYPTED_PASSWORD_SECURITY 或 ENCRYPTED_USER_AND_PASSWORD_SECURITY,那么必须设置 encryptionAlgorithm=2 属性。

JDBC 用户名和密码

下列示例显示在使用和不使用安全套接字层 (SSL) 的情况下用于进行连接的命令:

SSL
"jdbc:db2://host_name_or_IP_address:db2_ssl_port/database_name:user=user_name;password=password;securityMechanism=security_mechanism_id;sslConnection=true"
非 SSL
"jdbc:db2://host_name_or_IP_address:db2_port/database_name:user=user_name;password=password;securityMechanism=security_mechanism_id"
CLP 用户名和密码
通过在 CLP 命令提示符处或从脚本运行以下命令,使用 Cloud Pak for Data 用户名和密码连接到数据库服务器 database_server_name :
CONNECT TO database_server_name USER user_name USING password
CLPPlus 用户名和密码
通过在 CLPPLUS 命令提示符处或从脚本运行以下命令,使用 Cloud Pak for Data 用户名和密码连接到 DSN 别名 (@data_source_name):
CONNECT user_name/password@data_source_name

JWT 令牌

可以使用 JWT 令牌进行连接。

JDBC 访问令牌
"jdbc:db2://host_name_or_IP_address/database_name:accessToken=access_token;securityMechanism=15;pluginName=IBMIAMauth;sslConnection=true"
CLP 访问令牌
从 CLP 命令提示符或脚本中,通过运行以下命令,连接到数据库服务器 database_server_name 并传递访问令牌:
CONNECT TO database_server_name ACCESSTOKEN access_token
CLPPlus 访问令牌
从 CLPPLUS 命令提示符或脚本中,通过运行以下命令,连接到 DSN 别名 (@data_source_name) 并传递访问令牌:
CONNECT @data_source_name using(accesstoken access_token)

API 密钥

可以通过提供 API 密钥进行连接。

JDBC API 密钥
"jdbc:db2://host_name_or_IP_address:db2_ssl_port/database_name:apiKey=user_name:api_key;securityMechanism=15;pluginName=IBMIAMauth;sslConnection=true"
CLP API 密钥
从 CLP 命令提示符或脚本中,通过运行以下命令,使用 API 密钥连接到数据库服务器 database_server_name
CONNECT TO database_server_name APIKEY user_name:api_key
CLPPlus API 密钥
从 CLPPLUS 命令提示符或脚本中,通过运行以下命令,使用 API 密钥连接到 DSN 别名 (@data_source_name):
CONNECT @data_source_name using(apikey user_name:api_key)