您可以從 Cloud Marketplace 部署安全軟體代理程式,將其部署至專案中的 VM 執行個體。如果您需要解除安裝安全性軟體代理程式,請跳至「解除安裝安全性代理程式」一節。
安全性軟體代理程式通常是大型安全性產品的組件。舉例來說,如果您訂閱安全性產品,該產品可能會提供安全性代理程式,可供您在 VM 執行個體上安裝。代理程式會收集 VM 執行個體的安全漏洞和可疑行為相關資料,並將這些資料傳回給軟體供應商。您可以在軟體供應商提供的資訊主頁中查看安全性報表。
從 Cloud Marketplace 安裝安全性代理程式時,您必須自行向軟體供應商註冊。供應商會另外向您收取費用。
事前準備
啟用 OS 設定管理服務:
您必須具備下列權限:
osconfig.guestPolicies.create
osconfig.guestPolicies.delete
osconfig.guestPolicies.get
osconfig.guestPolicies.list
storage.buckets.create
storage.buckets.get
storage.objects.create
storage.objects.delete
建議您使用這些權限建立 Identity and Access Management 自訂角色,並將該角色指派給可從 Cloud Marketplace 部署安全軟體代理程式的使用者。
舉例來說,如果您要建立名為「Security Agent Deployer」的 Identity and Access Management 自訂角色,請先建立 SecurityAgentDeployer.yaml
檔案:
title: SecurityAgentDeployer
description: Role for Users who deploy Security Agents in a project
stage: GA
includedPermissions:
- osconfig.guestPolicies.create
- osconfig.guestPolicies.delete
- osconfig.guestPolicies.get
- osconfig.guestPolicies.list
- storage.buckets.create
- storage.buckets.get
- storage.objects.create
- storage.objects.delete
建立 YAML 檔案後,如要建立「{iam_name}」自訂角色,請執行下列指令:
gcloud iam roles create role-id --project=project-id \
--file=SecurityAgentDeployer.yaml
建立 {iam_name} 自訂角色「安全代理程式部署者」後,請將該角色授予要部署安全代理程式的使用者:
gcloud projects add-iam-policy-binding <project-id> \
--member=user:my-user@example.com \
--role=projects/<project-id>/roles/SecurityAgentDeployer
設定專案中繼資料
您可以使用 Google Cloud 控制台或 Google Cloud CLI,為 VM 執行個體中安裝的 OS 設定代理程式設定專案中繼資料。
主控台
- 開啟「Project Metadata」(專案中繼資料) 頁面。
- 按一下 [編輯]
按一下「新增項目」,然後新增下列屬性:
鍵 值 enable-osconfig 是 此外,雖然不是必要項目,但您也可以新增下列中繼資料項目,在 Cloud Logging 記錄中加入偵錯訊息。這麼做有助於日後排解部署問題。
鍵 值 osconfig-log-level debug
gcloud
請使用以下指令,為 OS Config 代理程式設定專案中繼資料:
gcloud compute project-info add-metadata --metadata=enable-osconfig=true
此外,雖然不是必要,但您也可以使用下列指令在 Cloud Logging 記錄中加入偵錯訊息。這麼做有助於日後排解部署問題。
gcloud compute project-info add-metadata --metadata=osconfig-log-level=debug
如要確認中繼資料是否已正確設定,請使用下列指令:
gcloud compute project-info describe --flatten="commonInstanceMetadata[]"
部署安全性代理程式
如要查看 Cloud Marketplace 提供的安全性代理程式,請使用「安全性」篩選器。
如何部署安全性代理程式:
從 Cloud Marketplace 中選擇代理。
在供應商的網站上註冊安全防護機制。
在註冊過程中,供應商通常會提供 ID 和憑證,例如密碼、啟用 ID 或授權 ID。您可以使用這些 ID 將 Google Cloud 專案連結至供應商的訂閱項目。
註冊後,請開啟安全性代理程式的 Cloud Marketplace 產品資訊,然後按照步驟設定代理程式。
在設定頁面中,輸入註冊產品時取得的 ID。接著,在「VM 指派」下方,選取要部署安全性代理程式的 VM 執行個體。
您可以依據下列欄位篩選 VM:
- 名稱前置字串
- 群組標籤
部署作業會在專案中建立 Cloud Storage 值區,並將安裝檔案複製到該值區。在「Storage bucket details」(儲存體值區詳細資料) 下方,選取要為部署作業建立 Cloud Storage 值區的區域。
選取 VM 指派作業並選擇 Cloud Storage 值區的地區後,請按一下「Deploy」。部署作業可能需要幾分鐘才能完成。
如要追蹤及驗證安裝作業,請使用下列其中一種方法:
解除安裝安全性代理程式
整體來說,您必須執行下列操作才能解除安裝安全性代理程式:
刪除代理人的所有訪客政策。這樣就能確保 OS 設定停止在您建立的任何新 VM 執行個體上安裝代理程式。如果在刪除訪客政策時,代理程式正在部分 VM 上安裝,則安裝作業會繼續進行,直到完成為止。
為安全性代理程式建立新的訪客政策,從已安裝代理程式的 VM 執行個體中移除代理程式。
安全性代理程式可能需要幾分鐘的時間才能從 VM 中解除安裝。
刪除訪客政策
您可以使用 Google Cloud 控制台或 Google Cloud CLI 刪除安全性代理程式適用的訪客政策。
主控台
- 開啟「訪客政策」頁面。
- 選取安全防護員的訪客政策,然後按一下「刪除」。
gcloud
請使用下列指令列出所有訪客政策:
gcloud beta compute os-config guest-policies list
從訪客政策清單中複製安全性產品的訪客政策 ID,然後執行以下指令來刪除每個訪客政策:
gcloud beta compute os-config guest-policies delete POLICY_ID
建立訪客政策以移除代理程式
刪除安全性代理程式的訪客政策後,您必須使用 desiredState: REMOVED
屬性建立新政策,從 VM 中移除安全性代理程式。
舉例來說,下列來賓政策 YAML 檔案會從 us-central1-f
區域中所有以 Debian 為基礎的 VM 執行個體中移除 cloud-agent-package
:
assignment:
groupLabels:
- labels:
agent: enabled # apply to VMs with the "agent" label set to "enabled"
zones:
- us-central1-f # apply to all VMs in this zone
name: projects/YOUR_PROJECT_ID/guestPolicies/cloud-agent-remove
packages:
- desiredState: REMOVED
manager: APT # indicates Debian-based OS
name: cloud-agent-package # indicates the security agent's package name
您必須將 assignment
區段設定為與部署代理程式時所設定的篩選器相符。
建立訪客政策 YAML 檔案後,請使用下列指令套用政策:
gcloud beta compute os-config guest-policies create NEW_POLICY_ID --file YOUR_GUEST_POLICY_FILE
疑難排解
對訪客政策進行偵錯
如需訪客政策的一般偵錯指南,請參閱「偵錯訪客政策」
特別是如何
- 列出現有的訪客政策
- 檢查特定訪客政策
- 找出套用至特定 VM 執行個體的政策
- 檢查 Cloud Logging 記錄檔,找出與部署作業相關的潛在錯誤訊息。
如果在特定 VM 執行個體中無法順利部署,您可以按照下列步驟診斷問題:
找出部署作業是否建立了訪客政策。
如果是,請確認建立的訪客政策是否符合下列條件:
- 指的是預期的安全防護代理程式。
- 在指派中指定預期的 VM 執行個體集合。
確認 VM 執行個體
lookup
包含新的預期訪客政策。檢查 Cloud Logging 記錄檔中是否有任何與 OS 設定相關的錯誤訊息。