用途:该技能用于对一批拟议的 IAM 策略变更执行 Google Cloud Policy Simulator 模拟,仅负责单批次的模拟执行,不处理多批次循环或回退逻辑。
主要能力:接收 JSON 对象中的 simulations 数组,每个模拟项需包含 id、resource(以 // 开头的完整资源名)、member(如 user:、serviceAccount:、group:)以及 proposed_policy(JSON 对象)或 proposed_policy_file(本地 JSON 策略文件路径)。技能会解析输入、检查 policysimulator.googleapis.com API 是否启用、准备策略文件、执行模拟并将 replayResults 按 principal 和 fullResourceName 映射回输入项。
使用方式:输入可直接内联在提示中,也可指定文件路径(使用 view_file 读取,不用 grep/find/shell 搜索)。若 API 未启用,技能不会自动启用,而是先请求用户确认,确认后执行 gcloud services enable policysimulator.googleapis.com。模拟优先使用 MCP 工具;不可用时回退到 gcloud iam simulator replay-recent-access FULL_RESOURCE_NAME PROPOSED_POLICY_PATH --format=json;仅当 gcloud 不可用时才使用 API 客户端库或 REST 调用。
限制:遇到 PERMISSION_DENIED、UNAUTHENTICATED、NOT_FOUND、INVALID_ARGUMENT 或群组成员权限阻塞时立即停止,不再尝试其他方式。目标为 Google Group 且缺少成员查看权限时返回 BLOCKED;资源类型不受支持时返回 FAILED。输出为 JSON,含 status、error 和 results。临时文件会清理,但不会删除用户通过 proposed_policy_file 提供的外部文件。