現在很多企業大多使用windows的安全性驗證,來進行帳號權限的集中管理,而RDS當然也可以透過Windows 方式來進行帳號權限的集中管理,目前各大公有雲平台,AWS的RDS透過 Microsoft AD方式提供讓RDS加入AD;Azure的Azure SQL是透過 Azure AD方式驗證;阿里雲目前提供自建AD主機讓RDS加入網域。
在使用Windows 驗證的好處上,一來是使用者透過 Windows 使用者帳戶連接時, SQL Server 會使用作業系統中的 Windows 主體 Token 來驗證帳戶名稱和密碼,二來可以在網域層級建立 Windows 群組,也可以在 SQL Server 建立整個群組的登入,簡化帳戶管理。
![在使用Windows 驗證的好處上,一來是使用者透過 Windows 使用者帳戶連接時, SQL Server 會使用作業系統中的 Windows 主體 Token 來驗證帳戶名稱和密碼,二來可以在網域層級建立 Windows 群組,也可以在 SQL Server 建立整個群組的登入,簡化帳戶管理。](https://media.microfusion.cloud/wp-content/uploads/2022/10/%E5%9C%961.png)
流程說明
![ECS建置網域控制站&配製ECS實例安全組&配置RDS實例](https://media.microfusion.cloud/wp-content/uploads/2022/10/%E5%9C%962.png)
ECS建置AD主機
AD主機(Active Directory,AD)是需要建立在Windows Server操作系統之上,ECS創建實例時,系統最低版本為Windows Server 2012R2,建議使用Windows Server 2016及以上版本。
ECS實例安全組
以下是在ECS上的AD主機需要開通的通訊埠名單。
![以下是在ECS上的AD主機需要開通的通訊埠名單。](https://media.microfusion.cloud/wp-content/uploads/2022/10/%E5%9C%963.png)
實務操作
1.先開啟一台RDS for SQL Server,這邊是使用高可用版SQL Server 2012 SE版,提高資料吞吐量的同時也有備援機制,推薦給讀者使用。
![1.先開啟一台RDS for SQL Server,這邊是使用高可用版SQL Server 2012 SE版,提高資料吞吐量的同時也有備援機制,推薦給讀者使用。](https://media.microfusion.cloud/wp-content/uploads/2022/10/%E5%9C%964.png)
2.在RDS中要先設定白名單讓AD主機可以連接到RDS for SQL Server,這樣RDS for SQL Server會加入AD主機;同時也要在AD主機設定Security Group讓RDS可以連接進來,可以參考上面的ECS實例安全組去做設定。
![在RDS中要先設定白名單讓AD主機可以連接到RDS for SQL Server,這樣RDS for SQL Server會加入AD主機;同時也要在AD主機設定Security Group讓RDS可以連接進來,可以參考上面的ECS實例安全組去做設定。](https://media.microfusion.cloud/wp-content/uploads/2022/10/%E5%9C%965.png)
![在RDS中要先設定白名單讓AD主機可以連接到RDS for SQL Server,這樣RDS for SQL Server會加入AD主機;同時也要在AD主機設定Security Group讓RDS可以連接進來,可以參考上面的ECS實例安全組去做設定。](https://media.microfusion.cloud/wp-content/uploads/2022/10/%E5%9C%966.png)
3.AD要創建Domain和User,在外工作者透過AD建立的User帳戶可以遠端進入SQL Server,這邊是利用建立帳戶testuser來登入RDS for SQL Server;至於User相關權限則需要公司的IT人員協助設定。
![AD要創建Domain和User,在外工作者透過AD建立的User帳戶可以遠端進入SQL Server,這邊是利用建立帳戶testuser來登入RDS for SQL Server;至於User相關權限則需要公司的IT人員協助設定。](https://media.microfusion.cloud/wp-content/uploads/2022/10/%E5%9C%967.png)
4.接下來讓ECS上的AD主機可以連接到RDS for SQL Server。
![接下來讓ECS上的AD主機可以連接到RDS for SQL Server。](https://media.microfusion.cloud/wp-content/uploads/2022/10/%E5%9C%968.png)
![接下來讓ECS上的AD主機可以連接到RDS for SQL Server。](https://media.microfusion.cloud/wp-content/uploads/2022/10/%E5%9C%969.png)
5.要連結RDS for SQL Server,需先安裝Microsoft SQL Server Management Studio(MSSMS)才能連結到該RDS! 這邊因為要透過AD主機認證登入SQL Server因此要選擇Windows Authentication。
![要連結RDS for SQL Server,需先安裝Microsoft SQL Server Management Studio(MSSMS)才能連結到該RDS! 這邊因為要透過AD主機認證登入SQL Server因此要選擇Windows Authentication。](https://media.microfusion.cloud/wp-content/uploads/2022/10/%E5%9C%9610.png)
6.接下來用Microsoft SQL Server Management Studio(MSSMS)登入剛才在AD創立的帳戶就可以登入RDS了!
![接下來用Microsoft SQL Server Management Studio(MSSMS)登入剛才在AD創立的帳戶就可以登入RDS了!](https://media.microfusion.cloud/wp-content/uploads/2022/10/%E5%9C%9611.png)
注意事項
● SQL 版本採用2012~2019標準版和企業版(非共享型規格)
● RDS和DC Server所在ECS在相同VPC。
● ECS安全組放通RDS的內網IP。詳情請參見添加安全組規則。
● ECS實例係統防火牆放通RDS的內網IP。 ECS實例係統防火牆默認關閉,如果您開啟過,需要放通RDS的內網IP。
● Domain 帳號屬於Domain Admins組(由於客戶端主動加域需要高權限)。
● 網域控制站與DNS是相同IP。
結語
在地端環境下使用行之有年AD管理認證,藉由AD做到公司員工帳號密碼集中到AD主機集中管理,強化平日使用電腦主機安全性,也能控管電腦安裝惡意軟體避免造成公司資料外洩、被竊取;今天筆者在阿里雲使用ECS+RDS運行了Windows Server 2016和SQL Server 2012,也藉由著AD服務連接到RDS for SQL Serverr方便帳號管理,提供給讀者參考看看。
*本文由宏庭架構師所撰寫,同步刊登於iThome 鐵人賽專區
.>更多阿里雲相關內容,再且密切追蹤阿里雲架構師專欄