DB2 Universal Database for OS/390 中的應用程式伺服器支援容許 DB2 Universal Database for OS/390 作為 DRDA 應用系統要求程式的伺服器。 已連接至 DB2 Universal Database for OS/390 Application Server的應用系統要求程式可以是:
對任何與 DB2 Universal Database for OS/390 Application Server連接的應用系統要求程式而言, DB2 Universal Database for OS/390 Application Server將支援如下的資料庫存取:
為了使 DB2 Universal Database for OS/390 Application Server能夠正確地處理分散式資料庫要求, 您必須採取下列步驟:
為了使Application Server能夠接收分散式資料庫要求,它必須定義至本端通信管理程式, 且具有唯一的 RDB_NAME。 下列討論與 SNA 連接有關。 您必須採取下列步驟,來正確地定義Application Server:
請參閱設定 RU 大小及速率,取得關於如何複查您的 VTAM 網路的資訊。
例如,在需要資料庫管理程式系統傳送通行碼時,您可以容許 DALLAS 系統 (另一個 DB2 Universal Database for OS/390 系統), 傳送已驗證分散式資料庫要求 (LU 6.2 SECURITY=SAME)。 此外,您可能不想要將登錄記錄在每一個 資料庫管理程式 系統的 CDB 中, 尤其如果有大量的這些系統的話。 圖 25 顯示當對所有其他要求,加強 SECURITY=PGM 時, 如何使用 CDB,為 DALLAS 系統指定 SECURITY=SAME。
INSERT INTO SYSIBM.LUNAMES (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES) VALUES ('LUDALLAS', ' ', 'A', 'N', 'N', ' '); INSERT INTO SYSIBM.LUNAMES (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES) VALUES (' ', ' ', 'C', 'N', 'N', ' '); |
在圖 26中, 沒有橫列含有 LUNAME 直欄中的空白,所以 DB2 Universal Database for OS/390 將拒絕任何 LU 的存取,但 LUDALLAS 或 LUNYC 除外。
圖 26. 識別個別應用系統要求程式連接的預設值 (SNA)
INSERT INTO SYSIBM.LUNAMES (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES) VALUES ('LUDALLAS', ' ', 'A', 'N', 'N', ' '); INSERT INTO SYSIBM.LUNAMES (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES) VALUES ('LUNYC', ' ', 'A', 'N', 'N', ' '); |
為了使Application Server能夠透過 TCP/IP 連接來接收分散式資料庫要求,它必須定義至本端 TCP/IP 子系統, 且具有唯一的 RDB_NAME。 此外,「DB2 Universal Database for OS/390 Bootstrap 資料集」必須包括必需的參數, 以及您可能需要對「DB2 Universal Database for OS/390 通信資料庫 (CDB)」產生變更。
如果您想要允許 TCP/IP 節點的接收端資料庫連接要求,您可以使用如下的 SQL 命令,來更新這個表格:
INSERT INTO SYSIBM.IPNAMES (LINKNAME) VALUES(' ')
當應用系統要求程式遞送一個分散式資料庫要求給 DB2 Universal Database for OS/390 Application Server時,可包括下列機密保護考慮事項:
當 DB2 Universal Database for OS/390 Application Server從應用系統要求程式中收到一個一般使用者名稱, 則Application Server可以限制從指定的應用系統要求程式中收到的一般使用者名稱。 這可以透過使用來源檢查來完成。 來源檢查容許Application Server指定僅容許特殊友機使用指定的使用者 ID。 例如,Application Server可以限制 JONES "來自" DALLAS。 如果另一個應用系統要求程式 (非 DALLAS) 嘗試傳送名稱 JONES 給Application Server, 則Application Server可以拒絕這個要求,因為名稱並非來自正確的網路位置。
DB2 Universal Database for OS/390 將實施來源檢查,作為接收端一般使用者名稱轉換的一部份, 這將在下段中加以描述。
註: | 不會對 TCP/IP 接收端要求執行接收端及來源檢查。 |
應用系統要求程式所傳遞的使用者 ID 在整個 SNA 網路中可能不是唯一的。 DB2 Universal Database for OS/390 Application Server可能需要執行接收端名稱轉換, 方可建立在整個 SNA 網路中是唯一的一般使用者名稱。 同樣地,DB2 Universal Database for OS/390 Application Server可能需要執行發送端名稱轉換, 提供唯一的一般使用者名稱給應用程式中所包括的次要伺服器 (請參閱提供機密保護, 以取得關於發送端一般使用者名稱轉換的資訊)。
經由將 SYSIBM.LUNAMES 或 SYSIBM.IPNAMES 表格的 USERNAMES 直欄設定為 'I' (接收端轉換) 或 'B' (接收端及發送端轉換),來啟用接收端名稱轉換。當接收端名稱轉換生效時, DB2 Universal Database for OS/390 將轉換應用系統要求程式所傳送的使用者 ID,及 DB2 Universal Database for OS/390 計劃擁有者的名稱 (如果應用系統要求程式是另一個 DB2 Universal Database for OS/390 系統的話)。
如果應用系統要求程式同時在 APPC ALLOCATE 動詞上,傳送使用者 ID 及通行碼, 則在轉換使用者 ID 之前,將先驗證使用者 ID 與通行碼。SYSIBM.USERNAMES 中的 PASSWORD 直欄不是針對通行碼驗證而使用的。相反地, 使用者 ID 及通行碼將呈現給外部機密保護系統 (RACF 或功能與 RACF 相等的產品),以進行驗證。
當驗證 ALLOCATE 動詞上送進來的使用者 ID 時, DB2 Universal Database for OS/390 具有授權結束程式,您可以用來提供次要 AUTHID 的列示,並執行額外的機密保護檢查。 請參閱 DB2 Universal Database for OS/390 Administration Guide,以取得詳細資訊。
接收端名稱轉換處理將在 SYSIBM.USERNAMES 表格中搜尋一列, 它必須符合下列優先處理列示 (TYPE.AUTHID.LINKNAME) 中所顯示的型樣之一:
如果找不到任何橫列,將拒絕遠端存取。 如果找到一列,將容許遠端存取,而且一般使用者名稱將變更為 NEWAUTHID 直欄中所提供的值, 且有一個空白 NEWAUTHID 值指出名稱並未變更。 DB2 Universal Database for OS/390 所產生的任何 DB2 Universal Database for OS/390 資源授權檢查 (例如,SQL 表格專用權) 將在已轉換的一般使用者名稱, 而不是在原始使用者名稱上執行。
當 DB2 Universal Database for OS/390 Application Server 從應用系統要求程式中收到一個一般使用者名稱, 則可以使用 DB2 Universal Database for OS/390 接收端名稱轉換能力, 來完成數個目的。
INSERT INTO SYSIBM.LUNAMES (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES) VALUES ('LUNYC', ' ', 'A', 'N', 'N', 'I'); INSERT INTO SYSIBM.USERNAMES (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD) VALUES ('I', 'JONES', 'LUNYC', 'NYJONES', ' ');
INSERT INTO SYSIBM.LUNAMES (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES) VALUES ('LUNYC', ' ', 'A', 'N', 'N', 'I'); INSERT INTO SYSIBM.USERNAMES (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD) VALUES ('I', ' ', 'LUNYC', 'NYUSER', ' ');
INSERT INTO SYSIBM.LUNAMES (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES) VALUES ('LUNYC', ' ', 'A', 'N', 'N', 'I'); INSERT INTO SYSIBM.USERNAMES (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD) VALUES ('I', 'SMITH', 'LUNYC', ' ', ' '); INSERT INTO SYSIBM.USERNAMES (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD) VALUES ('I', 'JONES', 'LUNYC', ' ', ' ');
INSERT INTO SYSIBM.LUNAMES (LUNAME, SYSMODENAME, SECURITY_IN, ENCRYPTPSWDS, MODESELECT, USERNAMES) VALUES (' ', ' ', 'A', 'N', 'N', 'I'); INSERT INTO SYSIBM.USERNAMES (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD) VALUES ('I', ' ', 'LUNYC', ' ', ' '); INSERT INTO SYSIBM.USERNAMES (TYPE, AUTHID, LINKNAME, NEWAUTHID, PASSWORD) VALUES ('I', ' ', 'LUCHI', ' ', ' ');
對 SNA 連接而言,LU 6.2 提供三種主要網路機密保護特性:
網路機密保護 將討論如何透過 DB2 Universal Database for OS/390 來指定階段作業層次機密保護及暗碼化。 DB2 Universal Database for OS/390 Application Server使用階段作業層次機密保護及暗碼化的方式完全同於 DB2 Universal Database for OS/390 應用系統要求程式使用它們的方式
唯一剩下的網路機密保護考慮事項就是 SNA 交談層次機密保護。 交談層次機密保護的某些方面對 DB2 Universal Database for OS/390 Application Server是唯一的。 DB2 Universal Database for OS/390 Application Server在網路機密保護中將扮演兩種不同的角色:
如果發現機密保護違規,則 LU 6.2 需要 DB2 Universal Database for OS/390 Application Server, 將 SNA 機密保護失敗感應碼 ('080F6051'X) 傳回給應用系統要求程式。 因為這個感應碼未描述失敗的原因,所以 DB2 Universal Database for OS/390 將提供兩種方法, 來記錄分散式機密保護違規的原因:
作為資料庫資源的擁有者, DB2 Universal Database for OS/390 Application Server將控制常駐在 DB2 Universal Database for OS/390 Application Server中的 SQL 物件的資料庫機密保護函數。 DB2 Universal Database for OS/390 管理的物件的存取是由 DB2 Universal Database for OS/390 管理者或個別物件的擁有者授與使用者的專用權來控制。 DB2 Universal Database for OS/390 Application Server控制的兩個基本類別的物件為:
當一般使用者擁有資料包時,則該使用者即可自動執行或取代資料包。其他一般使用者必須特別授與權限,方可透過 GRANT 陳述式, 在 DB2 Universal Database for OS/390 Application Server中執行資料包。USE 可授給個別一般使用者或 PUBLIC,如此可容許所有一般使用者執行資料包。
當應用程式與 DB2 Universal Database for OS/390 連結時,資料包將含有應用程式中所含有的 SQL 陳述式。 這些 SQL 陳述式的分類如下:
當一般使用者被授與執行資料包的權限時,他們將自動具有權限, 來執行資料包中所含有的每一個靜態 SQL 陳述式。 因此,如果一般使用者執行的資料包僅含有靜態 SQL 陳述式,則他們不需要 DB2 Universal Database for OS/390 表格專用權。
當您建立資料包時,DISABLE/ENABLE 選項容許您控制哪些 DB2 Universal Database for OS/390 連接類型可執行資料包。 您可以使用 RACF 及 DB2 Universal Database for OS/390 機密保護結束常式, 以選用方式容許一般使用者使用 DDF。 您可以使用 RLF,為遠端連結及動態 SQL 執行, 來指定處理器時間的限制。
請考慮名為 MYPKG 的 DB2 Universal Database for OS/390 資料包, 這是 JOE 所擁有的。 JOE 可經由發出 DB2 Universal Database for OS/390 GRANT USE 陳述式, 容許 SAL 執行資料包。 當 SAL 執行資料包時,將發生下列:
DB2 Universal Database for OS/390 Application Server如何使用機密保護子系統 (RACF 或與 RACF 功能相等的產品), 端視您如何在 SYSIBM.LUNAMES 表格中定義接收端名稱轉換而定。
如果來自應用系統要求程式的要求僅含有使用者 ID (SECURITY=SAME),將全然不會呼叫外部機密保護系統, 因為接收端名稱轉換規則將定義哪些使用者可被容許與 DB2 Universal Database for OS/390 Application Server連接。
您必須確定您的 DB2 Universal Database for OS/390 子系統, 具有將每一個應用系統要求程式的 CCSID 轉換為您的 DB2 Universal Database for OS/390 子系統的安裝 CCSID 的能力。 請參閱代表資料,取得詳細資訊。