本文將示範如何利用管理叢集 API 來配置 Azure Kubernetes Service (AKS) 的閘控部署。 你也可以用 Helm 安裝 Defender for Containers 感測器。
閘控部署會使用准入控制器來評估容器映像檔,然後才將它們放入 Kubernetes 叢集。 對於 AKS,閘控部署代理需要對叢集使用的 Azure Container Registry(ACR)有讀取權限,才能存取 Microsoft Defender for Containers 產生的漏洞發現資料。
在使用受管理叢集 API 設定門檻部署之前,先啟用 AKS 叢集與 ACR 所需的 Defender for Containers 元件。
為提供所需的 ACR 存取,建立使用者指派的管理身份,對相關 ACR 賦予讀取權限,設定聯邦身份憑證,並在受管理叢集 API 中引用該管理身份。
Prerequisites
在開始之前,請確保:
你有 Microsoft Azure 訂閱。 如果您沒有 Azure 訂用帳戶,您可以註冊免費訂用帳戶。
適用於雲端的 Defender 已啟用於你的 Azure 訂閱。
已針對包含 AKS 叢集和 Azure Container Registry (ACR) 的 Azure 訂閱啟用適用於容器的 Defender,並啟用下列元件:
- Defender 感應器搭配安全閘控
- 登錄存取搭配安全性發現
你的 AKS 群組有:
建立並指派使用者指派的管理身份的權限。
允許對叢集使用的所有 ACR 指派 AcrPull 角色或等效的讀取角色。
設定受控識別
請執行以下步驟來配置受控身份以進行門控部署:
在 MSI 中新增一個聯邦身份憑證(FIC),允許門控部署代理使用 AKS 工作負載身份驗證,並具備以下 FIC 參數:
- 發行者:AKS OIDC 發行者網址
-
主旨:由門控部署代理
system:serviceaccount:kube-system:defender-admission-controller-serviceaccount使用的服務帳號。 -
觀眾:
api://AzureADTokenExchange
在受控叢集 API 組態的 securityGating 區段底下,於受控叢集 API 組態的安全閘控區段底下,設定身分識別參數中 MSI 的 objectId。
在身份參數中設定 MSI
objectId,確保門控部署代理能在執行時使用 MSI。