创建AccessKey

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

本文为您介绍什么是AccessKey,以及如何创建RAM用户和阿里云账号(主账号)的访问密钥AccessKey(简称AK)。

什么是AccessKey

访问密钥AccessKey(简称AK)是阿里云提供给用户的长期访问凭证,由AccessKey IDAccessKey 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 IDAccessKey Secret由访问控制(RAM)根据算法生成,阿里云对其存储及传输均进行加密。

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

AccessKey分类

AccessKey归属于阿里云账号或RAM用户。依据所属主体类型,可以将AccessKey分为以下两类:

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

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

  • RAM用户AccessKey(推荐)

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

权限需求

由于主账号权限过大,实际环境中应尽量避免使用主账号创建AccessKey,转而使用被授予相应权限的RAM用户来创建和管理AccessKey(主账号AccessKey除外)。

  • 您可以为管理人员授予AliyunRAMFullAccess(RAM管理员)系统策略,以允许其创建和管理RAM用户的AccessKey。

  • 您也可以打开RAM全局安全设置中的允许用户管理AccessKey选项(详情请参见管理RAM用户安全设置),允许用户管理自己的AccessKey。

    说明

    打开该设置意味着所有RAM用户均可自主管理自己的AccessKey(包括创建、禁用、删除等所有AccessKey相关操作),除非管理员为其分配显式拒绝AccessKey操作的权限策略。

    在生产环境中不建议打开该设置。如需允许特定用户自主管理AccessKey,建议使用自定义策略,并将Resource限定在用户本人。参考策略如下:

    允许自主创建AccessKey

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ram:CreateAccessKey",
            "ram:ListAccessKeys"
          ],
          "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME"
        }
      ]
    }

    允许用户自主管理AccessKey

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ram:CreateAccessKey",
            "ram:ListAccessKeys",
            "ram:UpdateAccessKey",
            "ram:DeleteAccessKey",
            "ram:GetAccessKeyLastUsed",
            "ram:ListAccessKeysInRecycleBin"
          ],
          "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME"
        }
      ]
    }

创建RAM用户的AccessKey

请使用RAM管理员(AliyunRAMFullAccess)完成以下操作。如果您的账号中还没有任何RAM用户,请参考创建RAM用户

说明

RAM用户自主创建AccessKey的操作步骤同创建阿里云账号(主账号)的AccessKey

控制台

  1. 登录RAM控制台。在左侧导航栏选择身份管理 > 用户

  2. 在用户列表中,找到目标 RAM 用户,单击其名称。

  3. 认证管理页签下的AccessKey区域,单击创建AccessKey

    image

    说明

    每个 RAM 用户最多允许创建 2 个 AccessKey。一个正常使用,另一个在需要轮转时创建,用于替换旧的AccessKey。

  4. 在弹出的对话框中,阅读AccessKey使用场景及使用建议,建议您遵从使用建议选择更合适的凭据方案。如必须创建AccessKey,请选择对应使用场景,勾选我确认必须创建AccessKey,然后单击继续创建。创建的AccessKey不受使用场景的影响。

    image

  5. 根据界面提示完成安全验证。

  6. 创建AccessKey对话框,保存AccessKey IDAccessKey Secret,然后单击确定

    配置AccessKey网络访问限制策略(可选):您可以限制使用永久AccessKeyAPI请求来源IP地址,将AccessKey调用来源控制在可信的网络环境内,提升AccessKey的安全性。建议您明确AccessKey使用的网络环境,然后单击配置网络访问策略。具体操作请参见配置RAM用户的AccessKey级网络访问限制策略

    Snipaste_2025-12-04_12-07-47

    重要

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

OpenAPI

调用CreateAccessKey接口创建AccessKey,并传入以下参数:

  • UserPrincipalName:AccessKey绑定用户的登录名称,格式为test@example.onaliyun.com。用户的登录名称可在RAM控制台查看。

重要

为降低AccessKey泄露的风险,AccessKey Secret 只在调用CreateAccessKey接口时显示,后续无法查看。请务必妥善保管。

创建阿里云账号(主账号)的AccessKey(不推荐)

警告

如非必要,强烈不建议创建和使用主账号AccessKey。在创建和使用主账号AccessKey之前,请先评估是否可以使用RAM用户AccessKey替代。

  1. 使用阿里云账号(主账号)登录阿里云控制台

  2. 将鼠标悬浮在右上方的账号图标上,单击AccessKey

    image

  3. 不建议使用云账号AccessKey对话框,阅读创建主账号AccessKey的风险,如果必须创建主账号AccessKey,勾选我确认知晓云账号AccessKey安全风险,然后单击继续使用云账号AccessKey

    image

  4. AccessKey页面,单击创建AccessKey

    image

    说明

    阿里云账号最多允许创建 2 个 AccessKey。一个正常使用,另一个在需要轮转时创建,用于替换旧的AccessKey。

  5. 创建云账号AccessKey对话框,再次阅读创建主账号AccessKey的风险及使用限制,如果确定要创建主账号AccessKey,勾选我确认知晓云账号AccessKey安全风险,然后单击继续使用云账号AccessKey

    20251204150912

  6. 根据界面提示完成安全验证。

  7. 创建AccessKey对话框,保存AccessKey IDAccessKey Secret,然后勾选我已保存好AccessKey Secret,最后单击确定

    配置AccessKey网络访问限制策略(推荐):您可以限制使用永久AccessKeyAPI请求来源IP地址,将AccessKey调用来源控制在可信的网络环境内,提升AccessKey的安全性。建议您明确AccessKey使用的网络环境,然后单击配置网络访问策略。具体操作请参见配置主账号的AccessKey级网络访问限制策略

    image

    重要

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

相关文档