全部產品
Search
文件中心

Alibaba Cloud CLI:阿里雲 CLI 配置其他憑證(OIDC / CloudSSO / External / CredentialsURI / BearerToken)

更新時間:Jun 03, 2026

OIDC、CloudSSO、External、CredentialsURI 和 BearerToken 是阿里雲 CLI 針對特定整合情境提供的進階憑證方式,無需在本機存放區長期 AccessKey。本文介紹這五種方式的適用情境、配置步驟和常見問題,協助在 RRSA Pod、企業多帳號、外部金鑰系統、HTTP 憑證服務或 Bearer Token 認證情境中安全使用 CLI。

版本要求

阿里雲 CLI 版本 ≥ 3.3.0。運行 aliyun version 命令查看目前的版本。版本低於 3.3.0 時,請參考安裝/更新 CLI升級後再使用 OAuth 憑證。

說明

BearerToken 模式需要 CLI 版本 ≥ 3.3.16

OIDC

通過相容 OIDC(OpenID Connect)協議的外部身份供應商頒發的 ID Token 進行身份認證和角色扮演。建議在開啟了 RRSA(RAM Roles for Service Accounts)的 ACK/ACS Pod 中使用。CLI 讀取叢集自動掛載到 Pod 的 OIDC Token 檔案,調用 STS AssumeRoleWithOIDC 擷取臨時憑證,到期前自動重新整理。

前提條件

配置憑證

非互動式配置(推薦)

啟用 RRSA 後,安裝 ack-pod-identity-webhook 組件可自動為 Pod 注入以下環境變數,CLI 自動識別。安裝組件的操作步驟,請參考管理ACK託管叢集的相關組件

  • ALIBABA_CLOUD_OIDC_PROVIDER_ARN

  • ALIBABA_CLOUD_OIDC_TOKEN_FILE

  • ALIBABA_CLOUD_ROLE_ARN

執行以下命令配置,利用環境變數進行配置:

aliyun configure set \
  --mode OIDC \
  --profile OIDCProfile \
  --oidc-provider-arn $ALIBABA_CLOUD_OIDC_PROVIDER_ARN \
  --oidc-token-file $ALIBABA_CLOUD_OIDC_TOKEN_FILE \
  --ram-role-arn $ALIBABA_CLOUD_ROLE_ARN \
  --role-session-name "rrsa-pod" \
  --region cn-shanghai

完整配置參數

參數

必填

說明

樣本值

--oidc-provider-arn

