Workload Manager 的 gcloud CLI 边界:skills29/skills 仓库中的 CLI 现状与 REST 桥接实践

发布时间:2026/9/14 6:36:58
Workload Manager 的 gcloud CLI 边界:skills29/skills 仓库中的 CLI 现状与 REST 桥接实践 Workload Manager 的 gcloud CLI 边界skills29/skills 仓库中的 CLI 现状与 REST 桥接实践【免费下载链接】skillsAgent Skills for Google products and technologies项目地址: https://gitcode.com/GitHub_Trending/skills29/skills本文基于 skills29/skills 仓库中workload-manager-basics技能的参考文档 public-cli-status.md讲清一个反直觉的事实Google Cloud Workload Manager 目前没有公开的gcloud workload-manager专属命令组。读完本文你将掌握gcloud在该服务周边的合法用途边界API 启用、认证、IAM、访问令牌以及通过 REST 桥接和公共客户端库真正管理评估evaluation资源的完整操作路径从而避免编写出暗示可用专属 CLI 管理 Workload Manager 资源的错误示例。为什么这篇文档存在一个负面清单型技能参考SKILL.md 定义了workload-manager-basics技能的整体边界。其Core API Constraints一节明确列出四条硬约束其中第三条直接对应本文档的主题No Service-Specific CLI:There is no publicgcloud workload-managerCLI command group. Usegcloudonly for authentication, IAM role assignment, and fetching raw REST tokens.public-cli-status.md 作为该约束的展开说明核心论断只有一句话公共文档目前并没有描述任何gcloud workload-manager专属命令组。因此文档要求所有面向 Agent 或开发者的输出都必须遵守两条红线不要编写暗示 Workload Manager 的 evaluations、executions、rules、deployments 或 actuations 可以通过某个服务专属gcloud命令来管理的示例gcloud只能用于邻近的 Google Cloud 配置任务项目配置、认证、IAM、服务启用和访问令牌获取Workload Manager 资源本身必须通过公共客户端库或 REST API 操作。这与同目录下的 public-mcp-status.md 形成呼应——该文档同样声明目前没有公开文档化的 Workload Manager MCP 服务器。从源码结构看整个技能通过Public Surface Only仅限google-cloud-workloadmanager客户端库 workloadmanager.googleapis.com/v1REST API的约束设计把 Agent 的行为锁定在已验证的公共接口面上。gcloud 的合法用途边界周边配置任务既然不能直接管理服务资源那么gcloud在 Workload Manager 工作流中的正确位置是什么public-cli-status.md 给出了四类合法用途下文逐节展开。1. 启用 APIWorkload Manager 的 API 标识为workloadmanager.googleapis.com启用命令如下gcloud services enable workloadmanager.googleapis.com --quiet--quiet标志用于在非交互环境下抑制确认提示适合脚本化场景。该命令与 SKILL.md 的 Prerequisites 第 1 步、以及 setup-prerequisites.md 中对应的 Terraformgoogle_project_service资源保持一致。后者还额外启用了两个依赖服务这一点在纯 CLI 路径上容易被忽略The Service Usage and Cloud Monitoring APIs are required when creating and running custom-rule evaluations.也就是说如果你的评估计划涉及自定义 Rego 规则OTHER类型 customRulesBucket建议同时确保serviceusage.googleapis.com和monitoring.googleapis.com已启用。2. 设置项目与位置默认值Workload Manager 的资源命名空间是projects/{PROJECT_ID}/locations/{LOCATION}先把默认值固定下来可以让后续命令和脚本更简洁gcloud config set project PROJECT_ID export PROJECT_ID$(gcloud config get-value project) export LOCATIONLOCATION注意这里LOCATION是手动占位Workload Manager 并不自动推导可用区域需要你在 rest-usage.md 等下游示例中自行替换。3. 为本地客户端库认证ADC客户端库默认读取 Application Default CredentialsADC本地开发环境下通过以下命令建立 ADCgcloud auth application-default login这一步是 Python/Go 客户端库示例的前置条件。client-library-usage.md 给出了完整的本地准备链路python3 -m venv .venv source .venv/bin/activate python3 -m pip install --upgrade google-cloud-workloadmanager gcloud auth application-default login安装完成后即可使用workloadmanager_v1.WorkloadManagerClient()列出规则from google.cloud import workloadmanager_v1 project_id PROJECT_ID location LOCATION parent fprojects/{project_id}/locations/{location} client workloadmanager_v1.WorkloadManagerClient() rules client.list_rules( requestworkloadmanager_v1.ListRulesRequest( parentparent, evaluation_typeworkloadmanager_v1.Evaluation.EvaluationType.OTHER, ) ) for rule in rules.rules: print(rule.name, rule.display_name, rule.severity)其中OTHER对应 Google Cloud 通用最佳实践与自定义组织规则SAP与SQL_SERVER对应两类企业工作负载内置规则——这些评估类型的划分与 core-concepts.md 的Evaluation Types一节完全一致。4. 为 REST 调用获取访问令牌如果你走 REST 路径调试裸请求、或客户端库尚未覆盖的 resources只需要gcloud提供一个 Bearer tokenexport TOKEN$(gcloud auth print-access-token)这正是 rest-usage.md Setup 一节采用的认证方式配合统一的BASE_URLexport BASE_URLhttps://workloadmanager.googleapis.com/v15. 授予 Workload Manager 角色IAM 是gcloud在 Workload Manager 场景中最实质的用途。public-cli-status.md 给出的示例gcloud projects add-iam-policy-binding PROJECT_ID \ --memberuser:USER_EMAIL \ --roleroles/workloadmanager.evaluationAdmin \ --quiet并明确只读访问时使用roles/workloadmanager.viewer即可。结合 iam-security.md 的完整角色表可以把角色选择决策补充为角色适用场景roles/workloadmanager.viewer只读访问 Workload Manager 资源默认起步角色roles/workloadmanager.evaluationViewer只读评估资源与结果roles/workloadmanager.evaluationAdmin创建、更新、运行、删除评估与执行roles/workloadmanager.admin全量管理roles/workloadmanager.deploymentAdmin/deploymentViewer管理/读取 REST 暴露的部署资源roles/workloadmanager.insightWriter写入或删除 insightsroles/workloadmanager.worker服务托管操作的执行角色roles/workloadmanager.serviceAgent服务代理角色不得授予人类或通用自动化身份该文档同时提醒创建/运行评估会跨项目、文件夹或组织扫描资源元数据服务代理service-PROJECT_NUMBERgcp-sa-workloadmanager.iam.gserviceaccount.com需要在评估范围内被授予roles/viewer或roles/browser才能完成元数据扫描——这一服务代理授权不属于上述gcloud projects add-iam-policy-binding示例覆盖的人工身份场景需单独配置。REST 桥接用 gcloud 令牌 curl 打通评估资源public-cli-status.md 的 REST Bridge 一节给出了最小可运行的桥接模式——gcloud auth print-access-token提供认证curl直接调用 v1 REST 端点curl -sS \ -H Authorization: Bearer $(gcloud auth print-access-token) \ https://workloadmanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/evaluations把这段模式与 rest-usage.md 中的完整端点清单组合gcloud令牌可以支撑整条评估生命周期操作包括列规则可按evaluationType过滤也可通过customRulesBucket参数列出上传的自定义 Rego 规则创建评估POST组织级scopes: [organizations/ORG_ID]优先项目级projects/PROJECT_ID作为降级方案请求中携带evaluationId与requestId保证幂等轮询长时操作done: true表示完成手动运行评估executions:run列出执行、执行结果与扫描到的资源删除评估仅当需要级联删除子执行时才使用forcetrue。从源码结构看这套 REST 示例与客户端库示例是同一 API 面的两种表达core-concepts.md 指出REST 参考可能比客户端库提前暴露 deployments、actuations、discovered profiles、insights 等资源generated client libraries and REST resources can land at different times因此自动化应保持防御性——客户端库没有的资源用 REST 补齐。运维守则与成本说明public-cli-status.md 的 Operational Notes 是面向 Agent 生成行为的四条守则值得原样保留并理解其意图不要发明服务专属 CLI 命令除非它们出现在当前的公共gcloud文档中不要把gcloud描述为 Workload Manager 的管理面——它可以是配置面但不能是资源管理面gcloud services、gcloud auth、gcloud projects add-iam-policy-binding和gcloud logging在 Workload Manager API 周边依然有用成本模型启用 API 本身不直接计费但评估会创建日志、扫描资源元数据并可选项地导出详细结果到 BigQuery这些会产生相应服务的正常费用。最后一点对应了 iam-security.md 与 setup-prerequisites.md 的 BigQuery 导出要求导出目标必须是与评估数据同区域的 regional dataset不支持 multi-region且 dataset 层面应收紧 IAMEvaluation.kms_key支持 CMEK格式为projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY使用前需确保服务代理具备所需 KMS 权限。结论正确的技术分工汇总workload-manager-basics技能各参考文档Workload Manager 工具链的正确分工是任务工具依据启用 API、项目配置、认证、IAM、令牌gcloudpublic-cli-status.md评估规则查询、创建/运行评估、读取结果与扫描资源Python/Go 客户端库google-cloud-workloadmanagerclient-library-usage.md客户端库未覆盖的资源deployments、insights 等REST APIworkloadmanager.googleapis.com/v1rest-usage.mdAPI 启用、IAM、BigQuery 导出数据集、KMS 键的 IaCTerraform仅限前置项不管理评估资源setup-prerequisites.mdMCP 服务器当前无公开文档化 MCP 服务器public-mcp-status.md需要特别强调适用前提本文结论以当前仓库文档记载的公共文档现状为准——公共文档目前未描述gcloud workload-manager命令组是一个随时间可变的事实。如果你的环境里gcloud文档出现了新的服务专属命令组应以最新公共文档为准再重新校准本文描述的边界。【免费下载链接】skillsAgent Skills for Google products and technologies项目地址: https://gitcode.com/GitHub_Trending/skills29/skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考