透過原來 TCP/IP 的 DRDA 不使用 OS/400 通信機密保護服務程式及觀念,如通信裝置、模式、安全位置屬性、以及與 APPC 通信相關的交談安全性層次。 因此,TCP/IP 的機密保護設置有相當大的不同。
目前透過 TCP/IP 之 DRDA 的現行 DB2/400 施行共支援兩種類型的機密保護機制:
針對 DB2 Universal Database for AS/400 應用程式伺服器 (AS),預設的機密保護是使用者 ID 與通行碼。 這表示當系統已經安裝時,入埠 TCP/IP 連接要求必須有附通行碼的使用者 ID,伺服器工作才能執行。 CHGDDMTCPA 命令可以用來指定不需要通行碼。 若要變更時,請輸入 CHGDDMTCPA PWDRQD(*NO)。 您必須具備 *IOSYSCFG 特殊的權限,才能使用這個命令。
針對一個 DB2 Universal Database for AS/400 應用系統要求程式 (AR 或從屬站),有兩個方法可以用來在 TCP/IP 連接要求上,傳送有通行碼的使用者 ID 在不使用這兩種方法,則只需傳送使用者 ID。
第一個方法是: 使用 SQL CONNECT 陳述式的 USER/USING 格式來傳送通行碼 語法如下:
CONNECT TO rdbname USER userid USING 'password'
其中的小寫字代表適當的連接參數。 在使用內含的 SQL 程式中,userid 及 password 的值可以內含在主變數中。
第二個方法是:使用伺服器授權登錄來提供通行碼,透過 TCP/IP 傳送連接要求。 系統上相關的每一個使用者設定檔都是一份伺服器授權列示。 根據預設值,該列示是空白的,但是您可以使用 ADDSVRAUTE 命令來新增登錄。 試圖透過 TCP/IP 建立 DRDA 連接時,DB2 Universal Database for AS/400 會檢查在其下執行從屬站工作的使用者設定檔的伺服器授權列示。 如果在授權登錄中,發現 CONNECT 陳述式上的 RDB 名稱與 SERVER 名稱相符的話,則登錄中相關的 USRID 參數會用於連線使用者 ID,而且如果 PASSWORD 參數儲存在登錄中的話,則在連接要求上也會傳送該通行碼。
若要使用 ADDSVRAUTE 命令儲存通行碼,QRETSVRSEC 系統值必須設定為 '1'。 根據預設,該值為 '0'。 若要變更,請輸入:
CHGSYSVAL QRETSVRSEC VALUE('1')
ADDSVRAUTE 命令的語法如下:
ADDSVRAUTE USRPRF(user-profile) SERVER(rdbname) USRID(userid) PASSWORD(password)
USRPRF 參數指定在其下執行應用系統要求程式工作的使用者設定檔。 SERVER 參數指定遠端 RDB 名稱; 而 USRID 參數則指定在其下執行伺服器工作的使用者設定檔 PASSWORD 參數指定伺服器上使用者設定檔的通行碼。
註: | 請切記必須以大寫字元指定 SERVER 參數中的 RDB 名稱。 |
如果省略 USRPRF 參數的話,即預設為執行 ADDSVRAUTE 命令的使用者設定檔; 如果省略 USRID 參數的話,則預設為 USRPRF 參數的值; 如果省略 PASSWORD 參數的話,或如果 QRETSVRSEC 值為 0 的話,則登錄中不會儲存任何的通行碼; 若試圖使用該登錄建立連接時,所使用的機密保護機制只有使用者 ID。
您可以使用 RMVSVRAUTE 命令來除去伺服器授權登錄,或使用 CHGSVRAUTE 來變更該登錄。 請參閱 "AS/400 Command Reference",以取得這些命令的完整說明。
如果 RDB 的伺服器授權登錄存在,同時也使用 CONNECT 陳述式的 USER/USING 格式的話,則以後者為優先。