全部产品
Search
文档中心

访问控制:访问密钥(AccessKey)常见问题

更新时间:Dec 19, 2025

本文为您介绍访问密钥(AccessKey)相关的一些常见问题。包括什么是AccessKey、如何查看AccessKey、AccessKey是否还在使用、AccessKey泄露后如何处理等。

什么是AccessKey

访问密钥AccessKey(简称AK)是阿里云提供给用户的长期访问凭证,由AccessKey ID和AccessKey Secret组成的一组密钥对。

  • AccessKey ID:访问密钥的唯一公开标识符。

  • AccessKey Secret:访问密钥的密文部分。用于对API请求进行签名,以验证请求的真实性和完整性。AccessKey Secret必须严格保密。

重要

为降低AccessKey泄露的风险,AccessKey Secret 只在创建时显示一次,后续无法查看。请务必妥善保管。

如何使用AccessKey

AccessKey不能用于控制台登录,而是用于以程序性的方式(如使用CLI、SDK、Terraform等)调用阿里云API。

根据阿里云的最佳实践,程序或服务应尽可能避免直接使用AccessKey来访问阿里云资源。阿里云提供了多种无AK方案,帮助您使用安全性更高的临时身份凭证(STS Token)访问阿里云资源。具体使用案例请参考:应用开发场景

如确有需要创建和使用AccessKey,请参考使用AccessKey的最佳实践:正确保管和使用不可避免的AccessKey

AccessKey的工作原理

AccessKey ID和AccessKey Secret由访问控制(RAM)根据算法生成,阿里云对其存储及传输均进行加密。

当程序使用AK发起请求时,请求会携带AccessKey ID以及使用AccessKey Secret加密请求内容生成的签名。阿里云收到请求后,会对其进行身份验证及请求合法性校验。关于阿里云所采用的具体签名机制,请参见V3版本请求体&签名机制

阿里云有几种AccessKey?

  • 阿里云账号(主账号)AccessKey(不推荐)

    由阿里云账号(主账号)直接创建,默认拥有当前账号下的全部操作权限,可对所有资源执行管理。一旦主账号 AccessKey 泄露,风险极高。强烈建议不创建和使用主账号AccessKey。

  • RAM用户AccessKey(推荐)

    属于RAM用户的程序访问凭证。需要先创建RAM用户,然后才能为其创建AccessKey。RAM用户AccessKey继承RAM用户的权限,可以进行最小化权限管理。建议针对每一个独立业务应用分配一个独立的RAM用户和AccessKey,防止因混用造成权限过大或泄露风险扩大

创建AccessKey后,可以查看哪些信息?

创建AccessKey后,您可以再次查看AccessKey ID、状态、最后使用云服务、最后使用时间和创建时间等基本信息。关于如何查看RAM用户的AccessKey信息,请参见查看RAM用户的AccessKey信息

创建AccessKey后,能否再次查看AccessKey ID?

可以。

创建AccessKey后,能否再次查看AccessKey Secret?

不能。为降低AccessKey泄露的风险,阿里云账号(主账号)和RAM用户的AccessKey Secret只在创建时显示,后续不支持查看,请妥善保管。

如何判断AccessKey是否还在使用?

您可以通过控制台或API查看AccessKey的最后使用时间,以此判断AccessKey是否还在使用。具体如下:

创建AccessKey后,能否修改AccessKey ID?

AccessKey ID不能修改。您只能禁用、启用或删除AccessKey。

AccessKey删除后能否恢复?

RAM提供了回收站功能,删除RAM用户的AccessKey时,会先将AccessKey移入回收站,回收站中的AccessKey支持恢复

但是,回收站中的AccessKey保存期限为30天,超过期限系统会自动清理这些AccessKey,也就是彻底删除AccessKey。您也可以在回收站中手动彻底删除Accesskey。对于彻底删除的AccessKey,无法恢复

更多信息,请参见删除RAM用户的AccessKey

警告

删除AccessKey需慎重,在使用中的AccessKey一旦删除,可能会造成您的应用系统故障。

AccessKey疑似泄露时如何处理?

具体操作,请参见AccessKey泄露处理方案

如何查询AccessKey归属的账号?

AccessKey是一种程序访问凭证,属于敏感信息,阿里云无法向您提供查询任意AccessKey归属账号的能力。

如您确实有此类需求,您可以尝试以下方法,查询您权限范围内的AccessKey归属信息:

  • 您可以使用自己的阿里云账号登录RAM控制台,在用户页面的搜索框中,输入AccessKey ID查询。如您有多个阿里云账号时,需要在各个账号中依次查询。

  • 如果您开通了资源目录,且在操作审计中创建多账号跟踪,将资源目录内所有成员的操作事件投递到日志服务SLS或对象存储OSS,您就可以在审计日志中尝试查询AccessKey归属信息。

遇到报错“There is a risk of leakage of this AccessKey.”时,如何处理?

该报错表示当前用于身份验证的AccessKey已被限制性保护。解决办法,请参见AccessKey限制性保护说明

当出现API调用被网络访问限制策略拒绝,且该拒绝不符合您的预期时,该怎么办?

问题现象

AccessKey网络访问限制策略生效后,调用来源IP地址不在允许范围内将会被拒绝,常见的报错如下:

Message: The specified parameter "AccessKeyId.AccessPolicyDenied" is not valid.
Message: code: 400, Specified access key denied due to access policy. 

解决方案

当出现调用被网络访问限制策略拒绝,且该拒绝不符合您的预期时,您可以按如下操作尝试解决:

  1. 确认被限制的AccessKey是否设置了AccessKey级网络访问限制策略。

    • 是:修改AccessKey级网络访问限制策略,将来源IP地址加入到策略中。

    • 否:继续下一步检查。

  2. 使用RAM管理员检查并修改账号级AccessKey网络访问限制策略,将来源IP地址加入到策略中。

  3. 如果还存在问题,可能考虑是因为来源IP地址不准确,您需要检查并获取准确的IP地址。

    您可以通过操作审计辅助查询AccessKey的历史调用来源IP地址。更多信息,请参见在操作审计查看历史调用IP地址