OIDC 身份供應商 ARN(啟用 RRSA 後叢集自動建立,格式為 ack-rrsa-{cluster-id}

ack-rrsa-c89e0f7db43bc4db2af3dc7a602f0****

--oidc-token-file

ID Token 檔案路徑。

/var/run/secrets/ack.alibabacloud.com/rrsa-tokens/token

--ram-role-arn

要扮演的 RAM 角色 ARN

--role-session-name

會話標識,用於審計日誌。僅支援 flag,無對應環境變數。

rrsa-pod-name

--region

預設地區。部分雲產品不支援跨地區訪問,建議您優先將預設地區設定為已購資源所在地區。

cn-shanghai

互動式配置

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

    aliyun configure --mode OIDC --profile <ProfileName>
  2. 按提示依次輸入 OIDC Provider ARN、OIDC Token File 路徑、RAM 角色 ARN 、角色會話名稱、預設地區及語言等配置資訊:

    Configuring profile 'OIDC_Profile' in 'OIDC' authenticate mode...
    OIDC Provider ARN []: acs:ram::012345678910****:oidc-provider/TestOidcIdp
    OIDC Token File []: /path/to/oidctoken
    RAM Role ARN []: acs:ram::012345678910****:role/Alice
    Role Session Name []: rrsa-pod-name
    Default Region Id []: cn-shanghai
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[OIDC_Profile] ...Done.
  3. 終端顯示 Configure Done 及歡迎資訊,表示配置成功。

配置完成後,在 Pod 內運行命令aliyun sts get-caller-identity驗證憑證是否生效。

憑證的重新整理

ACK/ACS 叢集會自動輪轉 Pod 中的 OIDC Token 檔案。CLI 會自動調用阿里雲 STS 服務的AssumeRoleWithOIDC 介面,傳入最新的OIDC Token重新整理憑證,整個過程對使用者透明。

CloudSSO

CloudSSO 方式適用於企業已部署阿里雲Cloud SSO目錄服務的情境。通過 Cloud SSO 統一身份登入 CLI,可切換不同資來源目錄帳號和訪問配置執行操作。

前提條件

  • 企業已部署 Cloud SSO 並配置了使用者目錄和訪問配置。

  • Cloud SSO 使用者已被分配至少一個訪問配置。

  • 已從管理員處擷取 Cloud SSO 登入地址,格式通常為 https://signin-<region>.alibabacloudsso.com/<directory-name>/login。關於如何擷取CloudSSO使用者登入地址,請參考擷取使用者門戶地址

配置憑證

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

    aliyun configure --mode CloudSSO --profile <ProfileName>
  2. 根據提示輸入使用者登入地址SignIn Url

    Configuring profile 'SSOProfile' in 'CloudSSO' authenticate mode...
    CloudSSO Sign In Url []: https://signin-<region>.alibabacloudsso.com/<directory-name>/login
  3. 在彈出的瀏覽器視窗中,根據介面提示,完成雲SSO使用者登入,登入成功後請關閉瀏覽器視窗。

    說明

    如果瀏覽器視窗未彈出或當前為純終端環境,您可以根據CLI的提示資訊,手動複製登入URL(SignIn url)和使用者碼(User code)在瀏覽器中完成登入。

    提示資訊樣本:

    If the browser does not open automatically, use the following URL to complete the login process:
    
    SignIn url: https://signin-****.alibabacloudsso.com/device/code
    User code: CGKM-LIXZ
  4. CLI返回登入成功,同時列出您可以訪問的資來源目錄管理帳號或成員帳號名稱,請輸入編號選擇要訪問的帳號。

    Now you can login to your account with SSO configuration in the browser.
    You have successfully logged in.
    Please choose an account:
    1. <RD Management Account>
    2. <other-account-name>
    Please input the account number: 1
  5. CLI列出您可以使用的訪問配置(即使用者權限配置),請輸入編號選擇要使用的訪問配置。

    Please choose an access configuration:
    1. <access-configuration1>
    2. <access-configuration2>
    Please input the access configuration number: 2
  6. 設定預設地區及語言,如:

    Default Region Id []: cn-shanghai
    Default Language [zh|en] en: en

    具體地區請參見地區和可用性區域。部分雲產品不支援跨地區訪問,建議您優先將預設地區設定為已購資源所在地區。

  7. 終端顯示 Configure Done 及歡迎資訊,表示配置成功。

配置完成後,運行命令aliyun sts get-caller-identity驗證憑證是否生效。

說明

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

憑證的重新整理

CloudSSO 憑證不自動重新整理,到期後需要重新使用命令aliyun configure --mode CloudSSO --profile <ProfileName>進行配置。

External

External類型憑證通過外部程式擷取憑證資料,阿里雲CLI在使用時會執行該程式命令,擷取返回結果作為憑證。適用於自訂憑證擷取邏輯的情境。

前提條件

  • 有一個可執行程式或指令碼,能在 stdout 輸出規定格式的 JSON 憑證。格式要求如下:

    AccessKey

    {
      "mode": "AK",
      "access_key_id": "<yourAccessKeyID>",
      "access_key_secret": "<yourAccessKeySecret>"
    }

    StsToken

    {
      "mode": "StsToken",
      "access_key_id": "<yourAccessKeyID>",
      "access_key_secret": "<yourAccessKeySecret>",
      "sts_token": "<yourSecurityToken>"
    }
  • 程式退出碼必須為 0(非 0 視為失敗)。

配置憑證

非互動式配置(推薦)

Bash
aliyun configure set \
  --mode External \
  --profile ExternalProfile \
  --process-command "/path/to/credential-helper" \
  --region cn-shanghai
PowerShell
aliyun configure set `
  --mode External `
  --profile ExternalProfile `
  --process-command "/path/to/credential-helper" `
  --region cn-shanghai

完整配置參數

參數名稱

說明

必填

樣本值

--mode

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

External

--profile

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

ExternalProfile

--process-command

外部程式的命令路徑,支援包含參數的完整命令。

acs-sso login --profile sso

--region

預設地區。部分雲產品不支援跨地區訪問,建議您優先將預設地區設定為已購資源所在地區。

cn-shanghai

互動式配置

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

按提示依次輸入外部程式執行命令(Process Command)、預設地區及語言等配置資訊,完成配置。

配置完成後,運行命令aliyun sts get-caller-identity驗證憑證是否生效。

憑證的重新整理

在使用External 憑證模式下,CLI不會緩衝憑證,也不會自動重新整理憑證。CLI在每次需要憑證時都重新執行外部程式。憑證的重新整理邏輯依賴外部程式實現。

CredentialsURI

CredentialsURI 方式讓 CLI 通過 HTTP GET 請求從您提供的指定端點擷取臨時安全憑證(STS Token)。適用於有自建憑證分發服務的情境。

前提條件

有一個 HTTP/HTTPS 端點,能返回規定格式的 JSON 憑證響應(HTTP 200)。響應體為以下 JSON 格式:

{
  "Code": "Success",
  "AccessKeyId": "<yourAccessKeyID>",
  "AccessKeySecret": "<yourAccessKeySecret>",
  "SecurityToken": "<yourSecurityToken>"
}
重要
  • 當指定地址無法正常返回HTTP 200響應狀態代碼,或其響應內容的結構不符合預期格式時,阿里雲CLI將對該請求按失敗情況處理。

  • 響應 JSON 中 Code 欄位必須嚴格為 "Success"(區分大小寫)。

配置憑證

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

    aliyun configure --mode CredentialsURI --profile <ProfileName>
  2. 按提示輸入憑證 URI(Credentials URI)、預設地區及語言等配置資訊。

    Configuring profile 'URIProfile' in 'CredentialsURI' authenticate mode...
    Credentials URI []: http://credentials.uri/
    Default Region Id []: cn-shanghai
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[URIProfile] ...Done.

    具體地區請參見地區和可用性區域。部分雲產品不支援跨地區訪問,建議您優先將預設地區設定為已購資源所在地區。

  3. 終端顯示 Configure Done 及歡迎資訊,表示配置成功。

說明

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

配置完成後,運行命令aliyun sts get-caller-identity驗證憑證是否生效。

憑證的重新整理

到期後 CLI 重新向端點發起 HTTP GET 請求擷取新憑證,整個過程對使用者透明。HTTP 憑證服務需自行確保每次請求都返回有效 STS Token。

BearerToken

BearerToken 方式使用 Bearer Token 認證阿里雲 API 服務。該模式通過產品外掛程式調用 API,適用於目標服務支援並頒發了 Bearer Token 的情境。

前提條件

  • 已擷取目標服務頒發的 Bearer Token。

  • 已安裝目標產品的 CLI 外掛程式:aliyun plugin install --name <plugin-name>

重要
  • BearerToken 模式僅支援通過產品外掛程式調用 API。如需調用某產品 API,須先安裝對應外掛程式:aliyun plugin install --name <plugin-name>

  • CLI 版本要求 ≥ 3.3.16

配置憑證

非互動式配置(推薦)

aliyun configure set \
  --mode BearerToken \
  --profile BearerProfile \
  --bearer-token <your-bearer-token> \
  --region cn-shanghai

如需自訂認證 Header 名稱,添加 --bearer-token-header-key 參數:

aliyun configure set \
  --mode BearerToken \
  --profile BearerProfile \
  --bearer-token <your-bearer-token> \
  --bearer-token-header-key <custom-header-name> \
  --region cn-shanghai

完整配置參數

參數

必填

說明

樣本值

--mode

固定值 BearerToken,指定憑證類型(大小寫敏感)。

BearerToken

--bearer-token

Bearer Token 值。

eyJhbGciOiJSUzI1****

--bearer-token-header-key

自訂認證 Header 名稱。不指定時預設為 x-acs-bearer-token。值必須為可列印 ASCII 字元,不可包含空格、定位字元、冒號或控制字元。

x-custom-auth

--profile

配置名稱。未指定時預設使用當前啟用的配置。

BearerProfile

--region

預設地區。部分雲產品不支援跨地區訪問,建議優先將預設地區設定為已購資源所在地區。

cn-shanghai

互動式配置

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

    aliyun configure --mode BearerToken --profile <ProfileName>
  2. 按提示依次輸入 Bearer Token、Bearer Token Header Key(可選,留空使用預設值)、預設地區及語言等配置資訊:

    Configuring profile 'BearerProfile' in 'BearerToken' authenticate mode...
    Bearer Token []: eyJhbGciOiJSUzI1****
    Bearer Token Header Key [] (optional, e.g. x-custom-token; leave empty for x-acs-bearer-token): 
    Default Region Id []: cn-shanghai
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[BearerProfile] ...Done.
  3. 終端顯示 Configure Done 及歡迎資訊,表示配置成功。

配置完成後,運行以下命令通過外掛程式調用目標產品 API 驗證憑證是否生效:

aliyun <command> <sub-command> --profile BearerProfile
說明

BearerToken 模式的 configure hello 不執行連通性檢查(直接返回成功),請通過實際 API 呼叫驗證憑證有效性。

環境變數

BearerToken 模式支援通過以下環境變數配置憑證參數:

環境變數

說明

ALIBABA_CLOUD_BEARER_TOKEN

Bearer Token 值。

ALIBABA_CLOUD_BEARER_TOKEN_HEADER_KEY

自訂認證 Header 名稱。不設定時預設為 x-acs-bearer-token

刪除憑證

刪除 CLI 本地配置中的 RAM 角色憑證:

aliyun configure delete --profile <ProfileName>
說明

若刪除的是當前啟用的配置,CLI 會自動切換為配置列表中的第一個配置。