您可以從 Cloud Marketplace 將安全軟體代理程式部署至專案中的 VM 執行個體。如需解除安裝安全軟體代理程式,請跳至「解除安裝安全代理程式」。
安全性軟體代理程式通常是大型安全產品的元件。 舉例來說,如果您訂閱了安全性產品,該產品可能包含安全性代理程式,可安裝在 VM 執行個體上。代理程式會收集 VM 執行個體上的安全漏洞和可疑行為資料,並將這些資料傳回給軟體供應商。您可以在軟體供應商提供的資訊主頁中查看安全性報告。
從 Cloud Marketplace 安裝安全防護代理程式時,您必須向軟體供應商個別註冊。供應商會另外向你收取費用。
事前準備
啟用 OS 設定管理服務:
您必須具備下列權限:
osconfig.guestPolicies.createosconfig.guestPolicies.deleteosconfig.guestPolicies.getosconfig.guestPolicies.liststorage.buckets.createstorage.buckets.getstorage.objects.createstorage.objects.delete
建議您建立具有這些權限的 Identity and Access Management 自訂角色,並將該角色指派給可從 Cloud Marketplace 部署安全軟體代理程式的使用者。
舉例來說,如要建立名為「Security Agent Deployer」的身分與存取權管理自訂角色,請先建立 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} 自訂角色「Security Agent Deployer」後,請將該角色授予預計部署安全代理程式的使用者:
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 Configuration 代理程式設定專案中繼資料。
控制台
- 開啟「專案中繼資料」頁面。
- 按一下 [編輯]
按一下「新增項目」,然後新增下列屬性:
鍵 值 enable-osconfig true 此外,雖然不是必要項目,但您可以新增下列中繼資料項目,在 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 bucket,並將安裝檔案複製到該 bucket。在「儲存空間 bucket 詳細資料」下方,選取要建立部署專用 Cloud Storage bucket 的區域。
選取 VM 指派項目,並選擇 Cloud Storage bucket 的地區後,按一下「部署」。部署作業可能需要幾分鐘才能完成。
如要追蹤及驗證安裝作業,請使用下列其中一種方法:
列出專案的訪客政策,然後確認是否已為安全代理程式建立新的訪客政策。一般來說,部署作業會為每個作業系統建立一項訪客政策。
開啟 Logging 檢視器,然後檢查 VM 執行個體資源類型和 OSConfigAgent 記錄類型的記錄。
解除安裝安全代理程式
如要解除安裝安全代理程式,大致上必須執行下列操作:
刪除代理程式的所有訪客政策。這樣一來,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 記錄中,該特定 VM 執行個體是否有任何與 OS 設定相關的錯誤訊息。