整合 Azure Machine Learning 和 DevOps 工具
想像一下,您與資料科學小組合作處理機器學習專案。 您的小組可選擇使用 Azure DevOps 或 GitHub 規劃工作、儲存程式碼存放庫,並將工作流程自動化。
使用任一組工具時通常會有兩腫角色:
- 系統管理員:設定 DevOps 環境並管理工具。
- 終端使用者:藉由共同作業開發來參與專案。 連線至工具,但已限制存取 DevOps 環境設定。
系統管理員負責將 Azure Machine Learning 連線至 Azure DevOps 或 GitHub。 若要瞭解與 Azure Machine Learning 整合的設定方式,讓我們來探索系統管理員如何安全地將 Azure DevOps 和 GitHub 連線至 Azure Machine Learning。
設定 Azure DevOps
若要將 Azure DevOps 連線至 Azure Machine Learning,您必須先建立組織及專案。 您會使用組織來分組及管理專案。
首先,請使用 Microsoft GitHub 帳戶登入 Azure DevOps。
登入後即可建立組織。
在組織中可建立多項專案。
您可在每項專案中使用如版面、存放庫及 Pipelines 等工具,並套用 DevOps 準則。
將 Azure DevOps 連線至 Azure Machine Learning
若要從 Azure DevOps 安全存取 Azure Machine Learning 工作區,您必須建立服務連線。
當您建立服務連線時,會定義如何驗證 Azure DevOps 並連線至另一個服務。 當您使用 Azure Machine Learning 時,建議選項為讓 Azure DevOps 為您建立服務主體。
服務主體會在 Microsoft Entra ID 中建立為身分識別。 Azure DevOps 會使用服務主體認證連線至 Azure Machine Learning,而並非使用小組成員的認證。
建立 Azure DevOps 專案時,您可以連線至現有的 Azure Machine Learning 工作區:
- 在專案中,前往 [專案設定]。
- 選取 [服務連線],並建立新連線。
- 選擇 [Azure Resource Manager]。
- 選擇使用 [自動服務主體] 進行驗證。
- 將範圍層級設定為 Machine Learning 工作區,並連線至您有存取權的現有 Azure Machine Learning 工作區。
- 授與所有管線的存取權限。
- 為您的服務連線命名。 每當您需要驗證 Azure DevOps 來管理 Azure Machine Learning 工作區時,都會使用此名稱。
建立服務連線之後,您會發現新建立的服務主體具備您 Azure Machine Learning 工作區的參與者存取權。
設定 GitHub
若要與 GitHub 與 Azure Machine Learning 連線,必須先建立 GitHub 存放庫。
首先請登入 GitHub。
登入 GitHub 後,您可選擇想要以個人身分擁有存放庫,或是應由 GitHub 組織擁有存放庫。
提示
深入瞭解如何使用 GitHub 組織管理存放庫。
使用 Azure Machine Learning 連線至 GitHub
若要使用 GitHub 將機器學習工作流程自動化,可驗證 GitHub 以便與 Azure Machine Learning 連線。 若要設定安全連線,需採取以下行動:
- 在 Azure 中建立服務主體。
- 將服務主體的認證新增至存放庫秘密。
若要建立服務主體,您可以使用 Azure CLI。 若要使用 CLI,其中一個選項為在 Azure Cloud Shell 中提交命令。
您可以使用下列命令建立名為 github-aml-sp
的服務主體,該主體將獲得對 Azure Machine Learning 工作區的參與者存取權限:
az ad sp create-for-rbac --name "github-aml-sp" --role contributor \
--scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name> \
--sdk-auth
建立服務主體後,作為輸出的 JSON 文本會傳回給您,其中包括 GitHub 連線至 Azure 資源群組所需的認證。 複製 JSON 文字並儲存以供下個步驟使用。
如何將這些認證儲存於 GitHub:
- 前往存放庫的 [設定]。
- 瀏覽至 [秘密] 頁面。
- 選取動作。
- 新增新存放庫秘密。
- 輸入
AZURE_CREDENTIALS
作為名稱。 - 以該認證在輸出的 JSON 中貼上,並新增秘密。
將密碼新增至 GitHub 後,每當您需要對 GitHub 驗證並使用 Azure Machine Learning 工作區時,即可使用此 AZURE_CREDENTIALS
秘密。
提示
請繼續學習整合 GitHub 與 Azure Machine Learning,並探索如何搭配 Azure Machine Learning 使用 GitHub Actions。 本教學課程會使用 AZURE_CREDENTIALS
秘密與 Azure 連線。