全部產品
Search
文件中心

Alibaba Cloud CLI:配置與管理身份憑證

更新時間:Jun 03, 2026

阿里雲 CLI 通過身份憑證完成認證,才能調用雲端服務 API 操作雲資源。本文介紹如何根據使用情境選擇合適的憑證類型,以及如何配置和管理憑證。

選擇憑證類型

阿里雲 CLI 支援多種憑證類型,請根據使用情境選擇對應類型。

憑證類型

適用情境

支援非互動式配置

詳細配置

OAuth(推薦

在瀏覽器中以阿里雲帳號、RAM 使用者或 SSO 登入,支援 MFA 和通行密鑰(Passkey)。無需儲存長期存取金鑰(AccessKey),安全性高。

配置 OAuth 憑證

EcsRamRole(推薦

在 ECS 執行個體內運行 CLI 時,通過執行個體綁定的 RAM 角色自動擷取臨時安全憑證,無需配置或儲存長期存取金鑰(AccessKey)。

配置 EcsRamRole 憑證

RamRoleArn(推薦

扮演 RAM 角色並以角色身份操作資源。適合臨時提權或跨帳號訪問情境。例如:以基礎許可權 RAM 使用者扮演具備資源系統管理權限的 RAM 角色,或跨阿里雲帳號訪問資源。使用臨時安全憑證STS Token。

配置 RAM 角色憑證

ChainableRamRoleArn

鏈式角色扮演(角色鏈),適用於需要跨多個帳號進行資源訪問的情境。

配置 RAM 角色鏈憑證

OIDC

通過相容 OIDC(OpenID Connect)協議的外部身份供應商頒發的 ID Token 進行身份認證和角色扮演。建議在開啟了 RRSA(RAM Roles for Service Accounts)的 ACK/ACS Pod 中使用。

配置 OIDC 憑證

CloudSSO

適合開啟了雲 SSO 和資來源目錄的多帳號企業環境。與 OAuth 類似,通過瀏覽器登入認證,屬於互動式認證方式,支援 MFA。

配置 CloudSSO 憑證

External

調用外部可執行程式動態擷取憑證(AccessKey 或臨時安全性權杖),適用於自訂憑證提供者的情境。

配置 External 憑證

CredentialsURI

通過您提供的HTTP URI 地址擷取臨時安全憑證 STS Token,適用於自建憑證分發服務的情境。

配置 CredentialsURI 憑證

StsToken

手動提供臨時安全憑證 STS Token,令牌到期後需手動更新。

配置 StsToken 憑證

BearerToken

使用 Bearer Token 認證阿里雲 API 服務,適用於CI/CD等自動化情境。

配置 BearerToken 憑證

AK(不推薦

使用阿里雲帳號或 RAM 使用者的長期存取金鑰(AccessKey)直接認證。憑證永久有效,安全性相對較低。如確實要使用,建議先參考AccessKey最佳實務

配置 AK 憑證

說明

如果使用雲命令列(Cloud Shell),系統會自動設定臨時憑證。身份為當前登入控制台的RAM使用者或角色,許可權與該身份一致,無需手動設定即可直接執行 CLI 命令。

配置憑證

阿里雲 CLI 支援兩種憑證配置方式:互動式配置、非互動式配置。

互動式配置

互動式配置通過命令列嚮導引導您完成憑證配置。運行命令後,系統會依次提示您輸入各項憑證參數。適合本地開發環境或首次配置。

aliyun configure --mode <AuthenticateMode> --profile <ProfileName>

樣本:建立一個名為 EcsProfile 的 EcsRamRole 憑證配置:

aliyun configure --mode EcsRamRole --profile EcsProfile

互動過程樣本:

Configuring profile 'EcsProfile' in 'EcsRamRole' authenticate mode...
Ecs Ram Role []: ECSAdmin
Default Region Id []: cn-shanghai
Default Output Format [json]: json (Only support json)
Default Language [zh|en] en: en
Saving profile[EcsProfile] ...Done.

非互動式配置

通過命令列參數直接指定各項憑證配置參數資訊,無需互動輸入,適用於自動化情境(如指令碼、CI/CD 流水線)。

樣本:建立一個名為 AkProfile 的 AK 憑證配置:

Bash

aliyun configure set \
  --profile AkProfile \
  --mode AK \
  --access-key-id  ************ \
  --access-key-secret ************ \
  --region "cn-shanghai"

PowerShell

aliyun configure set `
  --profile AkProfile `
  --mode AK `
  --access-key-id  ************ `
  --access-key-secret  ************ `
  --region "cn-shanghai"

各憑證類型支援的配置參數請參見對應憑證類型的詳細配置文檔。以下參數在所有憑證類型中通用:

憑證配置通用參數

說明

--profile-p

配置名稱。未指定時,使用當前啟用配置

--mode

憑證類型,例如 AKEcsRamRoleRamRoleArn 等。

--region

預設地區 ID,例如 cn-hangzhou。執行 API 呼叫時若未顯式指定地區,則使用此預設值。

各憑證類型是否支援非互動式配置,見上方選擇憑證類型

說明

同一種憑證類型可配置多份,配置名稱不同即可。例如,可建立 ak-devak-prod 兩份 AK 憑證配置,分別用於開發和生產環境。

驗證憑證配置

憑證配置完成後,運行以下命令驗證憑證是否有效:

aliyun sts get-caller-identity

憑證配置正確時,輸出類似如下:

  • 如當前通過認證的身份為RAM使用者:

    {
      "AccountId": "173305794806****",
      "Arn": "acs:ram::173305794806****:user/<user-name>",
      "IdentityType": "RAMUser",
      "PrincipalId": "20407046578681****",
      "RequestId": "D012C652-FF76-5101-81B3-45A1DDAC****",
      "UserId": "20407046578681****"
    }
  • 如當前通過認證的身份為RAM角色:

    {
      "AccountId": "191317683912****",
      "Arn": "acs:ram::191317683912****:assumed-role/<role-name>/<role-session-name>",
      "IdentityType": "AssumedRoleUser",
      "PrincipalId": "30004467717606****:<role-session-name>",
      "RequestId": "0FFADC33-EA49-5E2A-977F-0BA820D6****",
      "RoleId": "30004467717606****"
    }
說明

驗證通過僅代表身份認證成功。要操作資源,還需為憑證關聯的身份授予相應權限原則。

管理憑證

通過 aliyun configure 子命令可對已有憑證配置進行查看、切換、修改和刪除操作。

查看配置

查看配置列表與當前啟用配置

查看當前機器上所有已配置的憑證及其狀態。可用於確認憑證配置概要資訊(如配置名稱、憑證類型等),以及哪個是當前的啟用配置。

aliyun configure list

命令輸出樣本如下,帶 * 標記的為當前啟用的憑證配置。啟用配置即 CLI 執行命令時預設使用的憑證和參數(如地區、語言),未通過 --profile 或環境變數指定其他配置時,所有命令均使用該配置。

Profile      | Credential               | Valid   | Region           | Language
---------    | ------------------       | ------- | ---------------- | --------
default      | AK:***UyLX               | Valid   | cn-shanghai      | en
OAuthProfile | OAuth:fiA5bnZkyw@CN      | Valid   | cn-hangzhou      | en
EcsProfile * | EcsRamRole:ecs-role-name | Valid   | cn-beijing       | zh

查看指定配置詳情

運行以下命令查看指定憑證配置的詳細資料:

aliyun configure get [--profile <ProfileName>] [<SETTING_NAME>...]

SETTING_NAME:指定要查看的設定項名稱,可同時指定多項。未指定時顯示全部憑證配置資訊。若指定的設定項不存在,命令不返回資訊。

可查看設定項列表

設定項名稱

說明

關聯配置欄位

profile

配置名稱。

name

mode

憑證類型。

mode

region

預設地區ID。

region_id

language

協助資訊語言。

language

access-key-id

阿里雲帳號或 RAM 使用者的AccessKey ID。

access_key_id

access-key-secret

阿里雲帳號或 RAM 使用者的AccessKey Secret。

access_key_secret

sts-token

RAM使用者或角色的臨時身份憑證STS Token。

sts_token

sts-region

RAM使用者或角色擷取臨時身份憑證時發起調用的地區ID。

sts_region

ram-role-name

RAM角色名稱。

ram_role_name

ram-role-arn

RAM角色ARN。

ram_role_arn

external-id

角色外部ID。

external_id

role-session-name

角色會話名稱。

ram_session_name

cloud-sso-sign-in-url

雲SSO使用者登入地址。

cloud-sso-sign-in-url

cloud-sso-access-config

雲SSO訪問配置ID。

cloud-sso-access-config

cloud-sso-account-id

雲SSO登入雲帳號UID。

cloud-sso-account-id

oauth-site-type

OAuth登入網站類型。

oauth-site-type

說明

關聯配置欄位代表指定profile配置資訊中的欄位名。

樣本一:查看名為 OAuthProfile 的配置詳情:

aliyun configure get --profile OAuthProfile

輸出:

{
    "name": "OAuthProfile",
    "mode": "OAuth",
    "access_key_id": "STS.9jYc5erFPDLrwNGWc7Sob2ZRHenhHfz7pw9*************",
    "access_key_secret": "3AcNFz37QykuHEwgzWramXGZaCrM1mDHpG1s7v******",
    "sts_token": "CAIS5gJ1q6Ft5DqyfSjI2KnsKI/Rn5lx846Zd******",
    "region_id": "cn-hangzhou",
    "output_format": "json",
    "language": "zh",
    "sts_expiration": 1776751437,
    "oauth_access_token": "eyJhbGciOiJSUzI1NiIsI*******",
    "oauth_refresh_token": "ALGuHPAmSWxR5ynSsoRXhWpUtsxXHcLpGLnZqVvVXZDkjcbMsMasoshv1MnyRhkTq******",
    "oauth_access_token_expire": 1776751436,
    "oauth_site_type": "CN"
}

樣本二:僅查看 OAuthProfile 的配置名稱、憑證類型及預設語言:

aliyun configure get --profile OAuthProfile profile mode language

輸出:

profile=OAuthProfile
mode=OAuth
language=en

憑證配置儲存位置

如需手動查看或備份憑證設定檔,可在以下路徑找到:

作業系統

儲存路徑

Linux / macOS

~/.aliyun/config.json

Windows

C:\Users\<USER_NAME>\.aliyun\config.json

切換配置

永久切換啟用配置

將指定配置切換為當前啟用的配置。阿里雲 CLI 自 v3.0.214 版本起支援 aliyun configure switch 命令。切換成功後,後續所有未顯式指定憑證(使用--profile參數)的請求均自動使用該配置。

aliyun configure switch --profile <ProfileName>
說明

切換前,可使用 aliyun configure list 確認目標配置的名稱。

樣本:切換到名為 prod 的配置:

aliyun configure switch --profile prod

切換完成後,運行 aliyun configure list 確認目標配置已標記 *

單次使用指定配置

在單條命令中通過 --profile 參數臨時指定配置,不影響當前啟用的配置。

樣本:使用 prod 配置查詢 ECS 地區列表:

aliyun ecs describe-regions --profile prod

修改配置

使用 aliyun configure set 修改已有配置的參數值。只需指定要修改的參數,未指定的參數保持不變。

aliyun configure set --profile <ProfileName> --<ParameterName> <NewValue>

常用參數:

  • --region:預設地區

  • --language:輸出語言(zh / en)

詳細參數請參見各憑證類型文檔。

樣本:修改 default 配置的預設地區:

aliyun configure set --profile default --region cn-shanghai
說明

執行修改後,該配置會自動成為當前啟用的配置。

刪除配置

運行以下命令刪除指定配置:

aliyun configure delete --profile <ProfileName>

樣本:刪除名為 dev 的配置:

aliyun configure delete --profile dev
重要

刪除操作不可恢複。刪除當前啟用配置後,配置列表中的第一個配置自動成為新的當前啟用配置。

刪除完成後,運行 aliyun configure list 命令確認該配置已從列表中移除。

常見問題

互動式配置時輸錯了怎麼辦?

使用 aliyun configure set 修改對應欄位即可,無需重新完整配置。樣本:

aliyun configure set --profile <ProfileName> --<ParameterName> <CorrectValue>

執行 CLI 命令時未使用當前啟用配置

CLI 按以下優先順序(從高到低)決定實際使用的配置,高優先順序會覆蓋低優先順序:

  • --profile 命令列參數:僅對當前命令生效,優先順序最高。

  • 環境變數 ALIBABA_CLOUD_PROFILE:對當前終端會話中的所有命令生效。

  • 當前啟用的預設配置:aliyun configure list 命令返回中帶有*的配置,持久生效。

如果命令結果與預期不符,請檢查是否設定了 --profile 參數或 ALIBABA_CLOUD_PROFILE 環境變數,它們會覆蓋當前啟用配置。運行 echo $ALIBABA_CLOUD_PROFILE 命令可查看環境變數是否已設定。

執行CLI命令時遇到報錯load current configuration failed unknown profile default

完整報錯資訊

ERROR: load current configuration failed unknown profile default, run configure to check

原因

刪除了當前所有的憑證配置,導致阿里雲CLI無法正常工作。

解決方案

手動刪除 config.json 檔案,並執行 aliyun configure 命令重新設定憑證,設定檔所在位置可參見憑證配置儲存位置。例如,在 Linux / macOS 上可執行以下命令刪除:

rm ~/.aliyun/config.json