使用 Oracle Connection Manager 資料庫代理主機進行連線載入和安全管理

保護 Oracle Autonomous Database Serverless 上的後端資料存取,以保護一般使用者的敏感度和隱私需求。Traffic Director 模式的 Oracle Connection Manager ( CMAN-TDM) 是一個資料庫代理主機解決方案,可讓您安全地存取後端架構,而不會影響資料的安全。

架構

此架構顯示如何使用 CMAN-TDM 連線至 Oracle Cloud 上的 Oracle Autonomous Database Serverless

此架構描述基本組態。代理常駐連線集區 (PRCP) 和執行緒模式還有其他進階的連線模式,可增加 CMAN-TDM 的效能。這些功能透過動態負載平衡和智慧型集區管理,將資料庫資源的使用量最佳化。

在下列範例架構中,Oracle Autonomous Database Serverless 位於 Oracle Cloud 中,但相同的原則也適用於第三方雲端。



oci-cman-tdm-oracle.zip

此架構支援下列元件:

  • 曼德姆

    Oracle 連線管理程式 ( CMAN) 是一種代理主機伺服器,可將連線要求轉送至資料庫或其他代理主機伺服器。它會在認證 上,在資料庫和用戶端之間傳送連線和資料。CMAN 可在階段作業層次運作,通常位於與資料庫伺服器和用戶端電腦不同的電腦上。

    CMAN 提供下列功能:
    • 存取控制:使用以規則為基礎的組態來篩選使用者指定的從屬端要求並接受其他要求。
    • 階段作業多工:透過與共用伺服器目的地的網路連線匯集多個從屬端階段作業。

    Traffic Director 模式 (TDM) 是 CMAN 的選擇性智慧功能,可作為應用程式的資料庫代理。TDM 透過停機支援、增強的雲端安全功能 (DoS 和模糊攻擊保護、租用戶隔離等) 以及效能調整功能,增加了透明高可用性 (HA) 的額外維度。

    CMAN-TDM 可讓任何從屬端應用程式連線至 Oracle Database (內部部署和雲端),而無需向從屬端公開基礎資料庫詳細資訊。此版本可與不同版本的 Oracle Database 互通。

  • Oracle Call Interface (OCI) - Oracle 呼叫介面 (OCI)

    Oracle Call Interface 是 Oracle Database 的全方位高效能原生 C 語言介面,適用於自訂或套裝應用程式。

    API 提供 Oracle Database 的介面,以執行資料庫管理作業。它們是建立其他語言特定介面的基礎。例如,Oracle Data Provider for Net-Core (ODP.Net、Unmanaged)、Oracle Precompilers (Pro*C)、Oracle ODBC、Oracle C++ Call Interface (OCCI) 和 node-oracledbpython-oracledb 的命令檔語言驅動程式。CMAN-TDM 也可搭配 PHP OCI8、ROracle、Godror、ruby-oci8、rust-oracle 等使用。

  • Java Database Connectivity (JDBC)

    Java 資料庫連線驅動程式提供可啟用 Java 程式的 Java API。它為 Java 應用程式提供了標準的方式來連線和操控關聯式資料庫和其他列表化資料來源中的資料。JDBC 使用「驅動程式」來促進此互動,不同類型的驅動程式可提供不同層次的效能和平台相依性。

  • JDBC Thin

    JDBC Thin 驅動程式是純 Java、Type IV 驅動程式。驅動程式提供高效能,與 JDBC Oracle Call Interface 驅動程式提供的效能相比。JDBC Thin 驅動程式完全以 Java 撰寫,輕量型、不受限於平台,而且在從屬端不需要任何其他的 Oracle 軟體。

    JDBC Thin 驅動程式使用 TTC 與伺服器通訊,這是 Oracle 開發用來存取 Oracle Database 資料的協定。它可以用於應用程式伺服器以及 Applet。此驅動程式會提供在 Java 通訊埠上實作 Oracle Net 與 TTC 的 TCP/IP,以允許直接連線至資料庫。這兩個協定都是伺服器上對等方的輕量型實作版本。Oracle Net 協定只透過 TCP/IP 執行。

    您可以在用戶端和伺服器端使用 JDBC 精簡型驅動程式。在用戶端上,驅動程式是用於在用戶端上或三層式組態的中間層執行的 Java 應用程式或 Java Applet 中。在伺服器端,此驅動程式是用來存取遠端 Oracle Database 執行處理,或是同一資料庫上的另一個階段作業。

  • node-oracledb

    node-oracledb 是連線至 Oracle Database 的 Node.js 驅動程式。

  • python-oracledb

    python-oracledb 是連線至 Oracle Database 的 Python 驅動程式。

  • Oracle Data Provider for .NET (ODP.NET)

    Oracle Data Provider for .NET 功能已最佳化 ADO.NET 資料對 Oracle Database 的存取。ODP.NET 可讓開發人員利用進階的 Oracle Database 功能,包括 Oracle Real Application Clusters (Oracle RAC)、自我調整敘述句快取、應用程式連續性以及快速連線容錯移轉。

    有三種驅動程式類型:
    • ODP.NET 核心:專為多平台 .NET (核心) 應用程式所設計
    • ODP.NET,受管理驅動程式:100% 受管理程式碼 .NET Framework 提供者。開發人員在部署套件中部署小於 10 MB 的單一組件。
    • ODP.NET,未受管理的驅動程式:使用 Oracle Database 用戶端的傳統 Oracle ADO.NET 提供者。
  • 代理主機常駐連線集區 (PRCP)

    代理伺服器常駐連線集區是 CMAN-TDM 的集區功能。

    它使用 Oracle Call Interface 的階段作業集區功能來多工處理大量的從屬端連線。它可以讓多個從屬端處理作業的內送連線使用連線至資料庫處理作業的外送連線集區。這些階段作業與 CMAN-TDM 層中的階段作業相關聯。PRCP 可為沒有資料庫負荷或需要多重執行緒用戶端的應用程式連線提供漏斗。不同的應用程式執行處理可以共用階段作業。

