DB2 身分驗證決定「在哪裡、如何驗證使用者帳密」,是資料庫安全架構的核心。本文系統整理 10 種驗證類型、配置參數與客戶端/伺服器/閘道環境的適用邏輯,助您依部署拓撲選擇最適方案。
| 類型 | 驗證位置 | 特性說明 |
|---|---|---|
SERVER | 伺服器 | 帳密明文傳輸至伺服器驗證(不加密,風險較高) |
SERVER_ENCRYPT | 伺服器 | 客戶端加密帳密後傳輸,伺服器解密驗證(預設推薦) |
CLIENT | 客戶端 | 本地驗證,信任客戶端作業系統登入身分(適用內部信任環境) |
KERBEROS | Kerberos KDC | 使用 Kerberos 安全系統單點登入(企業級整合) |
KRB_SERVER_ENCRYPT | Kerberos / 伺服器 | 支援 Kerberos 的用 Kerberos,否則降級用 SERVER_ENCRYPT |
DATA_ENCRYPT | 伺服器 | 帳密加密 + 資料傳輸加密(SSL/TLS 等效) |
DATA_ENCRYPT_CMP | 伺服器 | 相容模式:新客戶端用 DATA_ENCRYPT,舊客戶端降級 SERVER_ENCRYPT(資料不加密) |
GSSPLUGIN | GSS-API 外掛 | 由外部 GSS-API 外掛模組決定驗證邏輯(可整合自訂機制) |
GSS_SERVER_ENCRYPT | GSS-API / 伺服器 | 優先 GSS-API 外掛,不支援時降級 SERVER_ENCRYPT |
DB2 採雙層級驗證配置:
AUTHENTICATION —— 實例連接、實例級指令驗證。SRVCON_AUTH —— 資料庫連接驗證。db2 get dbm cfg
Server Connection Authentication (SRVCON_AUTH) = KERBEROS
Database manager authentication (AUTHENTICATION) = SERVER_ENCRYPT
上例中:db2 connect 至實例用 SERVER_ENCRYPT,連接資料庫則用 KERBEROS。
SERVER_ENCRYPT 平衡安全與相容。KERBEROS 或 KRB_SERVER_ENCRYPT 實現單點登入。DATA_ENCRYPT 全程加密傳輸。DATA_ENCRYPT_CMP 平滑過渡。GSSPLUGIN 外掛。理解 DB2 的雙層級驗證參數與 10 種類型差異,能依網路拓撲、合規需求與既有身分基礎設施,精準配置最安全且相容的驗證策略。