如何安全地連接到Azure PaaS服務
譯文【51CTO.com快譯】眾所周知,在Azure中預配任何基于PaaS的服務時,它都會附帶一個公共的端點。而作為云架構師或安全工程師,您必須從設計的角度,確保此類基于PaaS服務的連接是安全的。也就是說,為了保證訪問公共端點時的安全性,我們往往需要對服務端點進行加固。
服務端點(Service Endpoint)
具體而言,作為虛擬網絡的一部分,它需要通過Azure主干網絡上的優化路由,來提供與Azure服務直接且安全的連接。其中,服務端點能夠讓虛擬網絡(vnet)中的私有IP地址,到達Azure服務的一個端點,而無需使用vnet上的公共IP地址。
下圖描繪了在虛擬網絡中,一臺正在運行的私有虛擬機試圖訪問某個存儲帳戶。為此,我們首先需要在已運行的VM的唯一虛擬網絡中,啟用服務端點。
啟用服務端點的步驟
第一步:按需在虛擬網絡上啟用服務端點。由于端點上的各種策略都是可選的,因此您可以根據實際需求,過濾那些前往Azure服務的虛擬網絡流量。
第二步:進入PaaS服務的防火墻或網絡設置界面,添加服務端點。
第三步:驗證端點服務是否已被啟用。
注意事項
1. 在設置服務端點之前,請確保IP防火墻的相應規則已被允許。
2. 連接到基于PaaS的服務上時,由于服務端點并不支持各種本地資源,因此您必須使用本地的NAT IP或快速路由的方式。而且,您必須在資源IP防火墻的設置中,允許此類公共IP地址。
3. 對于服務端點而言,可用的基于PaaS的服務包括:Azure存儲、Azure數據庫服務、Azure Synapse Analytics、Azure Key Vault、Azure服務總線、Azure事件中心、Azure數據湖存儲Gen 1、Azure應用服務、以及Azure認知服務。
4. 為了通過服務端點去訪問SQL和數據湖服務,vnet和PaaS服務應當位于同一個區域中。
5. 服務端點并不能解析DNS的查詢。
值得注意的是,您無需為服務端點支付任何額外的費用,并且創建服務端點的數量也不受任何限制。
私有端點(Private endpoint)
在討論了服務端點之后,我們下面來看看私有端點。私有端點會通過使用來自虛擬網絡(vnet)的私有IP地址,有效地將基于PaaS的服務引入虛擬網絡。我們可以認為它是一種網絡接口,能夠安全地連接到由Azure Private Link提供支持的服務處。
下圖描繪了在虛擬網絡中,一臺正在運行的私有虛擬機試圖訪問某個存儲帳戶。為此,我們首先需要為正在運行VM的虛擬網絡,去設置一個私有端點。
配置私有端點的步驟
第一步:進入PaaS服務,“私有端點創建選項”會出現在防火墻和網絡部分中,或作為一個單獨的部分被提供。
第二步:Private Link提供了為不同的Azure資源,創建私有端點的選項,其中包括:Private Link服務、SQL服務器或Azure存儲帳戶。請選擇該私有端點需要連接的具體資源。
第三步:在此,您必須選擇一個虛擬網絡/子網,并與私有的DNS相集成。同時,您需要通過一個DNS記錄,實現與私有端點的連接。在配置完成后,您便可以創建相應的服務了。
第四步:您可以在“服務 -> 網絡”下的虛擬網絡部分,檢查并驗證私有端點服務是否已被成功創建,以及是否能夠正常運行。
在上述例子中,Private Link會基于RBAC的許可,自動批準連接。當然,消費者(consumer)也有權限去批準或拒絕連接。目前,私有端點具有四種連接狀態,它們分別是:已批準(提供自動或手動批準)、待定(未收到批準)、已拒絕(未批準)、已斷開(連接已被刪除)。
此外,為了部署私有端點或Private Link服務,用戶也必須被分配諸如:所有者、貢獻者、以及網絡貢獻者等內置的角色。
至此,我們僅為存儲帳戶的blob創建了一個私有端點。如果您需要安全地訪問存儲帳戶的其他資源(例如文件、表或隊列等),那么還需要其他單獨的私有端點連接。
其實,私有端點并不限于公共云,它也能夠支持混合云等廣泛的Azure服務。例如,上例中的本地VM,就可以通過代理網絡或快速路由,連接到由Private Link提供支持的Azure服務上。
通常,每個私有端點都會使用同一子網內的動態私有IP,來創建一個NIC。而且,私有IP地址的數值,在私有端點的整個生命周期內都是保持不變的。
與Azure服務端點不同,私有端點需要為端點的創建、以及出入棧數據的處理收取費用。
當然,上述討論的每一項服務也都會有著如下的限制:
- 僅支持IPv4的流量。
- 可處理TCP和UDP流量。
- 不支持基本的Azure LB(負載均衡器)。
此外,具有Azure安全基準的Azure安全中心,也提供了有關如何保護Azure上各種云端應用和資源的建議。
小結
總的說來,服務端點帶有可公共路由的IP地址,而私有端點則可配置為在虛擬網絡地址空間中的私有IP。您可以根據實際項目的需求,在服務端點和私有端點之間做出明智的選擇。如果您有興趣了解更多有關如何安全地連接到Azure PaaS服務的知識,請參考服務演示視頻。
原文標題:Secure Connectivity To Azure PaaS Services,作者:Sagar Pawar
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】