DevOps 工具的角色型存取控制
當您為基礎結構部署部署雲端式解決方案時,安全性應該一律是您最重要的考慮。 Microsoft 會保護基礎雲端基礎結構的安全。 您可以在 Azure DevOps 或 GitHub 中設定安全性。
必要條件
決定要部署的 Azure 登陸區域範本之後,請將範本複製到您自己的存放庫。 設定 CI/CD 管線。 針對 GitHub 和 Azure DevOps,有數個可用的驗證方法,例如個人存取權杖(PAT),並與身分識別提供者整合,例如 Microsoft Entra ID。 如需詳細資訊,請參閱 使用個人存取權杖 。
建議您與 Microsoft Entra ID 整合,以使用其所有功能。 整合可協助您簡化角色指派流程和身分識別生命週期管理。 如需詳細資訊,請參閱 將組織連線至 Microsoft Entra ID 。 如果您使用 GitHub,請考慮 整合 GitHub Enterprise 與 Microsoft Entra ID 。
一般設計考慮
建議您嚴格控制跨 Microsoft Entra ID 和 DevOps 工具的系統管理員和服務帳戶群組。 請考慮在所有角色指派中實作最低許可權原則。
例如,您的組織可能有一個平臺或雲端卓越小組,可維護 Azure 登陸區域的 Azure Resource Manager 範本。 將該小組上的使用者指派給 Microsoft Entra 識別碼中的安全性群組,假設您將它當作識別提供者使用。 在 DevOps 工具中將角色指派給該安全性群組,讓這些使用者可以執行其工作。
對於 Active Directory 中的任何系統管理員或高度特殊許可權帳戶,我們建議認證不會同步處理至 Microsoft Entra ID,反之亦然。 這種方法可減少橫向移動的威脅。 如果 Microsoft Entra 識別碼中的系統管理員遭到入侵,攻擊者將無法輕鬆存取任何雲端資產,例如 Azure DevOps。 該帳戶無法在 CI/CD 管線中插入惡意工作。 對於任何在 DevOps 環境中指派較高許可權的使用者來說,此步驟特別重要,例如 Build 或 Project/Collection 管理員istrators。 如需詳細資訊,請參閱 Microsoft Entra ID 中的安全性最佳做法。
Azure DevOps 角色型存取考慮
使用組織/集合、專案或物件層級的安全性群組、原則和設定來管理 Azure DevOps 中的安全性。 若要與 Microsoft Entra ID 等身分識別提供者整合,請考慮建立 條件式存取原則來強制所有使用者 進行多重要素驗證。 原則可讓您存取 Azure DevOps 組織,以及 IP 位址、用於存取的裝置類型,以及裝置合規性的更細微限制。
對於管理 Azure 登陸區域的平臺小組中大部分的小組成員, 基本 存取層級和 參與者 預設安全性群組應該提供足夠的存取權。 參與者安全性群組可讓他們編輯存放庫中的 Azure 登陸區域範本,以及驗證和部署它們的 CI/CD 管線。
我們建議您將平臺小組指派給 Azure DevOps 專案層級的參與者安全性群組。 此方法遵循最低許可權原則。 這些工作分派可以透過如下所示的 [專案設定 ] 頁面來完成。
Azure DevOps Projects 和組織的另一個最佳做法是盡可能停用繼承。 使用者繼承其安全性群組指派所允許的許可權。 由於繼承的允許預設本質,非預期的使用者可以取得存取權或許可權。
例如,如果您指派平臺小組參與者安全性群組成員資格,請在 Azure 登陸區域存放庫上確認其許可權。 您應該有分支原則,以確認安全性群組不允許在提取要求期間略過這些原則。 確認 Project 設定 > Repositories 底下的 此設定。
將許可權指派給使用者之後,請定期檢閱稽核事件,以監視和回應系統管理員和其他使用者的非預期使用模式。 首先,建立 Log Analytics 工作區 的稽核串流。 如果您的工作區使用 Microsoft Sentinel,請建立分析規則來提醒您注意值得注意的事件,例如不當使用許可權。
如需詳細資訊,請參閱以下資源:
GitHub 角色型存取考慮
如果您的主要 DevOps 工具是 GitHub,您可以將存放庫層級、小組層級或組織層級的角色授與使用者對資源的存取權。 在分叉 Azure 登陸區域存放庫並與身分識別提供者整合之後,例如 Microsoft Entra ID,請考慮在 GitHub 中建立小組。 指派該小組 對新 Azure 登陸區域存放庫的寫入 許可權。 對於大部分平臺小組成員,誰修改和部署登陸區域,寫入權限應該就已足夠。 對於小組中的專案經理或 Scrum 管理員,您可能需要將 維護 角色指派給該存放庫。
建議您透過整合式身分識別提供者管理所有這些角色指派。 例如,您可以同步處理您在 GitHub 中建立的 Azure 登陸區域存放庫平臺小組,以及 Microsoft Entra 識別碼中對應的平臺小組安全性群組。 然後,當您將成員新增或移除至 Microsoft Entra 安全性群組時,這些變更會反映在 GitHub Enterprise Cloud 角色指派中。
注意
將特定 GitHub 小組連線到整合式身分識別提供者之後,您就只能透過該提供者管理小組成員資格。
下一步
如需在 GitHub 中管理角色和小組的詳細資訊,請參閱下列資源: