SuperAPI AI 工具集

alibabacloud-resourcecenter-search

部署与运维

查看项目

更新于 10-15 08:55

技能介绍

阿里云资源中心搜索技能提供基于 aliyun CLI 的全局资源盘点、搜索与统计能力,支持跨地域、跨产品、跨账号场景。

一、用途 该技能面向阿里云资源中心(Resource Center),帮助用户查询和盘点云上资源,包括当前账号资源以及资源目录内的多账号资源。可用于资源搜索、资源详情查看、资源数量统计和标签目录发现。

二、前置条件

  1. CLI User-Agent(必须):每条 aliyun CLI 命令调用都必须包含: --user-agent AlibabaCloud-Agent-Skills/alibabacloud-resourcecenter-search

  2. 启用 AI-Mode(必须):在执行任何其他 aliyun CLI 调用之前,需运行: aliyun configure ai-mode enable aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-resourcecenter-search"

  3. 版本预检:需要 aliyun CLI >= 3.3.3。运行 aliyun version 验证;若未安装或版本过低,可运行 curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash 安装或更新,或参见 references/cli-installation-guide.md。随后必须运行 aliyun configure set --auto-plugin-install true 启用自动插件安装,并运行 aliyun plugin update 确保本地插件为最新。

  4. 凭证要求:需要阿里云凭证。安全规则包括:禁止读取、回显或打印 AK/SK;禁止要求用户在对话或命令行中直接输入 AK/SK;禁止使用带字面量凭证值的 aliyun configure set;仅使用 aliyun configure list 检查凭证状态。若不存在有效 profile,应停止并在阿里云控制台获取凭证、在会话之外配置后重新运行。

  5. 退出时必须禁用 AI-Mode:在任何退出路径(成功、失败、错误、取消、会话结束等)交付最终响应之前,必须先运行 aliyun configure ai-mode disable。

三、参数确认 执行任何命令或 API 调用前,所有用户可自定义参数(如 RegionId、实例名、CIDR、密码、域名、资源规格等)必须与用户确认,不得在未获明确批准时直接使用默认值。主要参数包括:Scope(跨账号搜索范围,必填,可选资源目录 ID、根文件夹 ID、文件夹 ID 或成员 ID)、ResourceType、RegionId、ResourceId、ResourceName、VpcId、VSwitchId、IpAddress、GroupByKey(统计分组维度:ResourceType、RegionId、ResourceGroupId)、MaxResults(分页大小,默认 20)。

四、RAM 策略 完整权限列表见 references/ram-policies.md。推荐系统策略:只读 AliyunResourceCenterReadOnlyAccess;完全访问 AliyunResourceCenterFullAccess。开通资源中心会自动创建服务关联角色 AliyunServiceRoleForResourceMetaCenter。资源可见范围方面,搜索类 API(SearchResources、GetResourceCounts、GetResourceConfiguration、SearchMultiAccountResources、GetMultiAccountResourceCounts、GetMultiAccountResourceConfiguration)结果中的资源范围由各云产品自身的权限决定:单账号下,RAM 用户只能看到其在对应云产品上具有只读权限的资源;若资源按资源组组织,可授予限定资源组的只读权限以实现资源隔离。跨账号下,需为资源目录管理账号的 RAM 用户授予系统策略 AliyunResourceCenterFullAccess 才能进行跨账号资源搜索。

五、核心工作流 Step 1:根据用户需求确定所需 API。 Step 2(必须):每次 CLI 调用前阅读 API 文档。不得在未先阅读 references/related-apis.md 中确切参数格式的情况下执行任何 aliyun resourcecenter 命令,参数需从文档复制正确的 JSON 结构。

