您可以将安全软件代理从 Cloud Marketplace 部署到项目中的虚拟机实例。如果您需要卸载安全软件代理,请跳至卸载安全代理。
安全软件代理通常是较大的安全产品的组件。例如,如果您订阅了一个安全产品,则该产品可能包含可在虚拟机实例上安装的安全代理。代理收集有关虚拟机实例上的漏洞和可疑行为的数据,并将这些数据发送回软件供应商。您可以在软件供应商提供的信息中心内查看安全报告。
从 Cloud Marketplace 安装安全代理时,您必须独立向软件供应商注册。供应商单独向您收费。
准备工作
启用 OS Configuration Management:
您必须具有以下权限:
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 的身份和访问权限管理自定义角色,首先要创建一个 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
创建 Security Agent Deployer 的 {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 来配置项目元数据 安装在虚拟机实例中的操作系统配置代理。
控制台
- 打开项目元数据页面。
- 点击修改
点击添加项目,然后添加以下属性:
键 值 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。您可以使用这些标识符将 Google Cloud 项目链接到与供应商的订阅。
注册后,打开安全代理的 Cloud Marketplace 列表,然后按照步骤配置代理。
在配置页面上,输入注册产品时获得的标识符。然后,在虚拟机分配下,选择要将安全代理部署到的虚拟机实例。
您可以通过以下字段来过滤虚拟机:
- 名称前缀
- 群组标签
部署会在您的项目中创建一个 Cloud Storage 存储分区,并将安装文件复制到该存储分区。在存储分区详细信息下,选择一个区域以创建用于部署的云存储分区。
选择虚拟机分配并为 Cloud Storage 存储分区选择区域后,单击Deploy。部署可能需要几分钟才能完成。
若要跟踪和验证安装,请使用以下方法之一:
卸载安全代理
概括来讲,您必须执行以下操作才能卸载安全代理:
删除代理的所有访客政策。这样可以确保 OS Configuration 停止在您创建的任何新虚拟机实例上安装代理。如果在删除访客政策时正在某些虚拟机上安装代理,则安装将继续进行直到完成。
为安全代理创建新的访客政策,该政策将从已安装代理的虚拟机实例中删除该代理。
从虚拟机上卸载安全代理可能需要几分钟。
删除访客政策
您可以使用 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
属性创建一个新政策,以从虚拟机中删除安全代理。
例如,以下访客政策 YAML 文件从 us-central1-f
区域中的所有基于 Debian 的虚拟机实例中删除 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
问题排查
调试访客政策
您可以在调试访客政策中找到调试访客政策的一般指南。
特别是关于如何
- 列出现有的访客政策
- 检查特定的访客政策
- 查找哪些政策适用于特定的虚拟机实例
- 检查 Cloud Logging 日志以搜索与部署相关的可能的错误消息。
如果在特定的虚拟机实例中部署失败,则可以按照以下步骤尝试诊断问题:
请检查部署是否创建了访客政策。
如果是,请验证创建的访客政策:
- 指预期的安全代理。
- 在其 Assignment 中定位预期的虚拟机实例集。
验证虚拟机实例
lookup
是否包含新的预期访客政策。检查 Cloud Logging 日志中是否存在针对该特定虚拟机实例的与 OS Config 相关的错误消息。