本文說明如何使用 Helm 在 AKS、EKS 和 GKE 叢集上安裝及設定適用於容器的 Microsoft Defender 感測器。 您將瞭解必要條件、啟用 Defender for Containers,以及不同環境的逐步部署指南。
一般必要條件
請確定符合適用於容器的 Defender 感測器的所有必要條件需求,如 Defender 感測器網路需求中所述。
步驟 1:啟用容器防護者
如果您的適用於容器的 Defender 方案尚未啟用,請遵循下列步驟:
在 Azure 入口網站中,移至 Microsoft Defender for Cloud,然後選擇包含您要安裝 Helm 圖表之叢集的訂用帳戶。 在 EKS 和 GKE 中,選取具有這些叢集的環境(具有叢集的 EKS 或 GKE 帳戶的安全性連接器)。
在 [雲端工作負載保護平臺][CWPP] 下,尋找 [容器 ] 方案,並將切換設定為 [開啟]。
在 [容器] 計劃旁,選取 [設定]。
在 [ 設定與監視] 窗格中,確定下列切換設定為 [開啟] :
- Defender 感測器
- 安全性結果
- 註冊表存取
現在您已準備好使用 Helm 來設定適用於容器的 Defender 容器感應器。
步驟 2:安裝感應器 Helm 圖表
僅適用於 AKS 自動
執行以下指令以啟用 AKS 自動操作:
# Update Azure CLI to the latest version
az upgrade
# If you don't have the AKS preview extension installed yet
az extension add --name aks-preview
# Update the AKS extension specifically
az extension update --name aks-preview
安裝先決條件
Helm >= 3.8 (OCI 支援已正式發行)
目標叢集 (AKS) 或安全性連接器 (EKS 或 GKE) 的資源群組擁有者角色
目標叢集的 Azure 資源識別碼
備註
使用下列命令來根據
<SUBSCRIPTION_ID>和<RESOURCE_GROUP>生成您的 AKS 叢集 Azure 資源識別碼清單:az aks list \ --subscription <SUBSCRIPTION_ID> \ --resource-group <RESOURCE_GROUP> \ --query "[].id" \ -o tsv
AKS
安裝感測器之前,請先移除任何 衝突的原則。 這些原則指派會導致您的叢集上部署感應器的 GA 版本。 您可以在原則 - Microsoft Azure 找到訂用帳戶的原則定義清單。 衝突原則的標識碼為 64def556-fbad-4622-930e-72d1d5589bf5。
執行下列文本以使用 Azure CLI 移除它們:
delete_conflicting_policies.sh (英文)
使用 命令執行文稿:
delete_conflicting_policies.sh <CLUSTER_AZURE_RESOURCE_ID>
備註
此指令碼會移除用於設定適用於容器的 Defender GA 版本的資源群組及訂用帳戶層級原則,可能會影響您正在設定目標叢集以外的其他叢集。
下列腳本會安裝適用於容器的 Defender 感測器(如果存在,則會移除任何現有的部署):
install_defender_sensor_aks.sh (英文)
使用 命令執行文稿:
install_defender_sensor_aks.sh <CLUSTER_AZURE_RESOURCE_ID> <RELEASE_TRAIN> <VERSION>
在下列命令中,以您自己的值取代佔位元文字 <CLUSTER_AZURE_RESOURCE_ID>、 <RELEASE_TRAIN>和 <VERSION> 。 針對公開預覽版本使用 「公用」(0.9.x)。 針對 <VERSION>,請使用 'latest' 或特定的語意版本。
備註
此腳本會設定新的 kubeconfig 內容,而且可能會在您的 Azure 帳戶中建立 Log Analytics 工作區。
EKS/GKE
下列腳本會安裝適用於容器的 Defender 感測器(如果存在,則會移除任何現有的部署):
install_defender_sensor_mc.sh (英文)
將 kubeconfig 內容設定為目標叢集,並使用 命令執行文稿:
install_defender_sensor_mc.sh <SECURITY_CONNECTOR_AZURE_RESOURCE_ID> <RELEASE_TRAIN> <VERSION> <DISTRIBUTION> [<ARC_CLUSTER_RESOURCE_ID>]
在下列命令中,將佔位元文字 <SECURITY_CONNECTOR_AZURE_RESOURCE_ID>、 <RELEASE_TRAIN>、 <VERSION>、 <DISTRIBUTION>和 <ARC_CLUSTER_RESOURCE_ID> 取代為您自己的值。 請注意,ARC_CLUSTER_RESOURCE_ID是選擇性參數,僅適用於使用容器Defender Arc延伸模組的現有叢集,並希望透過Helm布建感測器,或者使用Arc叢集並希望透過Helm布建感測器。
針對 <SECURITY_CONNECTOR_AZURE_RESOURCE_ID>:
設定 AWS 或 GCP 帳戶的安全性連接器
備註
若要在 EKS 或 GKE 叢集上安裝 Helm Chart,請確定叢集帳戶已連線到 Microsoft Defender for Cloud。 請參閱 連線 AWS 帳戶 或 連線您的 GCP 專案。
取得其 Azure 資源識別碼
備註
若要在 EKS 或 GKE 叢集上安裝 Helm 圖表,您需要叢集所屬帳戶的安全性連接器資源識別碼。 執行 az resource show CLI 命令以取得此值。
例如:
az resource show \ --name <connector-name> \ --resource-group <resource-group-name> \ --resource-type "Microsoft.Security/securityConnectors" \ --subscription <subscription-id> \ --query id -o tsv在這裡範例中,以您的值取代佔位元文字
<connector-name>、<resource-group-name>和<subscription-id>。
針對公開預覽版本使用 「公用」(0.9.x)。 針對 <VERSION>,請使用 'latest' 或特定的語意版本。 針對 <DISTRIBUTION>,請使用 eks 或 gke。
備註
此腳本可能會在您的 Azure 帳戶中建立 Log Analytics 工作區。
執行下列命令來檢查安裝是否成功:
helm list --namespace mdc
[狀態] 欄位應顯示 部署。
閘道部署的安全性規則
您可以定義安全性規則,以控制允許部署到 Kubernetes 叢集的內容。 這些規則可讓您根據安全性準則封鎖或稽核容器映像,例如具有太多弱點的映像。
存取安全性規則
- 流覽至 Microsoft Defender for Cloud (MDC) 儀錶板。
- 在左側瀏覽窗格中,選取 [ 環境設定]。
- 選擇 安全規則 圖塊。
設定弱點評估規則
- 在 [安全性規則] 頁面中,流覽至 [網關部署] 區段下的 [弱點評定]。
- 視需要建立或編輯您的安全性規則。
這很重要
針對 Helm 安裝:
- 訂用帳戶支援警告:建立規則時,您選取的訂用帳戶可能會標示為「不支援網關部署」。這是因為您使用 Helm 來安裝適用於容器的 Defender 元件,而不是透過儀錶板的自動安裝。
- 略過自動安裝:如果系統提示您在安全性規則編輯視窗的第三個索引標籤中啟用閘控,請務必按 略過。 此選項會啟用自動安裝,這與您現有的 Helm 部署發生衝突。
布建感測器的現有建議
備註
如果您使用 Helm 來設定感測器, 請忽略 現有的建議。
對於 AKS:
Azure Kubernetes Service 叢集應已啟用 Defender 設定檔 - Microsoft Azure
適用於多雲端:
已啟用 Azure Arc 的 Kubernetes 叢集應該已安裝 Defender 擴充功能 - Microsoft Azure
升級現有的 Helm 型部署
執行下列命令來更新現有的 Helm 型部署:
helm upgrade microsoft-defender-for-containers-sensor \
oci://mcr.microsoft.com/azuredefender/microsoft-defender-for-containers-sensor \
--devel \
--reuse-values