场景卡片:

  1. 服务开通:单账号可用 get-resource-center-service-status 检查状态、enable-resource-center 开通;资源目录可用 get-multi-account-resource-center-service-status 检查跨账号状态、enable-multi-account-resource-center 开通跨账号(需管理账号或被委派管理员)。
  2. 资源类型发现:使用 scripts/query-resource-types.py 按关键词查找资源类型代码,跨 ResourceType、ProductName、ResourceTypeName 字段搜索。当需要按资源类型过滤但不知道确切代码时先用此脚本,获得正确代码后在搜索或计数 API 的 --filter 中使用。
  3. 资源搜索:当前账号用 search-resources --filter;跨账号用 search-multi-account-resources --scope + --filter;包含已删除资源用 search-resources --include-deleted-resources=true。
  4. 查看资源详情:当前账号用 get-resource-configuration 获取单个资源配置、batch-get-resource-configurations 批量获取;跨账号用 get-multi-account-resource-configuration。
  5. 统计与分析:当前账号用 get-resource-counts,跨账号用 get-multi-account-resource-counts,分组维度为 ResourceType、RegionId、ResourceGroupId。
  6. 标签发现:当前账号用 list-tag-keys 列出标签键、list-tag-values 列出某标签键的值;跨账号用 list-multi-account-tag-keys、list-multi-account-tag-values。

六、成功验证 每个工作流步骤的详细验证步骤和命令参见 references/verification-method.md。

七、注意事项(高风险操作) 在执行 disable-resource-center 或 disable-multi-account-resource-center 前,必须明确告知用户影响:禁用后资源数据将无法在资源中心查看;单账号禁用后当前账号资源数据不可见;资源目录管理账号或委派管理员禁用后,跨账号资源搜索功能一并禁用,当前账号及资源目录成员资源数据不可见,成员也无法查看自身账号资源数据;控制台首页资源管理模块、配置审计服务等相关场景也将无法查看资源数据。禁用限制包括:若管理账号或被委派管理员已由其他账号启用跨账号资源功能,则无法禁用;若存在强依赖资源中心的产品或功能(如配置审计及关联资源转移),须先禁用这些产品或功能。必须获得用户明确确认后才可继续。禁用命令示例: aliyun resourcecenter disable-resource-center --user-agent AlibabaCloud-Agent-Skills/alibabacloud-resourcecenter-search aliyun resourcecenter disable-multi-account-resource-center --user-agent AlibabaCloud-Agent-Skills/alibabacloud-resourcecenter-search (跨账号禁用须在单账号禁用之前执行,需管理账号或被委派管理员。)

八、最佳实践 每次资源中心 CLI 调用都附带 --user-agent;使用 ResourceType、RegionId、Tag 组合过滤提高搜索效率;用 GroupByKey 快速统计资源分布;跨账号 scope 选择最具体范围(成员 ID > 文件夹 ID > 根文件夹 ID > 目录 ID);开通后需等待数分钟构建数据,大账号可能更久;日常搜索与统计优先使用只读策略 AliyunResourceCenterReadOnlyAccess;未知资源类型代码时先用辅助脚本;区分标签发现与带标签过滤的搜索,查询标签键/值用 list-tag-keys / list-tag-values(跨账号加 --scope),search-resources 用于查找匹配标签条件的资源。

九、可用脚本 scripts/query-resource-types.py:按关键词从阿里云资源中心查询资源类型;stdout 为 JSON(resourceTypes、count、keyword、language;失败时 success: false 与 error)。用法:python3 scripts/query-resource-types.py <keyword> [--language LANGUAGE]

十、故障排除 当资源中心 API 调用或 aliyun resourcecenter 命令失败时,阅读响应的 HTTP 状态、Code(错误码)和 Message,并与目录匹配。完整错误列表见 references/error-codes.md。

十一、参考链接 references/related-apis.md(全部 CLI 命令列表)、references/ram-policies.md(RAM 权限策略)、references/verification-method.md(各工作流验证步骤)、references/error-codes.md(去重后的资源中心 API 错误码目录与查找提示)、references/cli-installation-guide.md(Aliyun CLI 安装指南)、references/acceptance-criteria.md(仅供维护者/CI 使用的技能测试验收标准、正确 CLI 命令模式、参数校验规则,终端用户无需阅读)。