返回顶部
返回首页 会员充值 我的足迹 返回上一页
具身智能
情绪经济
商业航天
十五五
银发经济

IAM认证Token鉴权

调用华为云API有两种IAM认证方式:Token认证和AK/SK认证。Token认证适用于一次性调用场景——先通过IAM接口获取用户Token(响应头X-Subject-Token),再将其设置到API请求的X-Auth-Token头域中完成鉴权。AK/SK认证则与APP认证签名机制相同,用IAM的AK/SK替代AppKey/AppSecret对请求签名,推荐使用V11签名算法。企业联邦用户不能创建永久访问密钥,但可以创建临时访问凭证(临时AK/SK+SecurityToken)。访问密钥保护开启后仅管理员可管理用户的访问密钥。

Token认证——获取与使用X-Subject-Token

Token认证适用于需要临时访问API的场景。调用者先通过IAM的获取用户Token接口获取Token,再将Token值设置到API请求的“X-Auth-Token”头域中。获取Token的curl命令格式:curl -X POST https://{iam_endpoint}/v3/auth/tokens -H 'content-type: application/json' -d '{"auth": {"identity": {"methods": ["password"], "password": {"user": {"name": "user_name", "domain": {"name": "user_name"}, "password": "password"}}}, "scope": {"project": {"id": "project_id"}}}}'。其中{iam_endpoint}通过地区和终端节点获取,{user_name}和{password}替换为连接IAM服务器的用户名和密码,{project_id}为项目ID(在控制台“我的凭证”中查看)。

请求成功后,响应消息头中的“X-Subject-Token”即为Token值。使用export Token=X-Subject-Token设置为环境变量,然后在调用API时添加头域:curl -X 请求方法 域名+URL -H "x-auth-token:$Token" -vk。

AK/SK认证——签名算法与V11版本

AK/SK认证与APP认证签名机制相同,用IAM的AK代替AppKey,SK代替AppSecret,即可完成签名和访问。AK是访问密钥ID,与私有访问密钥关联的唯一标识符;SK是与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方并防止请求被修改。

AK/SK认证的签名算法推荐使用V11版本。用户可通过实例参数sign_algorithms修改签名算法(需提交工单申请),但修改可能影响存量业务,请谨慎操作。各语言V11签名Demo包括:Java(WebSocketDemoV11.java、OkHttpDemoV11.java、LargeFileUploadDemoV11.java、HttpClientDemoV11.java)、Go(demo_v11.go)、Python(demo_v11.py)、C++(demoV11.cpp)。客户端同样需要注意本地时间与时钟服务器的同步,时间差大于15分钟将拒绝请求。

访问密钥管理与企业联邦用户临时凭证

每个用户最多可创建2个访问密钥,不支持增加配额。每个访问密钥权限相同、相互独立,包括一对AK/SK,有效期为永久,每个访问密钥仅能下载一次。生成AK/SK步骤:控制台→我的凭证→访问密钥→新增访问密钥→勾选确认→输入描述→下载credentials.csv文件(包含User Name、Access Key Id、Secret Access Key)。建议妥善保管并定期修改访问密钥(方法为删除旧密钥后重新生成)。

访问密钥保护开启后,仅管理员可以管理用户的访问密钥。IAM用户可在“安全设置→敏感操作→访问密钥保护”确认所属账号是否开启该功能。企业联邦用户不能创建访问密钥,但可以创建临时访问凭证(临时AK/SK和SecurityToken),通过IAM接口获取。临时访问凭证有效期可配置,适用于联邦身份认证场景,如企业通过SSO登录华为云后调用API。

Token认证与AK/SK认证的适用场景选择

Token认证的优点是一次获取多次使用,适合批量API调用场景,但Token有有效期(通常24小时),过期需重新获取。获取Token需要用户名密码,存在凭证暴露风险,建议使用临时凭证或AK/SK认证替代。AK/SK认证优点是无需每次获取Token,签名机制防篡改,安全性更高,适合长期运行的应用程序和自动化脚本。但AK/SK生成后永不过期,需妥善保管并定期轮换。

安全建议:IAM用户访问密钥应定期轮换(建议每90天);企业联邦用户优先使用临时访问凭证;开启敏感操作保护(删除密钥等操作需二次验证);AK/SK禁止硬编码,应通过环境变量或配置管理工具存储;调用API时使用HTTPS协议确保传输安全;如怀疑AK/SK泄露,立即在控制台删除并重新生成。
点击阅读报告原文: 华为云:2026年 API 网关开发指南(69页)
相关报告