配置长期访问凭证(AccessKey)
AccessKey(AK)是 RAM 用户的长期访问凭证,适用于 CI/CD 流水线、定时任务、无浏览器远程终端等需要长期稳定认证的自动化场景。本文介绍如何在阿里云 CLI 中配置、验证和删除 AccessKey 凭证。
前提条件
阿里云 CLI 版本 ≥
3.3.0。运行aliyun version查看当前版本,低于此版本请参见安装/更新 CLI升级。已获取 RAM 用户的 AccessKey ID 和 AccessKey Secret。建议使用 RAM 子用户的 AK,不要使用主账号 AK(主账号拥有所有资源权限,泄露后影响范围不可控)。获取方式参见创建AccessKey。
配置凭证
CLI 提供三种配置 AK 的方式:交互式配置、非交互式配置(适合脚本自动化)和环境变量(适合 CI/CD 流水线),三者效果相同。
交互式配置
运行以下命令开始配置。将
<ProfileName>替换为自定义的配置名称(如AkProfile):aliyun configure --profile <ProfileName>按提示依次输入AccessKey Id、AccessKey Secret、默认地域及语言等配置信息 :
Configuring profile 'AkProfile' in 'AK' authenticate mode... Access Key Id []: <yourAccessKeyID> Access Key Secret []: <yourAccessKeySecret> Default Region Id []: cn-shanghai Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[AkProfile] ...Done.终端显示
Configure Done及欢迎信息,表示配置成功。
配置成功后,该配置自动成为当前激活的配置。如需切换到其他配置,运行 aliyun configure switch --profile <ProfileName> 命令。
非交互式配置
Bash
aliyun configure set \
--profile AkProfile \
--mode AK \
--access-key-id <yourAccessKeyID> \
--access-key-secret <yourAccessKeySecret> \
--region cn-hangzhouPowerShell
aliyun configure set `
--profile AkProfile `
--mode AK `
--access-key-id <yourAccessKeyID> `
--access-key-secret <yourAccessKeySecret> `
--region cn-hangzhou验证凭证配置
配置完成后,运行以下命令验证凭证是否生效:
aliyun sts get-caller-identity输出类似如下,通过Arn及UserId字段可以确定当前配置的AccessKey的归属用户:
{
"AccountId": "173305794806****",
"Arn": "acs:ram::173305794806****:user/<user-name>",
"IdentityType": "RAMUser",
"PrincipalId": "20407046578681****",
"RequestId": "D012C652-FF76-5101-81B3-45A1DDAC****",
"UserId": "20407046578681****"
}通过环境变量配置
CLI 优先使用 Profile 中的配置;若 Profile 已配置但个别字段为空,则自动从环境变量中补全缺失值。
Linux / macOS
export ALIBABA_CLOUD_ACCESS_KEY_ID="LTAI5txxx"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="yourSecret"PowerShell
$env:ALIBABA_CLOUD_ACCESS_KEY_ID = "LTAI5txxx"
$env:ALIBABA_CLOUD_ACCESS_KEY_SECRET = "yourSecret"删除凭证
删除 CLI 本地配置中的 AK 凭证:
aliyun configure delete --profile <ProfileName>此命令仅删除 ~/.aliyun/config.json 中的对应配置条目,不会禁用或删除 RAM 控制台中的 AccessKey。确认不再使用该 AK 时,需同时在 RAM 控制台手动禁用或删除。
常见问题
环境变量和配置文件同时存在时,CLI 使用哪个?
CLI 优先使用配置文件中的配置;若 Profile 已配置但个别字段为空,则自动从环境变量中补全缺失值。