跳到教程内容

如何创建和获取 AWS 访问密钥(Access Key)

更新于 2026-10-15

简短回答

在 IAM 控制台打开一个 IAM 用户,进入「安全凭证(Security credentials)」选项卡,在「访问密钥(Access keys)」区域点击「创建访问密钥(Create access key)」,就能得到 Access Key ID 和 Secret Access Key。Secret 只在创建时显示一次,务必当场保存;不要为根用户创建访问密钥。

先分清根用户和 IAM 用户

用注册邮箱和密码登录的是根用户(root user),它拥有账号的全部权限。AWS 文档明确要求不要用根用户凭证创建访问密钥:密钥一旦泄露,别人就可能长期控制整个账号。正确的做法是为程序或工具单独创建一个 IAM 用户,只授予需要的权限,再为这个用户创建访问密钥。

访问密钥由两部分组成:Access Key ID(形如 AKIAIOSFODNN7EXAMPLE)和 Secret Access Key,两者必须配对使用才能签名 API 请求。

如果你所在的组织通过 IAM Identity Center 登录 AWS,通常不需要长期密钥,直接使用下文的临时凭据即可。AWS 也推荐优先使用临时凭据。

第一步:创建专用 IAM 用户

  1. 用具备 IAM 管理权限的身份登录 AWS 管理控制台,打开 IAM 控制台。
  2. 在左侧导航选择「用户(Users)」,点击「创建用户(Create user)」。
  3. 在「指定用户详细信息(Specify user details)」页填写用户名,例如 deploy-bot。只用于 API 调用的用户不需要开启控制台登录。
  4. 在「设置权限(Set permissions)」页把用户加入用户组,或直接附加权限策略,只选这个用途真正需要的权限。
  5. 检查设置后点击「创建用户(Create user)」。

第二步:创建访问密钥

  1. 在「用户」列表中点击该用户名,进入用户详情页。
  2. 切换到「安全凭证(Security credentials)」选项卡,在「访问密钥(Access keys)」区域点击「创建访问密钥(Create access key)」。按钮不可点时,说明该用户已有两把密钥,需要先删除一把。
  3. 在「Access key best practices & alternatives」页面选择用例,AWS 会推荐可替代长期密钥的方案。确认仍需要长期密钥时,选择「其他(Other)」并点击「下一步(Next)」。
  4. (可选)填写描述标签,记录这把密钥的用途,然后点击「创建访问密钥」。
  5. 在「Retrieve access keys」页点击「显示(Show)」查看 Secret Access Key,或点击「Download .csv file」保存到安全的位置。

这是唯一一次查看或下载 Secret Access Key 的机会。离开这个页面后,控制台只显示 Access Key ID,Secret 无法再找回。新密钥创建后默认就是有效(Active)状态,可以立即使用。

Secret 丢失或需要轮换时怎么办

Secret 无法通过 Access Key ID 找回,AWS 给出的办法是删除旧密钥、创建新密钥。为了不让正在使用的程序中断,建议按下面的顺序替换,定期轮换时也是同样的流程:

  1. 在旧密钥仍有效时,为同一个用户创建第二把访问密钥。
  2. 把所有程序和工具改用新密钥。
  3. 查看旧密钥的上次使用时间(Last used),可以等几天确认没有新的调用。
  4. 在「操作(Actions)」中先「停用(Deactivate)」旧密钥,而不是直接删除。如果发现还有程序依赖它,可以重新激活。
  5. 确认一切正常后再删除旧密钥。删除后无法恢复。

使用 IAM Identity Center 临时凭据

如果账号接入了 IAM Identity Center,可以直接在 AWS 访问门户(AWS access portal)获取临时凭据,不必创建长期密钥:

  1. 通过管理员提供的登录地址进入 AWS 访问门户。
  2. 在「Accounts」选项卡中展开目标账号,找到分配给你的角色(即权限集)。
  3. 点击角色旁边的「Access keys」或「Command line or programmatic access」。
  4. 在「Get credentials」对话框中选择操作系统,然后按需复制:Option 1 是环境变量,Option 2 是写入 credentials 文件的配置,Option 3 是可逐项复制的单独值。

临时凭据比 IAM 用户密钥多一个 Session Token(环境变量 AWS_SESSION_TOKEN),三项必须来自同一次获取、一起使用。会话时长由权限集决定,可设为 1 到 12 小时,默认 1 小时,过期后需要重新获取。

权限、数量上限与日常维护

  • 最小权限:只授予程序真正需要的操作。AWS 入门示例里的 PowerUserAccess 覆盖除 IAM 和 Organizations 以外的所有服务,生产环境应换成更严格的策略。
  • 数量上限:每个 IAM 用户最多两把访问密钥。已有两把时,必须删除(而不只是停用)一把,才能创建新的。
  • 不要把密钥写进代码或提交到代码仓库。AWS 也提醒,共享 credentials 文件中的密钥是以明文保存的。
  • 定期检查:在 IAM 用户列表中打开 Access key age 和 Access key last used 列,找出该轮换或长期未用的密钥。
  • 不再使用的密钥先停用、观察一段时间后再删除。

在 CloudPilot 中使用访问密钥

CloudPilot 是一个网页版 AWS 管理面板。在面板的「凭据」中可以保存多组配置:IAM 用户密钥填写 Access Key ID 和 Secret Access Key;IAM Identity Center 临时凭据还要填写 Session Token。保存并选中后,面板会显示对应的 12 位 AWS 账号 ID 供你核对。凭据在服务端加密保存,可随时删除;面板能执行哪些操作,取决于这组密钥本身的 IAM 权限。

常见问题

只有 Access Key ID,能找回 Secret Access Key 吗?

不能。Secret 只在创建时显示或下载一次。找不到时,只能创建新密钥、更新程序,再停用并删除旧密钥。

每个 IAM 用户可以有几把访问密钥?

最多两把。达到上限后「创建访问密钥」按钮会变为不可用,需要先删除一把旧密钥。

可以给根用户创建访问密钥吗?

AWS 明确建议不要这样做。根用户密钥一旦泄露,对方可能长期控制整个账号。请改用权限受限的 IAM 用户,或使用临时凭据。

Session Token 需要填吗?

使用 IAM 用户的长期密钥时不需要;使用 IAM Identity Center 等来源的临时凭据时必须填写,并且要和同一次获取的 Access Key ID、Secret 配套使用。

参考资料(AWS 官方文档)