360 Secure SkillHub
360 安全技能中心

hcs-vpc-security-groups

通过 Python 脚本调用华为云 VPC API,列出 region/project 范围内的安全组,或经子网、端口聚合查询指定 VPC 关联的安全组;默认输出 JSON,可选 Markdown 表格,并提供无需凭证的模拟模式。真实调用需要 HWCLOUD_AK/HWCLOUD_SK 认证。

yangaiwu
yangaiwu
热度 7.65
最近更新 2026-08-18 17:02:19
分类:搜索依赖:代码执行 / 第三方 API应用场景:API 集成 / 自动化脚本 / 数据处理 / DevOps

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add hcs-vpc-security-groups
Metadata
name
hcs-vpc-security-groups
version
0.1.0
description
查询华为云 VPC 关联的安全组集合,以及华为云账号下(region/project 范围)的安全组列表
triggers
["查询华为云安全组","查询VPC关联的安全组","列出账号下安全组","华为云安全组列表"]

hcs-vpc-security-groups

查询华为云安全组的技能,提供两个能力:

  • 能力 A:列出账号下(region/project 范围)的安全组列表,可选按 vpc_id 过滤。
  • 能力 B:查询指定 VPC 关联的安全组集合(VPC → 子网 → 端口/网卡 → security_groups 聚合)。

环境变量(认证)

真实调用前需设置(不硬编码密钥):

变量 必填 说明
HWCLOUD_AK 是 华为云 Access Key
HWCLOUD_SK 是 华为云 Secret Key
HWCLOUD_PROJECT_ID 否 项目 ID,缺省由 AK/SK 解析默认项目

使用

# 能力 A:列出安全组(默认区域 cn-east-3,华东-上海一)
python3 scripts/hcs-vpc-security-groups.py list --region cn-east-3

# 能力 A:按 VPC 过滤
python3 scripts/hcs-vpc-security-groups.py list --vpc-id <vpc_id>

# 能力 B:查询 VPC 关联安全组(按 ID 或名称)
python3 scripts/hcs-vpc-security-groups.py vpc --vpc <vpc_id 或 vpc_name>

# Markdown 表格输出
python3 scripts/hcs-vpc-security-groups.py vpc --vpc <vpc_id> --format md

# 无凭证验证(内置模拟数据)
python3 scripts/hcs-vpc-security-groups.py list --mock
python3 scripts/hcs-vpc-security-groups.py vpc --vpc prod-vpc --mock

输出

默认 JSON,字段:

{
  "capability": "list",
  "region": "cn-east-3",
  "count": 2,
  "security_groups": [
    {"id": "sg-xxx", "name": "web-sg", "description": "web tier", "rule_count": 2}
  ]
}

能力 B 额外含 vpc: {id, name}。--format md 输出 Markdown 表格(安全组ID/名称/描述/规则数)。

退出码

码 含义
0 成功
2 参数错误
3 缺少认证(未设置 HWCLOUD_AK/HWCLOUD_SK)
4 API 调用失败

依赖

  • Python 3.8+
  • 真实调用:huaweicloudsdkvpc(见 requirements.txt)
  • mock 模式无需任何第三方依赖

实现说明

华为云 VPC 未提供「VPC → 安全组」的直接接口。安全组通过**端口/网卡(Port)**挂载到子网下的实例,因此能力 B 的实现路径为:

VPC → 子网列表(list_subnets) → 端口列表(list_ports) → 收集 security_groups → 关联安全组集合

详见 references/vpc-security-group-api.md。