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 已配置但個別欄位為空白,則自動從環境變數中補全缺失值。