怎么获取IAM SDK访问密钥,有哪些步骤?

通过IAM SDK获取访问密钥,核心流程是创建IAM用户并授权,然后使用Python SDK调用API获取临时或长期凭证。 很多开发者初次接触云服务时,会混淆IAM密钥和访问密钥(AK/SK)的概念,实际上SDK获取密钥通常指的是获取临时安全凭证,这在自动化部署和临时授权场景中非常实用。参考2

IAM SDK获取访问密钥的两种典型场景

根据使用场景的不同,IAM SDK获取密钥分为长期密钥和临时密钥两种方式,长期密钥适合开发测试环境,临时密钥则在生产环境中更安全。

创建阿里云 API 的密钥
加载中

长期密钥获取方式(直接创建AK/SK)

长期密钥通常通过云控制台手动创建,或由管理员通过IAM接口创建,SDK也可以调用IAM接口直接创建永久AK/SK,但需要调用者具备管理员权限,这种方式获取的密钥不会过期,适合本地调试、数据处理等场景,但需要妥善保管。

  • 操作路径:IAM控制台 → 用户管理 → 指定用户 → 创建访问密钥。
  • SDK方式:使用Python SDK调用createPermanentAccessKey接口(需管理员账户)。
  • 注意事项:长期密钥泄露风险较高,建议在非生产环境使用。

临时密钥获取方式(推荐)

临时密钥通过STS(Security Token Service)服务获取,有效期通常为15分钟到24小时,SDK调用IAM接口返回临时AK、SK和SecurityToken,配合签名使用,这种方式在云函数、容器化部署、跨账号授权等场景中广泛使用。

  • 核心接口:keystoneCreateTemporaryAccessKeyByToken(华为云)或AssumeRole(简米云)。
  • 返回参数:临时AK、SK、SecurityToken、过期时间。
  • 优势:即使泄露,影响范围有限;可通过权限策略精确控制访问资源。

华为云IAM SDK获取访问密钥实操步骤

下面以华为云Python SDK为例,演示如何获取临时访问密钥,整个过程分为环境准备、SDK配置和接口调用三步。

怎么获取IAM SDK访问密钥,有哪些步骤?

环境准备与SDK安装

确保已完成IAM用户创建和授权,需要为IAM用户授予Security Administrator或自定义策略(包含iam:credentials:createTemporaryAccessKey权限),然后安装相关SDK:参考2

pip install huaweicloud-sdk-python-iam huaweicloud-sdk-python-core

获取临时密钥的Python代码示例

使用已有AK/SK进行认证,调用IAM接口获取临时凭证,代码核心逻辑如下:

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkiam.v3 import IamClient, KeystoneCreateTemporaryAccessKeyByTokenRequest
from huaweicloudsdkiam.v3.model import KeystoneCreateTemporaryAccessKeyByTokenRequestBody
# 认证信息(使用长期AK/SK)
credentials = BasicCredentials(ak, sk, domain_id)
# 创建IAM客户端,指定区域Endpoint
client = IamClient.new_builder().with_credentials(credentials).with_endpoint("iam.cn-north-4.myhuaweicloud.com").build()
# 构建请求体,指定用户ID和过期时间
request = KeystoneCreateTemporaryAccessKeyByTokenRequest()
request.body = KeystoneCreateTemporaryAccessKeyByTokenRequestBody(
    auth={"identity": {"methods": ["token"], "token": {"id": token}}},  # 也可直接使用AK/SK认证
    duration_seconds=3600
)
response = client.keystone_create_temporary_access_key_by_token(request)
  • 关键参数:duration_seconds控制密钥有效期,domain_id和user_id需要提前获取。
  • 返回结果:response.credential中包含临时AK、SK、SecurityToken和过期时间。

Python SDK获取临时密钥常见报错与解决

在实际调用中,权限不足是最常见的报错,如果提示auth failed或no permission,请检查IAM用户是否具有Security Administrator权限。区域节点配置错误也会导致调用失败,需确认Endpoint与IAM服务所在区域一致。

怎么获取IAM SDK访问密钥,有哪些步骤?

报错排查列表:

  • 403 Forbidden:权限不足,需添加策略iam:credentials:createTemporaryAccessKey。
  • 401 Unauthorized:AK/SK或Token过期,请检查凭证有效期。
  • 404 Not Found:Endpoint或API版本错误,建议使用最新SDK版本(如3.x)。
  • Timeout:网络原因,可尝试更换Endpoint或重试。

