使用 Microsoft365DSC 和 Azure DevOps 管理 Microsoft 365 租用戶設定

Azure DevOps
Azure 金鑰保存庫
Azure Windows 虛擬機器
Microsoft 365

此處所述的解決方案會追蹤服務管理員所做的變更,並將核准程式新增至 Microsoft 365 租使用者的部署。 它可協助您防止對 Microsoft 365 租用戶進行未追蹤的變更。 它也有助於防止多個 Microsoft 365 租用戶之間的設定漂移。

架構

此圖顯示自動化 Microsoft 365 租使用者設定變更的架構。

下載此架構的 Visio 檔案

工作流程

  1. 管理員 1 新增、更新或刪除 Microsoft 365 配置檔 管理員 1 分支中的專案。
  2. 管理員 1 認可,並將變更同步至 管理員 1 的分支存放庫。
  3. 管理員 1 會建立提取要求 (PR), 以將變更合併至主要存放庫。
  4. 建置管線會在PR上執行。
  5. 管理員 檢閱程式代碼並合併PR。
  6. 合併的 PR 會觸發管線來編譯 Managed 物件格式 (MOF) 檔案。 管線會呼叫 Azure 金鑰保存庫,以擷取 MOF 中使用的認證。
  7. 多階段管線中的 Azure PowerShell 工作會使用已編譯的 MOF 檔案,透過 Microsoft365DSC 部署組態變更。
  8. 管理員 驗證分段 Microsoft 365 租使用者中的變更。
  9. 管理員 會從生產 Microsoft 365 租使用者 Azure DevOps 中的核准程式取得通知。 管理員 核准或拒絕變更。

元件

  • Azure Pipelines 可讓持續整合 (CI) 和持續傳遞 (CD) 測試及建置您的程式碼,並將其寄送至任何目標。
  • Azure 金鑰保存庫 可改善令牌、密碼、憑證、API 金鑰和其他秘密的記憶體安全性。 它也提供對這些秘密的嚴格控制存取。
  • Microsoft365DSC 透過 PowerShell DSC 提供 Microsoft 365 租使用者的部署、設定和監視自動化。
  • Windows PowerShell DSC 是 PowerShell 中的管理平臺。 您可以使用它來管理開發基礎結構,方法是使用組態即程序代碼模型。

替代項目

在下一個步驟中,您可以使用 Azure 自動化 中的 DSC,將組態儲存在中央位置,並新增符合所需狀態的報告。

此架構會使用 金鑰保存庫 來儲存用於向 Microsoft 365 租使用者驗證的 Azure App 服務 憑證或用戶認證。 金鑰保存庫 提供延展性。 或者,您可以使用管線變數來減少解決方案的複雜性。

案例詳細資料

許多公司都採用 DevOps 做法,並想要將這些做法套用至其 Microsoft 365 租使用者。 如果您未採用適用於 Microsoft 365 的 DevOps,可能會遇到一些常見問題:

  • 設定錯誤
  • 追蹤設定變更的挑戰
  • 租使用者修改沒有核准程式

您可以使用本文所述的解決方案,使用 Azure DevOpsMicrosoft365DSC 將 Microsoft 365 租使用者設定的變更自動化。 Microsoft365DSC 是 PowerShell Desired 狀態設定 (DSC) 模組。 您可以使用它,以真正的 DevOps 樣式設定及管理 Microsoft 365 租用戶:設定為程式代碼。

潛在的使用案例

此解決方案可協助您使用DevOps工具和做法,以受控且自動化的方式管理 Microsoft 365 租使用者設定:

  • 開發、測試、驗收和生產環境。
  • 多個客戶租使用者,如受控服務提供者案例所示。

考量

這些考慮會實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework

大部分開始使用PowerShell DSC的人都會發現需要一段時間才能瞭解它。 如果您對 PowerShell 有紮實的瞭解,以及建立腳本的體驗,它很有説明。

Operations

某些作業小組會將 Azure DevOps 視為開發人員的工具。 但是,這些小組可以受益於使用 Azure DevOps。 工作小組可以:

  • 將其文本儲存在存放庫中,並新增原始檔控制和版本控制。
  • 自動部署腳本。
  • 使用面板來追蹤工作、專案等等。

使用組態即程序代碼模型不是一次性工作。 這是您工作方式的轉變,對於所有小組成員來說都是一個根本的改變。 您不再手動進行變更。 相反地,所有項目都會在腳本中實作,並自動部署。 所有小組成員都必須具備進行這項變更的技能。

延展性

當您使用多個環境、多個工作負載和/或多個小組時,可以使用此解決方案。 您可以設定驗證程式,讓專家需要核准每個工作負載。 您也可以針對開發/測試/接受/生產案例和/或多個組織,擴充解決方案以部署至多個租使用者。

若要進一步提高延展性,您可以使用 Datum匯總組態數據解決方案。

安全性

大部分的 Microsoft365DSC 資源都支援透過使用者名稱和密碼進行驗證。 但我們不建議使用該類型的驗證,因為 Microsoft 最佳做法建議多重要素驗證。 應用程式認證是慣用的方法,其中 Microsoft 365 資源支援。 例如,SharePoint Online、Microsoft Entra ID 和其他資源支援應用程式認證。

如果您在 Azure DevOps 上建置 Microsoft365DSC 解決方案,您也可以利用 Azure Pipelines 中的安全性,以及保護部署至生產租使用者的核准程式

DevOps

您可以在 Azure DevOps Server 中執行此解決方案。 您可以使用 GitHub Actions 在 GitHub 中建立類似的解決方案。

成本最佳化

成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化要素概觀。

如需 Azure DevOps 定價資訊,請參閱 Azure DevOps 的定價。 如果您將 金鑰保存庫 併入解決方案中,您可以在這裡找到定價資訊。

您也可以使用 Azure 定價計算機 來預估成本。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

下一步