在基準資料庫服務使用 Azure Active Directory 認證
您可以在基準資料庫服務中設定 Oracle Database,以使用 Microsoft Azure Active Database 認證和授權,讓 Azure AD 使用者能夠使用 Azure AD 證明資料存取資料庫。
關於整合 Azure AD 與基礎資料庫服務
您可以為 Microsoft Azure Active Directory (Azure AD) 使用者設定基準資料庫服務執行處理中的 Oracle Database,以使用 Azure OAuth2
存取權杖進行連線。
必備條件
網路設定值
在資料庫上使用 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 的詳細資訊,請參閱設定傳輸層安全認證。
如果您選擇使用自行簽署憑證,以及其他公事包相關作業,請參閱「資料庫安全指南」中的 orapki
命令行介面 (CLI) 參考指南。請參閱 Managing Public Key Infrastructure (PKI) Elements 。
設定用於與 Azure AD 整合的基準資料庫服務
與 Azure AD 的「基準資料庫服務」整合需要在 Azure AD 註冊資料庫,資料庫才能要求 Azure AD 公開金鑰。
若要設定與 Azure AD 整合的基準資料庫服務,您必須先完成先決條件段落中的先決條件,然後依照 Oracle Database Security Guide 之 Configuring the Oracle Database for Microsoft Azure AD Integration 小節中的指示進行。
對應 Oracle Database 綱要和角色
Azure AD 使用者將會對應至一個資料庫綱要,並選擇性地對應至一或多個資料庫角色。
如需有關將 Oracle Database 綱要和角色對應至 Azure AD 使用者之選項的詳細資訊,請參閱 Oracle Database Security Guide 中的 Mapping Oracle Database Schemas and Roles 小節。
設定 Azure AD 的從屬端連線
您可以使用多種方式設定從屬端使用 Azure AD 權杖與基準資料庫服務執行處理連線。
如需有關設定 Azure AD 從屬端連線的詳細資訊,請參閱 Oracle Database Security Guide 中的 Configuring Azure AD Client Connections to the Oracle Database 小節。
測試 Azure 端點的輔助功能
您可以執行連線測試,確保基準資料庫執行處理可以存取 Azure AD 端點。
如需有關測試連線的詳細資訊,請參閱 Oracle Database Security Guide 中的 Testing the Accessibility of the Azure Endpoint 小節。
用於疑難排解連線的追蹤檔
您可以使用追蹤檔對使用 Azure AD 連線的基準資料庫服務從屬端連線進行疑難排解。
如需有關追蹤檔和設定權杖認證從屬端追蹤的詳細資訊,請參閱 Oracle Database Security Guide 中的 Trace Files for Troubleshooting Oracle Database Client Connections with Azure AD 小節。