IAM密钥与AK/SK的区别对比

很多刚接触云服务的人会问:IAM密钥和访问密钥是一回事吗?行业共识认为,两者定义不同,IAM密钥通常指用户登录密码或访问密钥(AK/SK),而AK/SK是访问密钥的具体形式,下表从多个维度对比常用的长期AK/SK和临时密钥:

对比维度 长期AK/SK 临时密钥
有效期 永久(除非手动删除) 15分钟至24小时
获取方式 控制台手动创建或IAM管理员调用API SDK/API调用STS服务
使用场景 开发测试、本地数据处理 云函数、容器、临时授权
安全性 较低,需严格保管 较高,短期有效,可撤销
权限控制 固定权限,依赖用户策略 可附加临时权限策略,更灵活

业内专家指出,临时密钥在实际生产中正逐渐取代长期密钥,尤其在自动化运维和跨账号访问场景中,其安全性优势明显。

不同区域IAM密钥管理与配置

云服务中IAM服务通常有区域化部署,不同区域的Endpoint不同,例如华为云IAM的国内Endpoint有iam.cn-north-4.myhuaweicloud.com(北京四)、iam.cn-east-3.myhuaweicloud.com(华东三)等。如果跨区域使用IAM SDK获取密钥,需要明确指定目标区域的Endpoint,否则可能导致资源访问失败。参考2

怎么获取IAM SDK访问密钥,有哪些步骤?

密钥管理中的权限策略配置

获取临时密钥时,可以在请求中附加临时权限策略,限制临时密钥能访问的资源范围。

{
    "Statement": [
        {
            "Effect": "Allow",
            "Action": ["obs:object:GetObject"],
            "Resource": ["obs::bucket:example-bucket"]
        }
    ]
}
  • 该策略仅允许临时密钥读取指定桶中的对象,进一步缩小风险面。
  • 如果不指定策略,临时密钥继承IAM用户本身的权限。

Q&A:IAM SDK获取密钥常见问题解答

问题1:Python SDK获取临时密钥时提示“policy not found”怎么办?

这类报错通常是因为IAM用户缺少iam:credentials:createTemporaryAccessKey权限,请检查用户权限策略,确保包含该操作,同时确认使用的认证凭证(AK/SK或Token)有效且未过期。

问题2:IAM密钥和AK/SK有什么区别?为什么SDK获取的密钥有多个字段?

IAM密钥是广义概念,包括登录密码和访问密钥(AK/SK),SDK获取的临时密钥包含三个字段:临时AK、临时SK和SecurityToken,其中SecurityToken是临时会话令牌,用于签名认证,这是与长期AK/SK最大的区别。

问题3:不同区域下的IAM密钥管理是否独立?能否跨区域使用?

IAM服务属于全局服务,但不同区域的IAM服务Endpoint独立,获取的临时密钥可以跨区域访问,前提是权限策略允许,例如在北京四区域获取的临时密钥,可以用于访问华东三的OBS桶,只要策略中不限制区域,但建议在Endpoint配置时选择资源所在区域,避免网络延迟。

掌握IAM SDK获取密钥,本质上是理解云服务的权限模型。 无论是华为云还是其他云厂商,核心逻辑都是通过身份认证获取临时凭证,再基于凭证访问资源,生产环境中优先使用临时密钥,并配合细粒度权限策略,是保障云上安全的最佳实践。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/533518.html

赞 (0)
华为云域名MX记录怎么设置,域名配置问题怎么解决?
上一篇 2026年7月31日 11:19
IPv6-EIP最新动态有哪些?,如何配置
下一篇 2026年7月31日 11:21

