使用 Azure Active Directory 認證搭配基準資料庫服務
您可以將基準資料庫服務中的 Oracle AI Database 設定為使用 Microsoft Azure Active Database 認證和授權,讓 Azure AD 使用者能夠使用 Azure AD 證明資料存取資料庫。
關於將 Azure AD 與基準資料庫服務整合
您可以在基準資料庫服務執行處理中設定 Oracle AI Database,讓 Microsoft Azure Active Directory (Azure AD) 使用者使用 Azure OAuth2 存取權杖進行連線。
如需有關授權 Azure AD 使用者、架構、使用者對應、使用案例和整合程序的詳細資訊,請參閱 Oracle AI Database Security Guide 中的 Authenticating and Authorizing Microsoft Azure Users for Oracle AI Databases 小節。
先決條件
基準資料庫服務上的 Azure AD 認證需要符合以下先決條件。
以下主題詳細說明每一個主題。
網路設定
在資料庫上使用 Azure AD 認證之前,您必須先使用網路服務,將服務閘道、路由規則和輸出安全規則新增至資料庫資源所在的虛擬雲端網路 (VCN) 和子網路。若要使用 NAT 閘道設定 Azure AD 的輸出連線,請執行下列步驟。
- 依照建立服務閘道中的指示,在您資料庫資源所在的 VCN 中建立 NAT 閘道。
-
建立服務閘道之後,請在資料庫資源所在的每個子網路 (VCN 中) 新增路由規則和輸出安全規則,讓這些資源能夠使用閘道從您的 Azure AD 執行處理取得公用金鑰,以使用 Azure AD 認證:
- 前往子網路的子網路詳細資訊頁面。
- 在子網路資訊頁籤中,按一下子網路的路由表名稱,以顯示其路由表詳細資訊頁面。
-
在現有路由規則的表格中,檢查是否已有具有下列特性的規則:
- 目的地:0.0.0.0/0
- 目標類型:NAT 閘道
- 目標:您剛剛在 VCN 中建立的服務閘道名稱
如果沒有這樣的規則,請選取新增路由規則,然後新增具有這些特性的路由規則。
- 返回子網路的子網路詳細資訊頁面。
- 在子網路的安全清單表格中,按一下子網路安全清單的名稱,以顯示其安全清單詳細資訊頁面。
- 在側邊功能表的資源底下,選取傳出規則。
-
在現有傳出規則的表格中,檢查是否已有具有下列特性的規則:
- 目的地類型:CIDR
- 目的地:0.0.0.0/0
- IP 通訊協定:TCP
- 來源連接埠範圍: 443
- 目標連接埠範圍:全部
- 如果沒有這類規則,請選取新增傳出規則,然後新增含有這些特性的傳出規則。
TLS 組態
將 Azure AD 權杖從資料庫從屬端傳送至資料庫伺服器時,必須建立 TLS 連線。具有「基準資料庫服務」執行處理之資料庫憑證的 TLS 公事包必須儲存在 WALLET_ROOT 位置底下。建立一個 tls 目錄,讓它看起來像:WALLET_ROOT/<PDB GUID>/tls
在資料庫從屬端與伺服器之間設定 TLS 時,需要考慮數個選項。
- 使用自行簽署的資料庫伺服器憑證與由通用已知的憑證授權機構簽署的資料庫伺服器憑證。
- 單向 TLS (TLS) 與雙向或雙向 TLS (mTLS)。
- 有或沒有公事包的從屬端。
自行簽署憑證:使用自行簽署的憑證是內部 IT 資源的常見做法,因為您可以自行建立這些憑證,而且是免費的。資源 (在我們的案例中,資料庫伺服器) 將具有自行簽署的憑證,以向資料庫從屬端進行認證。自我簽署的憑證和根憑證將會儲存在資料庫伺服器公事包中。為了讓資料庫從屬端能夠辨識資料庫伺服器憑證,從屬端上也需要根憑證的複本。此自行建立的根憑證可以儲存在從屬端公事包中,或安裝在從屬端系統預設憑證存放區中 (僅限 Windows 和 Linux)。建立階段作業時,資料庫從屬端會檢查資料庫伺服器所傳送的憑證是否已由相同的根憑證簽署。
已知的憑證授權機構:使用常見的根憑證授權機構有一些優點,即根憑證最有可能已經儲存在用戶端系統預設憑證儲存庫中。如果用戶端是共同根憑證,則沒有儲存根憑證的額外步驟。不利之處在於,這通常具有相關的成本。
單向 TLS :在標準 TLS 階段作業中,只有伺服器會提供憑證給從屬端進行認證。用戶端不需要有個別的用戶端憑證就能向伺服器進行自我驗證 (類似於如何建立 HTTPS 階段作業)。雖然資料庫需要一個公事包來儲存伺服器憑證,但從屬端唯一需要的是用來簽署伺服器憑證的根憑證。
雙向 TLS (也稱為雙向 TLS、mTLS) :在 mTLS 中,從屬端和伺服器都具有彼此呈現的識別憑證。在大多數情況下,相同的根憑證會同時簽署這兩個憑證,因此資料庫伺服器和從屬端可以使用相同的根憑證來認證其他憑證。因為資料庫伺服器透過憑證認證使用者識別,所以有時會使用 mTLS 來認證使用者。這不需要傳遞 Azure AD 權杖,但可以在傳遞 Azure AD 權杖時使用。
使用公事包的從屬端:使用 mTLS 儲存從屬端憑證時,必須要有從屬端公事包。不過,根憑證可以儲存在相同的公事包或系統預設憑證存放區中。
沒有公事包的從屬端:在下列情況下使用 TLS 時,可以設定沒有公事包的從屬端:
-
正在設定單向 TLS,其中從屬端沒有自己的憑證,而且
-
簽署資料庫伺服器憑證的根憑證會儲存在系統預設憑證儲存庫中。如果伺服器憑證是由通用憑證授權機構所簽署,根憑證最有可能已經是該憑證。如果是自行簽署的憑證,則必須將根憑證安裝在系統預設憑證存放區中,以避免使用從屬端公事包。
如需如何設定資料庫從屬端與資料庫伺服器之間的 TLS (包括先前所述的選項) 的詳細資訊,請參閱設定傳輸層安全認證。
如果選擇使用自行簽署憑證和其他公事包相關工作,請參閱「資料庫安全指南」中的 orapki 命令行介面 (CLI) 參考指南。請參閱管理公用金鑰基礎架構 (PKI) 元素。
設定基礎資料庫服務以與 Azure AD 整合
與 Azure AD 的基準資料庫服務整合需要在 Azure AD 註冊資料庫,資料庫才能要求 Azure AD 公開金鑰。
若要設定與 Azure AD 整合的基準資料庫服務,您必須先完成「先決條件」段落中的先決條件,然後依照 Oracle AI Database Security Guide 之 Configuring the Oracle AI Database for Microsoft Azure AD Integration 小節中的指示進行。
對應 Oracle AI Database 綱要和角色
Azure AD 使用者將會對應至一個資料庫綱要,並選擇性地對應至一或多個資料庫角色。
如需有關將 Oracle AI Database 綱要和角色對應至 Azure AD 使用者之選項的詳細資訊,請參閱 Oracle AI Database Security Guide 中的 Mapping Oracle AI Database Schemas and Roles 小節。
設定 Azure AD 的從屬端連線
您可以使用多種方式設定從屬端,以使用 Azure AD 權杖與基準資料庫服務執行處理連線。
如需有關設定 Azure AD 從屬端連線的詳細資訊,請參閱 Oracle AI Database Security Guide 中的 Configuring Azure AD Client Connections to the Oracle AI Databases 小節。
測試 Azure 端點的輔助功能
您可以執行連線測試,確保基準資料庫執行處理可以存取 Azure AD 端點。
如需有關測試連線的詳細資訊,請參閱 Oracle AI Database Security Guide 中的 Testing the Accessibility of the Azure Endpoint 小節。
用於疑難排解連線的追蹤檔
您可以使用追蹤檔對使用 Azure AD 連線的基準資料庫服務從屬端連線進行疑難排解。
如需有關追蹤檔和設定記號認證從屬端追蹤的詳細資訊,請參閱 Oracle AI Database Security Guide 中的 Trace Files for Troubleshooting Oracle Database Client Connections with Azure AD 小節。