怎么获取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://idctop.com/article/533518.html

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

相关推荐

  • 服务器防御到底是什么,如何有效防止DDoS攻击?

    服务器防御本质上是通过在网络、主机、应用等多个维度构建多层级的技术屏障,在恶意流量触达业务核心逻辑前,通过识别、清洗、拦截等手段,确保服务器业务的可用性、数据完整性与系统安全性,服务器防御的核心逻辑与应用场景服务器防御并非单一的防火墙配置,而是一个涵盖了从物理链路到应用逻辑的全链路防护体系,随着攻击手段从简单的……

    2026年7月14日
    500
  • fund域名注册需要什么条件,有哪些注意事项?

    对于金融、投资、众筹类网站,注册.fund域名能快速建立行业信任感,且目前注册成本较低,是值得优先考虑的新顶级域名之一,什么是.fund域名,为什么它越来越受欢迎?.fund域名是ICANN批准的新通用顶级域名,专门为基金、金融、投资、众筹等领域设计,它的核心价值在于后缀本身就是行业关键词,用户一眼就能看出网站……

    2026年7月28日
    500
  • 服务器端和客户端到底怎么区别?区分服务器和客户端的方法

    服务器端负责存储数据、处理逻辑和响应请求,像是一个不知疲倦的后台管家;而客户端则是用户直接交互的界面,负责展示信息和收集指令,如同面向用户的窗口,在理解这一概念时,我们不需要陷入复杂的代码细节,只需记住一个最简单的比喻:如果你把网络请求比作去餐厅吃饭,客户端就是你坐在餐桌前看菜单、点菜、品尝食物的过程;而服务器……

    2026年7月4日
    11400
  • 大模型的YaRN是什么位置编码扩展方法?大模型位置编码扩展方法有哪些

    YaRN(Yet another RoPE extension)是一种基于注意力缩放和位置插值的位置编码扩展方法,它能在不增加训练成本的前提下,让大模型轻松处理比训练时更长的上下文窗口,YaRN解决的核心痛点:长文本的“记忆断裂”在2026年的大模型应用落地场景中,我们常遇到这样的尴尬:模型在训练时只见过4K或……

    2026年6月21日
    2510
  • 服务器job报错怎么办?服务器job任务失败原因

    服务器Job的核心价值在于通过自动化调度实现业务逻辑的解耦与高效执行,选择方案时需根据实时性要求、数据量级及运维成本,在原生工具与专业调度平台之间做出权衡,在数字化运维的语境下,服务器Job不再仅仅是后台默默运行的脚本,而是驱动业务流转的“数字工人”,它们负责处理定时报表、数据清洗、邮件发送以及微服务间的异步通……

    2026年7月7日
    18300
  • 返回顶部代码html怎么用,网页制作返回顶部按钮代码

    </div><!– 返回顶部按钮 –><button id=”back-to-top” title=”返回顶部”>&#8679;</button><script> // 获取按钮 var mybutton = document.getEle……

    2026年7月11日
    14300
  • inputtype_Util APIs是什么?,怎么用

    inputtype_Util APIs 是前端开发中处理表单输入类型的专用工具集,它通过统一接口封装了输入验证、类型转换与状态管理,能显著提升表单开发效率,inputtype_Util APIs 使用场景有哪些inputtype_Util APIs 的定位是专注输入类型处理,它不关心UI层渲染,只负责数据层面的……

    2026年8月20日
    400
  • 大模型治理是什么?大模型治理平台有哪些

    大模型治理的核心在于建立“技术可控、合规合法、价值对齐”的闭环体系,通过全生命周期的风险管理确保AI安全落地,随着生成式人工智能从概念验证走向大规模商业应用,单纯追求参数规模的时代已经过去,2026年的行业共识是,没有治理的大模型如同没有刹车的跑车,跑得越快,风险越高,企业若想在激烈的市场竞争中存活,必须将治理……

    2026年6月20日
    2200
  • 上海ai大模型市场怎么样?上海ai大模型应用场景

    上海AI大模型市场已形成以“应用落地”和“垂直场景深耕”为核心的成熟生态,企业选型应优先关注具备本地化服务能力的头部厂商及其在金融、制造等领域的实战案例,如今在上海,提到人工智能,大家脑海里浮现的不再仅仅是炫酷的代码或遥远的科幻概念,而是实实在在能帮企业省钱、提效的解决方案,这里不仅是中国的经济中心,更是大模型……

    2026年6月13日
    3810
  • AI大模型项目简历怎么写?大模型算法工程师面试技巧

    AI大模型项目简历的核心在于用具体业务场景和量化成果证明你的落地能力,而非罗列技术名词,在2026年的求职市场中,仅仅展示“熟悉Transformer架构”或“调用过API”已经无法通过初筛,招聘方更关注的是你如何将大模型技术转化为实际的业务价值,以及你在处理数据隐私、推理成本和响应延迟等实际痛点时的解决方案……

    2026年6月14日
    4100

发表回复

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