全部產品
Search
文件中心

Resource Access Management:為阿里雲CLI配置OAuth認證

更新時間:Jan 28, 2026

本文介紹如何為阿里雲CLI配置並使用基於OAuth的互動式登入,以替代傳統的存取金鑰(AK)認證,從而提升憑證管理的安全性。

概覽

阿里雲CLI自 v3.0.299 版本起,支援使用OAuth作為憑證類型。該方式通過互動瀏覽器登入流程(基於OAuth2.0 PKCE流)擷取代表使用者身份的令牌,用於訪問阿里雲資源。

與傳統的存取金鑰(AK)認證相比,OAuth認證的優勢如下:

  • 提升安全性:無需在本地設定檔中儲存明文AK,可降低憑證泄露風險。

  • 整合現有認證體系:支援與通行密鑰、多因素認證(MFA)、SSO(使用者SSO或角色SSO)等登入方式結合使用。

準備工作

在開始之前,請確保滿足以下條件:

  • CLI版本:阿里雲CLI版本為 v3.0.299 或更高。

  • 管理員權限:執行首次配置的管理員帳號擁有 AliyunRAMFullAccess 許可權。

  • 環境要求:阿里雲CLI與用於授權的瀏覽器必須運行在同一台裝置上。不支援在無圖形介面的伺服器(例如,通過SSH串連的Linux終端)上執行授權操作。

配置流程

  1. 管理員建立CLI應用 您可以通過以下兩種方式來在阿里雲帳號的存取控制(RAM)中建立CLI應用:

    • 通過管理員授權建立。由Resource Access Management員在CLI中首次發起OAuth登入,並在瀏覽器中完成認證和管理員授權操作。完成後,系統會自動建立一個名為 offical-cli 的官方OAuth應用。

    • 通過控制台主動安裝。由Resource Access Management員通過控制台主動安裝CLI應用offical-cli,省去了執行管理員授權的操作。

  2. 管理員分配身份。CLI應用建立完成後,管理員(主帳號除外)需要為應用程式指派身份(RAM使用者或角色),被分配的身份才可以用該方式登入CLI。

  3. 使用者授權並登入CLI被分配的RAM使用者在自己的裝置上運行CLI配置命令,CLI會自動開啟瀏覽器。使用者在瀏覽器中完成登入和授權後,CLI便能成功擷取令牌並完成認證。

步驟一:管理員建立CLI應用

本步驟需要由具備 AliyunRAMFullAccess 許可權的Resource Access Management員執行,為整個組織建立應用。

通過管理員授權建立

  1. 選擇OAuth認證模式。在管理員的終端中執行以下命令,開始配置OAuth登入資訊。建議為Profile指定一個易於理解的名稱,例如 OAuthProfile

    aliyun configure --profile OAuthProfile --mode OAuth
  2. 選擇登入網站。根據提示輸入登入網站OAuth Site Type

    aliyun configure --profile OAuthProfile --mode OAuth
    Configuring profile 'OAuthProfile' in 'OAuth' authenticate mode...
    OAuth Site Type (CN: 0 or INTL: 1, default: CN): 
    • 輸入0CN:設定登入網站為阿里雲中國站

    • 輸入1INTL:設定登入網站為阿里雲國際站。

    • 直接斷行符號:預設選擇中國站(CN)。

  3. 管理員登入。CLI將自動開啟瀏覽器。如果瀏覽器視窗未彈出,您可以根據CLI的提示資訊,手動複製登入URL(SignIn url)至瀏覽器中,完成登入。

    提示資訊樣本:

    If the browser does not open automatically, use the following URL to complete the login process:
    
    SignIn url: https://signin.aliyun.com/oauth2/v1/auth?response_type=code&client_id=...
  4. 執行管理員授權操作。在瀏覽器開啟的官方應用授權頁面,單擊授權。 此操作將在您的帳號中建立 顯示名稱為offical-cli 的OAuth第三方應用除非offical-cli 應用被刪除,否則管理員授權操作只需執行一次

    26044A84-9853-42D9-96FD-E53AAF76D6AB

    在授權過程中,CLI會請求以下OAuth範圍(OAuth服務通過OAuth範圍來限定應用扮演使用者登入阿里雲後可以訪問的範圍):

    OAuth範圍

    OAuth範圍描述

    openid

    擷取RAM使用者的OpenID。OpenID是一個唯一標識使用者的字串,不包含阿里雲UID、使用者名稱等敏感資訊。

    /internal/ram/usersts

    用於擷取STS憑證,以調用阿里雲服務API。

    說明

    該範圍目前僅允許CLI官方應用使用。

