如何创建和获取 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 用户
- 用具备 IAM 管理权限的身份登录 AWS 管理控制台,打开 IAM 控制台。
- 在左侧导航选择「用户(Users)」,点击「创建用户(Create user)」。
- 在「指定用户详细信息(Specify user details)」页填写用户名,例如 deploy-bot。只用于 API 调用的用户不需要开启控制台登录。
- 在「设置权限(Set permissions)」页把用户加入用户组,或直接附加权限策略,只选这个用途真正需要的权限。
- 检查设置后点击「创建用户(Create user)」。
第二步:创建访问密钥
- 在「用户」列表中点击该用户名,进入用户详情页。
- 切换到「安全凭证(Security credentials)」选项卡,在「访问密钥(Access keys)」区域点击「创建访问密钥(Create access key)」。按钮不可点时,说明该用户已有两把密钥,需要先删除一把。
- 在「Access key best practices & alternatives」页面选择用例,AWS 会推荐可替代长期密钥的方案。确认仍需要长期密钥时,选择「其他(Other)」并点击「下一步(Next)」。
- (可选)填写描述标签,记录这把密钥的用途,然后点击「创建访问密钥」。
- 在「Retrieve access keys」页点击「显示(Show)」查看 Secret Access Key,或点击「Download .csv file」保存到安全的位置。
这是唯一一次查看或下载 Secret Access Key 的机会。离开这个页面后,控制台只显示 Access Key ID,Secret 无法再找回。新密钥创建后默认就是有效(Active)状态,可以立即使用。
Secret 丢失或需要轮换时怎么办
Secret 无法通过 Access Key ID 找回,AWS 给出的办法是删除旧密钥、创建新密钥。为了不让正在使用的程序中断,建议按下面的顺序替换,定期轮换时也是同样的流程:
- 在旧密钥仍有效时,为同一个用户创建第二把访问密钥。
- 把所有程序和工具改用新密钥。
- 查看旧密钥的上次使用时间(Last used),可以等几天确认没有新的调用。
- 在「操作(Actions)」中先「停用(Deactivate)」旧密钥,而不是直接删除。如果发现还有程序依赖它,可以重新激活。
- 确认一切正常后再删除旧密钥。删除后无法恢复。
使用 IAM Identity Center 临时凭据
如果账号接入了 IAM Identity Center,可以直接在 AWS 访问门户(AWS access portal)获取临时凭据,不必创建长期密钥:
- 通过管理员提供的登录地址进入 AWS 访问门户。
- 在「Accounts」选项卡中展开目标账号,找到分配给你的角色(即权限集)。
- 点击角色旁边的「Access keys」或「Command line or programmatic access」。
- 在「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 配套使用。