接下來,咱們開始以實操的方式體驗下Blueprint,Blueprint的一大特色就是使用 Azure 藍圖,藍圖定義(應該部署的對象)和藍圖分配(已部署的對象)之間的關係仍然存在 。 此鏈接支持改進部署的跟蹤和審覈。 Azure 藍圖也能一次性升級由同一藍圖管理的多個訂閱。微信
也就是說使用Blueprint進行部署以後,blueprint的定義和已部署的資源仍然是存在關聯的,若是修改了blueprint的定義,那麼部署的資源也會產生相應的變化,此次的博客內容也是用來體現這一點的,在部署以前,首先來看下blueprint對權限的要求app
做爲用戶來講,若是想操做blueprint,須要具備如下權限才能夠ide
要建立藍圖,賬戶須要如下權限:3d
Microsoft.Blueprint/blueprints/write - 建立藍圖定義對象
Microsoft.Blueprint/blueprints/artifacts/write - 在藍圖定義上建立項目blog
Microsoft.Blueprint/blueprints/versions/write - 發佈藍圖圖片
要刪除藍圖,賬戶須要如下權限:資源
Microsoft.Blueprint/blueprints/delete部署
Microsoft.Blueprint/blueprints/artifacts/delete博客
Microsoft.Blueprint/blueprints/versions/delete
要分配或取消分配藍圖,賬戶須要如下權限:
Microsoft.Blueprint/blueprintAssignments/write - 分配藍圖
Microsoft.Blueprint/blueprintAssignments/delete - 取消分配藍圖
另一方面,在部署資源時,咱們實際上並非使用操做用戶的權限來部署的,而是一個獨立的AAD中的application
在Portal上進行Blueprint部署時,這個應用程序會被臨時授予訂閱的owner權限,部署完成後,權限會被回收
與藍圖相關的操做能夠分爲三類:
定義:定義藍圖的內容,包括RBAC,Policy,資源部署等
發佈:定義完成後,藍圖自動進入草稿狀態,只有發佈以後藍圖才能夠進行分配
分配:將藍圖定義應用在必定範圍內,至關於實際部署資源
具體能夠參考這個連接
https://docs.microsoft.com/zh-cn/azure/governance/blueprints/concepts/lifecycle?WT.mc_id=AZ-MVP-5001235
下邊就來實際演示下:
Blueprint實際在Azure Global和中國區均可以使用,此次的演示環境用的是Global
首先建立一個Blueprint模板
能夠看到,在Global有不少藍圖模板可供選擇,選擇security benchmark試試
定義好blueprint的名稱
在artifacts這裏能夠看到security benchmark其實就是定義了一組Azure Policy
嘗試添加一個artifact,首先建一個Resource Group
接下來建一個Role Assignment, assign一個contributor role
咱們簡單定義這麼一個blueprint就好,以後就能夠發佈了
選中Blueprint, 選擇發佈,輸入對應的版本號和變動記錄
以後進行藍圖的分配
選擇好要分配的訂閱
以前添加項目的時候,須要的參數都得寫上
寫好以後,直接assign便可,能夠看到資源組已經建出來了
Blueprint和資源之間是有聯繫的,修改Blueprint,資源也會發生變化
嘗試在原有Blueprint定義中,添加一個storage account的ARM Template
將這個新版本發佈出去
選擇update blueprint
選擇1.2版本
填寫storage相關內容
能夠看到activity log
能夠看到Storage已經出來了