Azure ARM : Azure訂閱的兩種管理模式

來源: 博客園
作者:Lei Zhang
時(shí)間:2020-09-25
17936
熟悉Azure平臺的讀者都知道,Microsoft Azure服務(wù)管理,分為三個(gè)層次:1.企業(yè)服務(wù)合同 (Enterprise Agreement)2.訂閱(Subscription),在1個(gè)企業(yè)服務(wù)合同下,可以創(chuàng)建無數(shù)多個(gè)訂閱,訂閱之間的資源是互相隔離的。3.資源組(Resource Group),在1個(gè)訂閱下,可以創(chuàng)建無數(shù)個(gè)資源組。通過資源組,我們可以設(shè)置RBAC(Role Base Access Control)。設(shè)置對資源的訪問權(quán)限,比如只讀,可讀寫等。以下分享Azure訂閱的兩種管理。

熟悉Azure平臺的讀者都知道,Microsoft Azure服務(wù)管理,分為三個(gè)層次:

1.企業(yè)服務(wù)合同(Enterprise Agreement)

2.訂閱(Subscription),在1個(gè)企業(yè)服務(wù)合同下,可以創(chuàng)建無數(shù)多個(gè)訂閱,訂閱之間的資源是互相隔離的。

3.資源組(Resource Group),在1個(gè)訂閱下,可以創(chuàng)建無數(shù)個(gè)資源組。

通過資源組,我們可以設(shè)置RBAC(Role Base Access Control)。設(shè)置對資源的訪問權(quán)限,比如只讀,可讀寫等。

有關(guān)RBAC的內(nèi)容,可以參考我的blog:

Azure ARM(16)基于角色的訪問控制(Role Based Access Control,RBAC)-使用默認(rèn)的Role

Azure ARM(17)基于角色的訪問控制(Role Based Access Control,RBAC)-自定義Role

這里多提一句,我們可以針對每個(gè)一個(gè)資源(Resource)設(shè)置標(biāo)簽(TAG),也就是增加備注。

比如創(chuàng)建的時(shí)間,項(xiàng)目所屬部門,負(fù)責(zé)人,成本中心,操作人,審核人,版本號等等,一個(gè)資源可以設(shè)置15個(gè)標(biāo)簽(TAG)

從我的客戶使用Azure來說,對于訂閱的管理分為兩種:

一.以項(xiàng)目來區(qū)分訂閱的,比如1個(gè)項(xiàng)目創(chuàng)建一個(gè)訂閱。如下圖所示:

ia_6200000003.jpg

簡單說明一下上圖的設(shè)計(jì):

1.我們的設(shè)計(jì)思路是1個(gè)項(xiàng)目1個(gè)訂閱

2.在不同的訂閱里面,分別創(chuàng)建不同的Virtual Network,且保證IP Range不能重疊

3.設(shè)置公用的Express Route Gateway,這個(gè)Express Route Gateway通過專線鏈接到IDC

4.如果不同的訂閱項(xiàng)目,需要通過內(nèi)網(wǎng)互相訪問,則設(shè)置不同訂閱之間的VNet Peering

5.如果不同的訂閱項(xiàng)目,需要鏈接到內(nèi)網(wǎng)IDC的資源,則設(shè)置不同訂閱,到Shared ER Gateway之間的VNet Peering

這樣管理的優(yōu)點(diǎn)是:

1.管理簡單。

當(dāng)我們新上一個(gè)項(xiàng)目的時(shí)候,只要EA賬戶的管理員創(chuàng)建1個(gè)新的訂閱和對應(yīng)的賬戶即可。

