資料庫作為企業的核心業務,其營運操作是安全管控的重點。Bastionhost企業雙擎版和國密版支援對MySQL、SQL Server、PostgreSQL類型的RDS和MySQL、PostgreSQL、PostgreSQL(相容Oracle)的PolarDB以及MySQL、SQL Server、PostgreSQL、Oracle類型的自建資料庫進行營運和審計。本文以具體案例介紹如何通過Bastionhost進行資料庫營運。
背景資訊
企業資產中,除了Windows伺服器、Linux伺服器外,還有大量的資料庫資產。資料庫作為核心業務資產包含大量敏感資訊,如何保證營運安全、防止越權訪問、違規操作等更是企業的重點關注需求。
資料庫業務比較多樣化,有雲原生資料庫如RDS、以及自建資料庫,並包含MySQL、SQL Server、PostgreSQL、Oracle多種類型,且很多大型企業資料庫業務也通常會分布在多跨帳號、跨VPC以及線下IDC或異構雲等混合情境下,那麼如何?對如上混合情境的統一營運管控、方便營運安全團隊的集中管理也是Bastionhost的重點。
阿里雲Bastionhost企業雙擎版或國密版支援Windows伺服器、Linux伺服器以及資料庫的營運管控,針對多種類型資料庫均可實現營運許可權劃分及事後審計追溯,最大化保證資料庫營運安全。另外還提供混合情境營運能力,通過網路域營運能力將跨帳號、線下IDC、異構雲混合情境下的資產進行統一平台接入,便於安全團隊的一站式管控。
同時,企業雙擎版和國密版具有可靠底層架構保障,雙引擎部署,雙活架構運行,對於資料庫的營運高要求操作提供更穩定的業務保障。詳細資料,請參見版本功能對比。
資料庫營運流程
使用Bastionhost進行資料庫營運時,管理員先通過Bastionhost對資產進行管理,以及營運人員進行許可權劃分。營運人員再通過用戶端、營運門戶等方式建立到Bastionhost的SSH隧道,並在Bastionhost管控下登入資料庫資產進行營運。
營運方式及步驟
用戶端營運
前提條件
已在Bastionhost中建立資料庫和使用者,並授權使用者資產和資產賬戶。具體操作,請參見建立資料庫、系統管理使用者及授權資產及資產賬戶。
下文以MySQL和本機使用者為例介紹。
已在本地系統安裝支援SSH隧道的資料庫營運工具。關於用戶端工具及版本推薦,請參見用戶端遠端連線工具及版本推薦。
下文以Windows系統+Navicat Premium工具、Linux系統+命令列兩種方式介紹營運流程。
步驟一:擷取Bastionhost營運地址和資料庫營運令牌
登入營運門戶。具體操作,請參見登入營運門戶。
在左側導覽列,單擊資料庫。
在資料庫頁面,定位到目標資料庫,在遠端連線列,將登入方式選擇為查看營運令牌,單擊登入。
在營運令牌對話方塊,單擊申請營運令牌(首次登入需要申請營運令牌)。

登入營運門戶擷取營運令牌時,如果當前資料庫賬戶未在Bastionhost上託管,則需要在營運令牌對話方塊設定資料庫賬戶的基本資料後,才能擷取營運令牌。關於建立資料庫賬戶的更多資訊,請參見資料庫管理。
營運令牌需要在有效期間內使用,管理員可以在Bastionhost設定令牌有效期間。若開啟營運審批,則以管理員審批通過時設定的有效期間為準。
如果管理員設定允許營運員自主續期,則令牌到期前,營運員可以自主為令牌續期,到期之後需要重新申請令牌。若已開啟營運審批,則營運員不可進行續期。營運令牌配置修改後需要重新申請或更新令牌才可生效。
若令牌在有效期間內但營運串連失敗,可能為營運並發已達到上限,請聯絡管理員升配Bastionhost規格或釋放空閑串連;或管理員限制了該來源IP和時間段導致無法營運,請聯絡管理員釋放保留。
審計記錄的營運使用者資訊為申請令牌的使用者,與用戶端中所填使用者名稱和資產賬戶無關。
步驟二:通過用戶端工具或者命令列建立SSH隧道
下文以Navicat Premium工具和終端命令列工具介紹通過Bastionhost營運資料庫資產的流程。
Navicat Premium工具
開啟Navicat Premium工具,建立MySQL串連。
在SSH頁簽,勾選SSH隧道,並配置登入Bastionhost的相關資訊(步驟一擷取的用戶端SSH隧道配置項)。

關鍵配置項
說明
主機
Bastionhost營運地址,即填寫步驟一用戶端SSH隧道配置項中的公網或私網營運地址。
連接埠
BastionhostSSH營運連接埠。預設為60022。
使用者名稱
營運員登入Bastionhost的使用者名稱。
密碼
資料庫營運令牌,即填寫步驟一用戶端SSH隧道配置項中的營運令牌。
在常規頁簽,設定資料庫的相關資訊。

