Install
openclaw skills install @jupiter-19/huaweicloud-config-helper华为云Config配置审计服务的专业助手,提供全局资源查询、资源配置查询、资源Schema查询、SQL条件查询以及合规规则查询能力。当用户需要查询华为云资源、进行资源审计、检查配置合规性、盘点云上资产、分析资源关系、查询特定资源状态、验证资源配置、或需要通过SQL进行复杂资源查询时,必须使用此技能。即使未明确提及"Config"或"配置审计",只要涉及华为云资源查询、资源管理、合规检查等场景,都应触发此技能。
openclaw skills install @jupiter-19/huaweicloud-config-helper使用scripts中的脚本,通过Config服务,查询云上资源情况、资源配置、资源schema、云服务的预置合规规则。具体有如下能力:
在使用此技能前,需要确保以下环境变量已正确配置。这些是访问华为云Config服务的必要凭证。
必需的环境变量:
HUAWEICLOUD_AK - 访问密钥(Access Key)HUAWEICLOUD_SK - 秘密密钥(Secret Access Key)重要提示:
Config ReadOnlyAccess的权限,用户无需过度授权配置步骤:
Windows PowerShell 配置:
$env:HUAWEICLOUD_AK="your_access_key"
$env:HUAWEICLOUD_SK="your_secret_key"
或通过系统环境变量配置:
~/.bashrc 或 ~/.zshrc 中添加 export 命令验证配置:
# 验证但不打印敏感信息
if (-not $env:HUAWEICLOUD_AK) { Write-Error "HUAWEICLOUD_AK 未配置" }
确保已安装以下Python依赖:
pip install huaweicloudsdkconfig huaweicloudsdkcore
获取华为云上所有资源的汇总统计信息。
命令:
python scripts/query_Config_resource_summary.py
参数说明:
--provider: 可选,表示只查询某个云服务的资源概览, 示例:
obsvpc--region_id: 可选,表示只查询某个区域的资源概览, 示例:
cn-north-4: 北京四cn-east-3: 上海一global: 全局输出格式:
[
{
"provider": "vpc",
"type": "vpcs",
"region_id": "cn-north-1",
"cnt": 5
},
{
"provider": "kms",
"type": "keys",
"region_id": "cn-north-4",
"cnt": 2
},
{
"provider": "iam",
"type": "users",
"region_id": "global",
"cnt": 5
}
]
使用场景:
获取指定资源类型的详细结构定义,包括所有可用字段及其类型。
命令:
python scripts/query_Config_resource_schema.py --resource_type=obs.buckets
参数说明:
--resource_type: 资源类型标识符,格式为 provider.type, 示例:
obs.buckets: 对象存储桶、OBS桶;ecs.cloudservers: 云服务器、虚机、ECS;iam.users: IAM用户;vpc.securityGroups : VPC安全组;fgs.functions: 函数工作流、函数、FunctionGraph;输出格式:
使用场景:
通过SQL语句进行复杂的资源查询,支持多条件筛选、聚合分析等。
支持的查询字段:
id, name, provider, type, region_id, project_id, created, updated, tagproperties (JSON对象,包含具体资源配置,每种资源类型的结构与资源schema保持一致)SQL语法特点:
resources 表transform, filter, any_match, containsdate_diff, date_parse重要提示:
scripts/sql-example.json 查看丰富的查询示例示例1: 查询特定区域的所有资源
首先确定查询需求,生成SQL语句:
select id, name, provider, type, region_id, properties
from resources
where region_id = 'cn-north-4'
执行查询:
python scripts/query_Config_resource_by_sql.py --sql="select id, name, provider, type, properties from resources where region_id = 'cn-north-4'"
示例2: 查询IAM用户的密码强度
步骤1: 查询iam.users的Schema了解可用字段
python scripts/query_Config_resource_schema.py --resource_type=iam.users
步骤2: 基于Schema发现密码相关字段为 pwd_status 和 pwd_strength
步骤3: 编写SQL查询
select id, name, provider, type, properties.pwd_status, properties.pwd_strength
from resources
where provider = 'iam'
and type = 'users'
步骤4: 执行查询
python scripts/query_Config_resource_by_sql.py --sql="select id, name, provider, type, properties.pwd_status, properties.pwd_strength from resources where provider = 'iam' and type = 'users'"
更多SQL示例:
SELECT * FROM resources WHERE provider='ecs' AND type='cloudservers' AND properties.status='ACTIVE'SELECT * FROM resources WHERE provider='evs' AND type='volumes' AND NOT properties.encryptedSELECT region_id, count(*) FROM resources GROUP BY region_idscripts/sql-example.json 中的案例输出格式:
获取华为云Config服务的预置合规规则列表,用于资源合规性检查。
命令:
查询特定云服务的合规规则:
python scripts/query_Config_builtin_rule.py --keyword=obs
查询所有合规规则(限制返回数量):
python scripts/query_Config_builtin_rule.py --limit=10
参数说明:
--keyword: 过滤关键字,匹配规则名称或描述中包含该关键字的规则--limit: 限制返回结果数量,默认为10输出格式:
{
"name": "obs-bucket-https-only",
"display_name": "OBS桶必须使用HTTPS",
"description": "检查OBS桶是否强制使用HTTPS协议访问"
}
使用场景:
以下为华为云云服务的场景化知识,在分析资源的安全配置时,需要考虑以下信息:
VPC默认安全组
VPC默认安全组(名称为default)为系统内置资源,不可删除。为提升安全性,将所有出方向、入方向的安全组规则停用或改为Deny的操作权限。
AK/SK安全配置:
华为云的Access Key(AK)为20位随机字符串(例如HPUAAJJAC9GJZDIQCTHN),Secret Key(SK)为40位随机字符串。在资源配置中,仅允许在iam.users字段中包含AK信息,严禁在任何资源配置中明文存储或传递SK。若检测到SK存在于配置中,则判定为敏感信息泄露风险,需立即整改。
云服务中英文对接关系
| provider | type | 中文名 | 服务功能 |
|---|---|---|---|
| cts | trackers | 云审计服务追踪器 | 提供对各种云资源操作记录的收集、存储和查询功能 |
| config | trackers | 配置审计服务资源记录器 | 提供资源配置的持续的审计能力 |
使用WHERE条件限制查询范围
region_id 或其他过滤条件,避免全表扫描WHERE region_id = 'cn-north-4'只查询需要的字段
SELECT *,明确指定需要的字段合理使用聚合函数
count(), sum() 等聚合函数SELECT region_id, count(*) FROM resources GROUP BY region_id保护敏感信息
Config ReadOnlyAccess的权限,用户无需过度授权最小权限原则
网络安全
1批量查询优于单个查询
2合理安排查询时间
结果验证
数据格式化
异常处理
A: 检查以下几点:
HUAWEICLOUD_AK 和 HUAWEICLOUD_SK 环境变量已正确配置A: 可能的原因:
A: 使用日期函数:
SELECT *
FROM resources
WHERE created >= '2024-01-01T00:00:00Z'
AND created <= '2024-12-31T23:59:59Z'
A: 使用 cardinality 函数:
SELECT *
FROM resources
WHERE cardinality(tag) = 0
A: 使用数组操作函数:
any_match: 检查数组中是否存在满足条件的元素transform: 转换数组元素filter: 过滤数组元素示例:
SELECT *
FROM resources
WHERE any_match(properties.securityGroup, x - > x.id = 'xxx')
A: 建议步骤:
ExtVolumesAttached)| 错误信息 | 可能原因 | 解决方案 |
|---|---|---|
Authentication failed | AK/SK配置错误或无效 | 检查环境变量配置,验证AK/SK有效性 |
Resource not found | 资源类型不存在 | 检查资源类型名称,先查询可用资源类型 |
SQL syntax error | SQL语句语法错误 | 检查SQL语法,参考示例文件 |