相关推荐

  • IP服务器与LDAP账号密码登录如何配置?,有什么注意事项?

    配置LDAP账号密码登录,核心是将LDAP服务器作为统一认证源,IP服务器仅需配置LDAP连接参数即可实现账号密码的统一管理, 这种方法避免了在每台服务器上单独创建用户,简化了运维,尤其适用于服务器数量较多的环境,行业共识认为,LDAP统一认证是提升IT运维效率的有效手段,下面我们详细拆解整个配置流程,LDAP……

    2026年8月1日
    700
  • 大模型分布式训练数据并行怎么配?数据并行训练技巧

    大模型分布式训练采用数据并行策略,核心在于将数据集切分后分发至多卡同步梯度,通过All-Reduce通信机制实现模型参数的一致性更新,这是解决显存瓶颈、提升训练吞吐量的标准工业实践,随着大语言模型参数量突破千亿甚至万亿级别,单机单卡的显存限制已成为制约模型迭代速度的最大障碍,业内专家指出,单纯依靠增加单卡显存不……

    2026年6月16日
    2200
  • 返回数量查询方法有哪些具体步骤,怎么办?

    控制返回数量是电商运营的关键指标,直接影响店铺利润和平台权重,需要从产品、物流、售后三个维度系统降低退货率,很多卖家每天盯着后台的退货数量,心里发慌,一单退货不仅没赚到钱,还可能倒贴运费和包装费,更麻烦的是订单越多、退货跟着涨,店铺评分被拖垮,今天我就把压箱底的方法拆开讲,从退货原因分析到具体操作,一步步帮你把……

    2026年7月24日
    1500
  • is_executable函数的作用是什么?, 怎么用

    is_executable_是PHP中判断文件是否可执行的关键函数,它的正确使用直接关系到网站文件安全与权限管理的准确性,在PHP开发中,文件权限检查是基础且重要的一环,is_executable_函数(通常对应PHP的is_executable())用于判断指定文件或目录是否具有执行权限,无论是处理上传文件……

    2026年8月18日
    400
  • ip访问mysql数据库_函数如何访问MySQL数据库?

    通过IP远程访问MySQL数据库的关键在于配置用户权限和防火墙规则,而函数调用则是通过编程语言提供的数据库驱动实现连接与操作,无论是开发阶段还是生产环境,远程连接数据库都是常见需求,下面从授权配置到函数实现,一步步拆解清楚,IP访问MySQL数据库的权限配置与连接步骤授权远程用户访问MySQLMySQL默认只允……

    2026年8月19日
    500
  • IIS服务器架构如何安装?,详细步骤有哪些

    在Windows Server上部署网站,IIS(Internet Information Services)是原生且成本最低的选择,正确做法是:先用PowerShell命令快速安装核心组件,再根据实际架构需求补充功能模块,最后完成站点绑定,很多朋友第一次打开服务器管理器,看到IIS那一长串角色服务就发懵,别急……

    2026年8月21日
    400
  • 服务器价格表怎么看,哪个品牌性价比最高?

    服务器价格表不是一张固定报价单,它由处理器、内存、存储、带宽、品牌服务以及采购方式(租用/购买/托管)共同决定,2026年,主流企业级服务器价格从数千元到数十万元不等,入门级配置通常在万元以内,高性能机型则需根据业务实际需求定制,理解价格表背后的配置逻辑,才能避免花冤枉钱,2026年服务器价格表深度解析处理器与……

    2026年7月20日
    600
  • 服务器响应客户端请求慢怎么办,服务器响应时间过长怎么解决

    服务器响应客户端请求的本质是网络通信中的握手与数据交换过程,其效率直接取决于网络延迟、服务器负载及代码优化程度,优化核心在于减少往返时间(RTT)并提升并发处理能力,当你在浏览器输入网址并敲击回车的那一刻,背后其实发生了一场精密且高速的“对话”,这场对话并非简单的单向发送,而是客户端(如你的电脑或手机)与服务器……

    2026年7月4日
    18600
  • IIS7如何配置域名?,域名绑定怎么设置

    IIS7配置域名的核心在于正确设置网站绑定中的主机头值,并确保DNS解析记录指向服务器IP,两者缺一不可,IIS7配置域名步骤:从绑定到DNS解析操作IIS7配置域名并不复杂,但有两个关键节点必须确认:一是服务器本身已绑定至少一个公网IP,二是你拥有该域名的解析权限,下面按实际动手顺序拆解,准备工作:确认服务器……

    2026年8月5日
    500
  • 服务器和IP地址的绑定方法是什么,怎么设置?

    服务器和IP地址是网站运营中不可分割的两个概念,理解它们的关系并正确配置,是提升网站SEO排名和用户体验的关键,服务器IP地址的区别:共享IP与独享IP,哪种更适合你的网站?共享IP的特点与风险共享IP意味着多个网站共用同一个IP地址,成本低,适合预算有限的个人站长,但隐患也很明显,如果同IP的某个网站被搜索引……

    2026年7月20日
    600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注