關於必要產品與角色

此解決方案需要下列產品與角色:

  • Oracle Cloud Infrastructure
  • Oracle Autonomous Database

  • Oracle Linux 上的 Oracle Database Client 21c 或更新版本
  • CMAN-TDM ,版本 21.3.0.0.0 或更新版本

  • SQL*Plus 從屬端應用程式:版本 21.3 或更新版本

這些是每項產品或服務所需的角色。

服務名稱:角色 必要項目 ...
Oracle Autonomous Database :root 建立 oracle 使用者、基礎目錄和本位目錄以執行 CMAN 。安裝最新版本 Oracle Database 的預先安裝程式庫,以在 Linux 中設定 oracle 使用者。

也需要開啟通訊埠,並在 $TNS_ADMIN/tnsnames.ora 檔案中為 CMAN-TDM 伺服器新增 CMAN-TDM 位址。

Oracle Autonomous Database :admin 檢查 CMAN 的資料庫連線、建立資料庫代理主機使用者、建立資料庫代理主機使用者公事包、建立 CMAN-TDM 應用程式使用者以進行一般應用程式存取、新增資料庫代理主機使用者 tdm 權限至所有需要透過 CMAN-TDM 存取 Oracle Autonomous Database 的應用程式使用者。
Oracle Autonomous Database :oracle 設定 TNS_ADMIN 環境變數,設定 CMAN-TDM 以連線至 Oracle Autonomous Database
Oracle Cloud Infrastructure:Oracle Cloud 科目 連線至 Oracle Cloud 並建立服務,包括 Oracle Autonomous Database
CMANapp 使用者 透過 CMAN-TDM 連線至資料庫。app 使用者必須向 Oracle Autonomous Database 註冊。

請參閱 Oracle 產品、解決方案和服務,以取得您需要的內容。