本文說明追蹤服務管理員所做的變更,並將核准程式新增至部署至Microsoft 365 個租用戶的解決方案。 它可協助您防止Microsoft 365 個租使用者的未追蹤變更,並防止多個Microsoft 365 租用戶之間的設定漂移。
架構
下載此架構的 Visio 檔案。
工作流程
- 系統管理員 1 會在 Microsoft 365 組態檔的 Admin 1 分支中新增、更新或刪除專案。
- 管理員 1 認可並同步處理管理員 1 分支存放庫的變更。
- 管理員 1 會建立提取要求 (PR) ,以將變更合併至主要存放庫。
- 建置管線會在 PR 上執行。
- 系統管理員會檢閱程式代碼並合併PR。
- 合併的 PR 會觸發管線來編譯受控物件格式 (MOF) 檔案。 管線會呼叫 Azure 金鑰保存庫,以擷取 MOF 檔案中使用的認證。
- 多階段管線中的 Azure PowerShell 工作會使用已編譯的 MOF 檔案,透過 Microsoft365DSC 部署設定變更。
- 系統管理員會驗證暫存Microsoft 365 租使用者中的變更。
- 系統管理員會收到來自 Azure DevOps 中生產 Microsoft 365 租用戶核准流程的通知。 系統管理員核准或拒絕變更。
元件
- Azure Pipelines 是 Azure DevOps 服務,可用於持續整合和持續傳遞 (CI/CD)。 使用 Azure Pipelines 來測試及建置您的程式代碼,並將其寄送至任何目標。 您也可以使用 Azure Pipelines 來實作質量閘道,以協助確保您以受控制且一致的方式部署變更。
- 金鑰保存庫 可改善令牌、密碼、憑證、API 金鑰和其他秘密的記憶體安全性。 此功能也提供對這些秘密的嚴格控制存取。 使用 金鑰保存庫 來儲存您用來將組態變更部署至 Microsoft 365 租使用者的服務主體和憑證。
- Microsoft365DSC 透過 PowerShell 預期階段設定 (DSC ) 為Microsoft 365 租使用者的部署、設定和監視提供自動化。 使用 Microsoft365DSC 透過 Azure Pipelines 將設定變更部署至Microsoft 365 個租使用者。
- Windows PowerShell DSC 是 PowerShell 中的一個管理平台。 您可以用來管理開發基礎結構,方法是使用設定即程式碼模型。 此模型是 Microsoft365DSC 使用的基礎技術。
替代項目
您可以使用 Azure 自動化中的 DSC,將設定儲存在中央位置,並新增符合所需狀態的合規性報告。
此架構會使用 Key Vault 來儲存用於對 Microsoft 365 租用戶進行驗證的 Azure App Service 憑證或用戶認證。 Key Vault 提供延展性。 或者,您可以使用管線變數來降低解決方案的複雜性。 藉由使用適用於 Windows 和 DSC 的 Azure 虛擬機(VM),您可以將設定套用和監視至使用 Microsoft365DSC 的 365 租使用者Microsoft。 當 Azure Windows VM 使用 Microsoft 365DSC 偵測到設定漂移時,您可以使用 Azure 動作群組 將電子郵件傳送給 Microsoft 365 系統管理員。 此外,Azure 動作群組可以執行 Webhook 來觸發 Azure Runbook ,以產生 Microsoft 365 租使用者內的設定漂移報告 。
案例詳細資料
許多公司都採用 DevOps 做法,並想要將這些做法套用至其 Microsoft 365 租用戶。 如果您未針對 Microsoft 365 採用 DevOps,可能會遇到一些常見問題:
- 設定錯誤
- 追蹤設定變更的挑戰
- 租用戶修改沒有核准流程
您可以使用本文所述的解決方案,使用 Azure DevOps 和 Microsoft365DSC 將 Microsoft 365 租用戶設定的變更自動化。 Microsoft365DSC 是 PowerShell DSC 模組。 您可以使用它,以真正的 DevOps 樣式設定及管理Microsoft 365 個租使用者,其設定為程式代碼。
潛在使用案例
此解決方案可協助您使用DevOps工具和做法,以受控制且自動化的方式管理Microsoft 365租使用者設定:
- 開發、測試、接受和生產環境。
- 多個客戶租使用者,例如受控服務提供者案例。
考量
這些考量能實作 Azure Well-Architected Framework 的支柱,其為一組指導原則,可以用來改善工作負載的品質。 如需更多資訊,請參閱 Microsoft Azure 結構完善的架構。
大部分開始使用 PowerShell DSC 的人都會發現,需要一段時間才能學會。 如果您對 PowerShell 有紮實的瞭解,以及建立腳本的體驗,將會很有幫助。
安全性
安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性的設計檢閱檢查清單。
大部分的 Microsoft365DSC 資源都支援透過使用者名稱和密碼進行驗證。 不建議使用該類型的驗證,因為Microsoft最佳做法建議多重要素驗證。 如果Microsoft 365 個資源支持它們,則應用程式認證是慣用的方法。 Microsoft 365、Microsoft Entra ID 和其他資源的 SharePoint 支援應用程式認證。
如果您在 Azure DevOps 上建置 Microsoft365DSC 解決方案,您也可以利用 Azure Pipelines 中的安全性以及核准流程,保護對生產租用戶的部署。
成本最佳化
成本最佳化是關於考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱成本最佳化的設計檢閱檢查清單。
有關 Azure DevOps 定價資訊,請參閱 Azure DevOps 定價。 如果您將 金鑰保存庫 併入解決方案,請參閱 金鑰保存庫 定價。
您也可以使用 Azure 定價計算機估算成本。
卓越營運
卓越營運涵蓋部署應用程式並使其持續在生產環境中執行的作業流程。 如需詳細資訊,請參閱卓越營運的設計檢閱檢查清單。
某些作業小組會將 Azure DevOps 視為開發人員的工具。 但是,這些小組可以使用 Azure DevOps 而受益。 作業小組可以:
- 將其文本儲存在存放庫中,並新增原始檔控制和版本控制。
- 自動部署腳本。
- 使用面板來追蹤工作和專案。
使用設定即程式碼模型不是一次性的工作。 這是工作方式的轉變,對於所有小組成員來說都是根本的改變。 您不用再手動進行變更。 相反地,所有項目都會在腳本中實作,並自動部署。 所有小組成員都必須具備進行這項變更的技能。
效能效率
效能效率可讓您的工作負載進行調整,以有效率的方式符合使用者對其放置的需求。 有關詳細資訊,請參閱效能效率的設計審核清單。
當您使用多個環境、多個工作負載或多個小組時,可以使用此解決方案。 您可以設定驗證流程,讓專家在需要時核准每個工作負載。 您也可以擴充解決方案,以針對案例部署到多個租使用者,包括開發、測試、接受和生產案例,或針對多個組織。
部署此案例
Microsoft 365 DSC 白皮書: 使用 Microsoft365DSC 和 Azure DevOps 以真實 DevOps 樣式管理Microsoft 365,提供部署此案例的詳細步驟。
參與者
本文目前由 Microsoft 維護。 原始投稿人如下。
主要作者:
- Derek Smay | 資深雲端解決方案架構設計師
下一步
- 使用 Microsoft365DSC 和 Azure DevOps,以真正的 DevOps 樣式管理 Microsoft 365
- Microsoft365DSC 原始程式碼
- Microsoft365DSC YouTube 頻道
- Microsoft365DSC 網站
- Microsoft365DSC 匯出產生器工具