用途
华为云账号实名认证引导技能,面向需要完成或查询华为云实名认证的客户,将原本分散在多个控制台页面的状态查询与人脸认证二维码获取整合为一次对话流程,由智能体协助客户完成操作。
主要能力
- 查询实名认证状态:返回 verified_status 与 verified_type。verified_status 取值含义为 -1 未认证、0 审核中、1 已驳回、2 已认证;verified_type 取值含义为 0 个人实名认证、1 企业实名认证。
- 获取人脸实名认证二维码 URL:二维码为一次性使用,扫描后即失效;未扫描则 10 分钟后过期;仅主账号可获取,子账号调用会返回 CBC.99007297。
- 确认完成:客户在手机上完成扫描后,需经用户明确确认,才再次查询状态以确认是否完成,不进行自动轮询。
认证状态流转:-1(未认证)→ 获取二维码并由用户扫描 → 0(审核中)→ 2(已认证);审核中也可能转为 1(已驳回),此时需先询问用户再重新获取二维码。
使用方式
执行模式为 huaweicloudsdkbss(Python SDK)。由于 hcloud CLI 7.2.12 中 KooCLI 报告 Unsupported service: BSS,本技能通过官方 huaweicloudsdkbss Python SDK 访问 BSS 端点 https://bss.myhuaweicloud.com(固定区域 cn-north-1)。
前置条件:
- Python 3.8+,并安装官方 SDK:pip install huaweicloudsdkbss
- 客户主账号 AK/SK(非伙伴账号)需配置在环境变量中。SDK 脚本自动从 HUAWEICLOUD_SDK_AK / HUAWEICLOUD_SDK_SK 读取凭证(回退:HUAWEI_ACCESS_KEY / HUAWEI_SECRET_KEY)。切勿硬编码凭证。
- 可访问 https://bss.myhuaweicloud.com。企业内网可能需要设置:export HTTPS_PROXY=http://your-proxy:port
- 固定区域:BSS 为全局服务,通过 cn-north-1 访问 bss.myhuaweicloud.com,不要替换为其他区域。
工作流程:
- 确认意图及华为云范围(非其他云)。
- 检查前置条件(SDK 已安装、AK/SK 环境变量存在)。
- 查询实名认证状态:python3 scripts/show_real_name_auth_status.py
- 解读 verified_status 并回复:-1 则询问用户后提供二维码;0 则告知审核中;1 则建议重新发起(获取新二维码前先询问);2 则确认已认证,无需重复。
- 如需二维码:运行 scripts/show_real_name_auth_qr_code.py,展示 URL,并提醒一次性使用、10 分钟过期、仅主账号可用。
- 用户确认后,再次查询状态以确认完成(不自动轮询)。
核心命令(均为只读 Show 操作,出错时脚本以非零退出并给出明确信息):
- 查询实名认证状态:python3 scripts/show_real_name_auth_status.py,示例响应 {"verified_status": 2, "verified_type": 0}
- 获取人脸实名认证二维码:python3 scripts/show_real_name_auth_qr_code.py,示例响应 {"qr_code_url": "https://auth.huaweicloud.com/authui/thirdLogin?idp=CHNIDP&service=https%3a%2f%2f..."}
参数确认:两个 API 均无请求参数。HUAWEICLOUD_SDK_AK / HUAWEI_ACCESS_KEY 与 HUAWEICLOUD_SDK_SK / HUAWEI_SECRET_KEY 为必填,来自环境变量;HTTPS_PROXY 可选,用于内网代理;region 固定为 cn-north-1,硬编码在脚本中。
适用场景
- 客户需要查询自己华为云账号的实名认证状态。
- 客户需要完成或重新发起人脸实名认证,需要获取二维码 URL。
- 客户在扫码后希望确认认证是否已完成。
限制与红线
- 绝不收集真实身份信息(身份证号、证件照片、AK/SK)。
- 绝不代替用户完成认证——二维码扫描与人脸识别必须由用户本人在自己手机上完成。
- 不自动轮询或等待验证;仅在用户确认后重新查询。
- 二维码过期时,需先询问用户再重新获取,绝不自动重新获取。
- 仅限华为云场景;其他云服务商的 KYC 流程不在范围内。
错误处理:CBC.0151 访问被拒,提示用户检查 AK/SK 有效性;CBC.99007297 子账号无二维码 API 权限,脚本以退出码 0 返回结构化 JSON {"qr_code_url": null, "error_code": "CBC.99007297", ...},提示用户使用主账号 AK/SK;CBC.0100 参数无效,检查请求参数;CBC.0999 其他,建议联系华为云支持;缺少 AK/SK 时两个脚本均向 stderr 打印 ERROR: AK/SK not found ... 并以退出码 2 退出(无堆栈跟踪),可用自检命令 python3 scripts/show_real_name_auth_status.py --missing-creds-check 验证;网络错误建议设置 HTTPS_PROXY。
参考文档包括 IAM 策略(BSS 实名认证只读访问的最小权限策略)、验证方法、数据流图、验收标准及相关命令。