關鍵配置項
說明
主機
資料庫連接地址。
使用者名稱
資料庫賬戶登入名稱。
密碼
如果管理員已在Bastionhost中託管了資料庫賬戶密碼,則密碼處可留空。
如果管理員未在Bastionhost中管理的資料庫賬戶密碼,則密碼處需填寫資料庫賬戶的登入密碼。
說明 建議您勾選儲存密碼,如果未勾選,用戶端可能會要求您填寫賬戶密碼,您可以將營運令牌填寫在密碼處。
在Navicat Premium工具中,雙擊新建立的資料庫連接,串連成功後進行營運。
終端命令列
開啟命令列工具,執行以下命令。
命令格式:
ssh -N -L <localport>:<databaseAddress>:<databasePort> <bastionusername>@<bastionAddress> -p <bastionPort>參數說明:
參數
說明
localport
建立隧道後自訂本地監聽的連接埠。請確認與本地已有監聽連接埠不存在衝突。
databaseAddress
需要營運的資料庫資產的地址。
databasePort
需要營運的資料庫資產的連接埠。
bastionusername
雲Bastionhost的使用者名稱。
bastionAddress
雲Bastionhost的營運地址。
bastionPort
雲BastionhostSSH營運的連接埠。預設為60022。
命令樣本:
ssh -N -L 33061:rm-******m020h.mysql.rds.aliyuncs.com:3306 bastuser@******-public.bastionhost.aliyuncs.com -p 60022
在密碼認證步驟,輸入資料庫營運令牌,然後按斷行符號鍵等待。

另起一個命令列,確認本地自訂連接埠是否處於已監聽狀態,LISTEN表示已監聽。

執行以下命令,成功串連資料庫後進行營運。

命令格式
mysql -h 127.0.0.1 -u <accountname> -P <localport>參數說明
accountname為營運的資料庫登入賬戶名。localport為串連Bastionhost時自訂的本地監聽連接埠。
Web營運
Bastionhost支援通過營運門戶或Web控制台營運資料庫。下文以營運門戶為例資料營運流程。
前提條件
已在Bastionhost中建立資料庫和使用者,並授權使用者資產和資產賬戶。具體操作,請參見建立資料庫、系統管理使用者及授權資產及資產賬戶。
下文以MySQL和本機使用者為例介紹。
操作步驟
登入Bastionhost營運門戶。具體操作,請參見登入營運門戶。
在左側導覽列,單擊資料庫。
找到目標資料庫,並在遠端連線列,選擇Web遠端連線登入方式,單擊登入。

SSO單點登入營運
營運人員可通過Web頁面使用單點登入器自動調用本地用戶端以建立會話,從而省去單獨配置用戶端的步驟。下文以Bastionhost營運門戶為例,介紹如何使用SSO單點登入營運MySQL資料庫。
前提條件
已在Bastionhost中建立資料庫和使用者,並授權使用者資產和資產賬戶。具體操作,請參見建立資料庫、系統管理使用者及授權資產及資產賬戶。
下文以MySQL和本機使用者為例介紹。
已在本地系統安裝單點登入器支援的用戶端。關於支援的用戶端說明,請參見單點登入器支援的用戶端。
下文以Windows系統、Dbeaver 23為例介紹。
步驟一:擷取營運門戶地址
登入Bastionhost控制台,在頂部功能表列,選擇Bastionhost所在的地區。
在Bastionhost執行個體列表,定位到目標執行個體,單擊管理。
在左側導覽列,單擊概覽,擷取營運門戶地址。

步驟二:在本地系統安裝單點登入器
在瀏覽器中,輸入擷取到的營運門戶地址。
在Alibaba Cloud Security Bastionhost登入頁面,輸入Bastionhost使用者名稱和密碼,單擊登入。
在營運門戶頁面,單擊單點登入器下載。
本文下載的是Windows系統適用的單點登入器。

下載完成後安裝成功即可(安裝後無需開啟)。
步驟三:設定營運終端
在營運門戶的左側導覽列,單擊終端設定。
在MySQL頁簽,選擇Dbeaver用戶端,並單擊儲存。

在彈出的usmsso.exe提示框中,單擊開啟,並按照頁面指引配置營運資料庫的用戶端。
步驟四:營運資料庫
在營運門戶的左側導覽列,單擊資料庫。
找到目標資料庫,並在遠端連線列,單擊下拉式清單,將登入方式設定為本地客戶端登入,單擊登入。

資料庫營運審計
營運人員通過Bastionhost進入資料庫資產之後,Bastionhost可對營運人員的操作進行審計,包括會話審計、即時監控、動作記錄等,實現事後追溯。
登入Bastionhost控制台,在頂部功能表列,選擇Bastionhost所在的地區。
在Bastionhost執行個體列表,定位到目標執行個體,單擊管理。
在左側導覽列,選擇。
在會話審計頁面,查看會話記錄。