通過控制台主動安裝

  1. 登入RAM控制台

  2. 導航到整合管理 > OAuth應用,單擊第三方應用頁簽。

  3. 第三方應用頁簽下,單擊安裝官方應用

  4. 在彈出的安裝官方應用對話方塊中,選擇官方CLI,並單擊確定

    C5F0E52E-378B-4FD6-9E64-6935C3A6E904

  5. 第三方應用列表中,確認顯示名稱為offical-cli的應用已被建立。

步驟二:管理員分配身份

如果您是通過管理員授權的方式建立的CLI應用,在授權成功後,頁面會提示您為應用程式指派使用者。如果您是通過控制台主動安裝的CLI,請跳過步驟1。

  1. 單擊立即前往,頁面將跳轉至存取控制(RAM)控制台的OAuth第三方應用詳情頁面。 

    3376963A-C832-49E4-834A-A78FFFCA3165

    或者,您也可以直接登入阿里雲RAM控制台並導航到整合管理 > OAuth應用,單擊第三方應用頁簽。在第三方應用列表中,找到並單擊顯示名稱為offical-cli的應用。 

  2. 在控制台offical-cli應用詳情頁,單擊分配頁簽,然後單擊建立分配。 

  3. 在彈出的建立分配面板中,勾選需要通過OAuth方式登入CLI的RAM身份(RAM使用者或RAM角色),然後單擊確定完成分配。 

    9A6ADEC6-B635-4E63-B61C-87CB05122249

步驟三:使用者授權並登入CLI

本步驟由已被管理員分配給 offical-cli 應用的RAM使用者在自己的裝置上執行。

  1. 選擇OAuth認證模式。在終端中執行以下命令,開始配置OAuth登入資訊。

    aliyun configure --profile OAuthProfile --mode OAuth
  2. 選擇登入網站。根據提示選擇登入網站(CN 或 INTL)。

  3. 使用者登入。在自動彈出的瀏覽器視窗中,使用您的RAM使用者身份登入,

  4. 執行使用者授權操作。在瀏覽器開啟的使用者授權頁面,單擊授權,以完成使用者授權。除非offical-cli 應用被刪除,否則使用者授權僅需在首次登入時完成一次,後續該使用者登入無需再次授權

    ED1E8AA1-4FA3-4DDB-8B55-BD09945222AC

    角色登入。 CLI的OAuth認證方式也支援RAM角色。您可以在瀏覽器中先使用角色SSO的方式從身份供應商(IdP)側完成控制台登入,或在登入控制台後切換身份到對應RAM角色。然後再執行步驟1從終端觸發OAuth登入,這樣即可以RAM角色的身份登入CLI。

    說明

    管理員授權與使用者授權的目的不同,即便完成了管理員授權,使用者授權也不可省略。

    • 管理員授權:將official-cli應用添加到阿里雲帳號中,允許帳號內身份經過分配後訪問該應用。

    • 使用者授權:授權阿里雲CLI代表使用者訪問所許可的阿里雲資源或執行特定操作。

  5. 設定預設地區。授權成功後返回終端,根據提示輸入預設地區。

    Default Region Id []: cn-hangzhou
    說明

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

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

  7. (可選)驗證登入身份。執行以下命令來查看當前登入CLI的身份資訊:

    aliyun sts GetCallerIdentity --profile OAuthProfile

使用限制

  • 不支援通過使用者組為 offical-cli 應用進行分配,必須明確指定到RAM使用者或角色。

  • CLI與瀏覽器必須運行在同一台裝置上,不支援在無圖形化介面的環境(例如,通過SSH串連的Linux伺服器)中執行授權。

常見故障排除

在管理員授權頁面,單擊“授權”後出現“調用未被授權”的錯誤

928A24C5-F30E-42E4-A0DF-D51A71F11442

原因:當前在瀏覽器中登入的帳號不具備 AliyunRAMFullAccess 許可權,即不是Resource Access Management員帳號。 

解決方案:在阿里雲控制台中退出登入,使用具備AliyunRAMFullAccess許可權的Resource Access Management員帳號登入並執行授權操作。若您不具備許可權請聯絡相關管理員進行操作。

相關文檔