而且Azure EA Portal(http://ea.windowsazure.cn),是可以按照訂閱進(jìn)行成本拆分的。

但是這樣的管理方式,還是有缺點(diǎn)的:

1.需要在每個(gè)不同的訂閱,設(shè)置Virtual Network的Private IP Range

如上圖所示,我們需要IT Admin預(yù)先設(shè)置Virtual Network的Private IP Range。比如A項(xiàng)目的Virtual Network IP Range為172.0.0.0/24,B項(xiàng)目的VNet IP Range為172.0.1.0/24

因?yàn)椴渴鹪谠贫说捻?xiàng)目在一開始可能不需要通過內(nèi)網(wǎng)進(jìn)行互通互聯(lián),但是后期需要進(jìn)行內(nèi)網(wǎng)互通。

比如在A訂閱里面是CRM系統(tǒng),在B訂閱里面是訂單系統(tǒng)。就要通過A訂閱的內(nèi)網(wǎng)鏈接(VNet Peering)到B訂閱的內(nèi)網(wǎng)。

如果我們使用Azure Virtual Network默認(rèn)的IP Range 10.0.0.0/24就完蛋了,因?yàn)閮蓚€(gè)相同IP Range的Virtual Network無法設(shè)置VNet Peering

2.VNet Peering會增加額外的成本

根據(jù)Azure China官網(wǎng)價(jià)格,VNet Peering的成本為:入站數(shù)據(jù)傳輸為每GB 0.065元,出站數(shù)據(jù)傳輸為每GB 0.065元

3.項(xiàng)目越多,VNet Peering的連接線會越多

大家想象一下,如果我有50個(gè)訂閱,每個(gè)訂閱有1個(gè)VNet。如果這50個(gè)訂閱的VNet都要設(shè)置VNet Peering,代價(jià)是非常大的。

4.有潛在的安全風(fēng)險(xiǎn)

因?yàn)橛嗛喪侵苯佑身?xiàng)目負(fù)責(zé)人來進(jìn)行維護(hù)的,如果這些項(xiàng)目負(fù)責(zé)人不具備相應(yīng)的IT技能(比如把端口22,3389,1433等直接暴露在Internet上),則會產(chǎn)生潛在的安全風(fēng)險(xiǎn)。

每個(gè)項(xiàng)目都需要進(jìn)行架構(gòu)設(shè)計(jì)(Architect Review)和安全審查(Security Review)。

總結(jié)如下:

ia_6200000004.jpg

另外一種訂閱的設(shè)計(jì)方式是:我只創(chuàng)建2個(gè)訂閱,1個(gè)生產(chǎn)訂閱,1個(gè)測試訂閱。如下圖:

ia_6200000005.jpg

簡單說明一下上圖的設(shè)計(jì):

1.我們只創(chuàng)建2個(gè)訂閱:Production生產(chǎn)訂閱,和Non-Production測試訂閱

2.在Production訂閱和Non-Production訂閱下,分別預(yù)先創(chuàng)建2個(gè)資源組:Public Network Resource Group和Private Network Resource Group

3.在Public Network Resource Group里面,設(shè)置面向公網(wǎng)的,虛擬網(wǎng)絡(luò)Virtual Network和對應(yīng)的Subnet。

請注意:Public Network Resource Group只對IT Admin可見

將來上新的,面向公網(wǎng)的業(yè)務(wù)。可以單獨(dú)創(chuàng)建1個(gè)以業(yè)務(wù)名稱命名的資源組(比如ProjectA-RG),把所有Azure資源都放在這個(gè)資源組里(比如ProjectA-RG)。但是(ProjectA-RG)里的虛擬機(jī),加入到Public Network Resource Group的虛擬網(wǎng)絡(luò)里

4.在Private Network Resource Group里面,設(shè)置面向內(nèi)網(wǎng)的,虛擬網(wǎng)絡(luò)的Virtual Network和對應(yīng)的Subnet

請注意:Private Network Resource Group只對IT Admin可見

將來上新的,面向內(nèi)網(wǎng)的業(yè)務(wù)??梢詥为?dú)創(chuàng)建1個(gè)以業(yè)務(wù)名稱命名的資源組(比如ProjectB-RG),把所有Azure資源都放在這個(gè)資源組里(比如ProjectB-RG)。但是(ProjectB-RG)里的虛擬機(jī),加入到Private Network Resource Group的虛擬網(wǎng)絡(luò)里

