全部產品
Search
文件中心

Alibaba Cloud CLI:阿里雲 CLI 配置臨時安全憑證(StsToken)

更新時間:Jun 03, 2026

已持有 STS 臨時憑證時,可通過 StsToken 方式將憑證配置到阿里雲 CLI。StsToken 模式下,CLI直接使用傳入的憑證,不自動重新整理,憑證到期後需重新擷取並覆蓋配置。本文介紹 StsToken 憑證的配置流程。

前提條件

  • 阿里雲 CLI 版本 ≥ 3.3.0。運行 aliyun version 查看目前的版本,版本低於 3.3.0 時,請參考安裝/更新 CLI升級。

  • 通過調用AssumeRole介面或其他方式擷取到有效臨時安全憑證STS Token,包括:

    • AccessKey ID(通常以 STS. 開頭)

    • AccessKey Secret

    • Security Token

  • 瞭解憑證的到期時間。臨時憑證通常在 15 分鐘至 1 小時內到期,取決於擷取STS Token時設定的有效期間(DurationSeconds)。

配置憑證

選擇互動式或非互動式方式,將擷取的臨時憑證配置到阿里雲 CLI。

互動式配置

  1. 運行以下命令開始配置。將 <ProfileName> 替換為自訂的配置名稱(如 StsProfile):

    aliyun configure --mode StsToken --profile <ProfileName>
  2. 按提示依次輸入憑證資訊:

    Configuring profile 'StsProfile' in 'StsToken' authenticate mode...
    Access Key Id []: STS.NUr5xxxxx
    Access Key Secret []: 7Bshxxxxx
    Sts Token []: CAISxxxxxxxxxxxxxxxx...
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] zh: zh
    Saving profile[StsProfile] ...Done.
  3. 終端顯示 Configure Done 及歡迎資訊,表示配置成功。

非互動式配置

命令樣本:

Bash

aliyun configure set \
  --profile StsProfile \
  --mode StsToken \
  --access-key-id STS.NUr5xxxxx \
  --access-key-secret 7Bshxxxxx \
  --sts-token CAISxxxxxxxxxxxxxxxx... \
  --region cn-shanghai

PowerShell

aliyun configure set `
  --profile StsProfile `
  --mode StsToken `
  --access-key-id STS.NUr5xxxxx `
  --access-key-secret 7Bshxxxxx `
  --sts-token CAISxxxxxxxxxxxxxxxx... `
  --region cn-shanghai

完整配置參數

參數名稱

說明

必填

樣本值

--mode

固定值 StsToken,指定憑證類型。

StsToken

--profile

配置名稱。未指定時預設使用當前啟用的配置;首次配置預設名稱為 default。建議使用有意義的名稱以便區分多套憑證。

StsProfile

--access-key-id

臨時 AccessKey ID,通常以 STS. 開頭。

STS.NUr5xxxxx

--access-key-secret

臨時 AccessKey Secret。

7Bshxxxxx

--sts-token

Security Token 字串。

CAISxxxxxxxx...

--region

預設 Region ID,例如 cn-hangzhou

cn-hangzhou

說明

配置成功後,該配置自動成為當前啟用的配置。如需切換到其他配置,運行 aliyun configure switch --profile <ProfileName> 命令。

驗證憑證配置

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

aliyun sts get-caller-identity

輸出類似如下,在Arn欄位可以查看與當前STS Token所關聯的RAM角色名稱與角色會話名:

{
  "AccountId": "191317683912****",
  "Arn": "acs:sts::191317683912****:assumed-role/<RoleName>/<RoleSessionName>",
  "IdentityType": "AssumedRoleUser",
  "PrincipalId": "30004467717606****:<RoleSessionName>",
  "RequestId": "0FFADC33-EA49-5E2A-977F-0BA820D6****",
  "RoleId": "30004467717606****"
}

憑證的重新整理

STS 臨時憑證不會自動重新整理。憑證到期後,執行任意 CLI 命令都會返回如下錯誤:

Error: request execution failed: request execution failed: SDKError:
   StatusCode: 400
   Code: InvalidSecurityToken.Expired
   Message: code: 400, Specified SecurityToken is expired. request id: 9C518A52-BE37-570A-8E1A-0DD559BC****
   Data: {"Code":"InvalidSecurityToken.Expired", ...}

重新擷取新的臨時憑證後,需再次執行憑證配置操作。如果需要 CLI 自動管理憑證有效期間,建議改用 RamRoleArnEcsRamRole憑證類型。

刪除憑證

刪除 CLI 本地配置中的 StsToken 憑證:

aliyun configure delete --profile <ProfileName>

常見問題

STS Token 到期後更新是否需要先刪除舊配置?

不需要。直接執行 aliyun configure set 命令覆蓋同名配置集即可,新的憑證值會替換舊值,無需任何確認操作。

是否可以通過環境變數設定 StsToken?

CLI 優先使用 Profile 中的 STS Token 配置;若 Profile 已配置但個別欄位為空白,則自動從環境變數中補全缺失值。

export ALIBABA_CLOUD_ACCESS_KEY_ID="STS.xxx"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="tempSecret"
export ALIBABA_CLOUD_SECURITY_TOKEN="token-string"