這樣管理的優(yōu)點(diǎn)是:

1.相比第一種設(shè)計(jì)思路,安全更高

IT Admin對整體項(xiàng)目負(fù)責(zé),所以不存在某個(gè)資源開啟了不安全的端口。

這里有個(gè)非常重要的概念是:我們把NSG設(shè)置到VNet的Subnet上,IT Admin對所有的Subnet負(fù)責(zé)

2.IT Admin還可以設(shè)置WAF設(shè)備和IPS設(shè)備

3.IT Admin負(fù)責(zé)整體的安全性

因?yàn)镮T Admin只管理2個(gè)訂閱,每個(gè)訂閱的Virtual Network的安全組(Network Security Group,NSG)都是由IT Admin進(jìn)行管理的

但是這樣的管理方式,還是有缺點(diǎn)的:

1.區(qū)分成本不如第一種方式簡單

因?yàn)椴煌?xiàng)目的Azure資源,都部署在同一個(gè)訂閱里。所以我們在進(jìn)行成本拆分的時(shí)候,需要對每個(gè)資源都增加標(biāo)簽TAG,通過不同的TAG進(jìn)行篩選和成本拆分。

2.IT Admin必須提用戶創(chuàng)建資源

這里有1個(gè)知識點(diǎn):

IT Admin可以管理的資源是:

(1)Public Resource Group里面的Virtual Network

(2)Private Resource Group里面的Virutal Network

(3)不同項(xiàng)目需要的資源組,比如A項(xiàng)目的資源組(里面有虛擬機(jī),SQL數(shù)據(jù),Azure Storage等等),B項(xiàng)目的資源組,C項(xiàng)目的資源組等等。

普通用戶可以管理的資源是:

(1)不同項(xiàng)目需要的資源組,比如A用戶管理A資源組,B用戶管理B資源組,C用戶管理C資源組

這樣管理的好處是:

(1)IT Admin可以看到所有的資源。

(2)普通用戶只能看到自己管理的資源,但是無法看到Public Resource Group里面的Virtual Network,還有Private Resource Group里面的Virutal Network

(3)普通用戶無法將某個(gè)虛擬機(jī)資源,從1個(gè)Subnet,遷移到另外1個(gè)Subnet。因?yàn)閂irutal Network對用戶不可見。

3.訂閱有限制

根據(jù)Azure文檔:https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits

我們把所有資源都創(chuàng)建在1個(gè)訂閱下,會遇到訂閱的限制

4.如果我們已經(jīng)采用第一種方案(1個(gè)項(xiàng)目1個(gè)訂閱),在遷移到第二種方案的時(shí)候。需要對現(xiàn)有資源進(jìn)行整合

這樣會增加額外的遷移成本

總結(jié)如下:

ia_6200000006.jpg

特別說明,針對上面的Azure訂閱設(shè)計(jì),從網(wǎng)絡(luò)安全性角度來說,我們可以通過用戶自定義路由(User Define Route,UDR)

來設(shè)置在Virtual Network內(nèi)的VM之間的數(shù)據(jù)流走向。如下圖:

ia_6200000007.jpg

上圖中,我們可以在Public Virtual Network里面設(shè)置4個(gè)3個(gè)Subnet

1.Web Subnet,用來保存面向公網(wǎng)應(yīng)用的Web Server

2.DB Subnet,用來保存面向公網(wǎng)應(yīng)用的DB Servers

3.DMZ Subnet,用來保存IPS入侵監(jiān)測VM

4.當(dāng)Web Server需要訪問DB Server的時(shí)候,所有流量都需要經(jīng)過DMZ Subnet的IPS設(shè)備,進(jìn)行流量清洗和入侵檢測

面向內(nèi)網(wǎng)的Private Virtual Network的設(shè)計(jì)也是相類似的。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于博客園,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對觀點(diǎn)贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個(gè)人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家