在使用阿里雲CLI之前,您需要配置調用阿里雲資源所需的憑證資訊、地區、語言等。阿里雲CLI在初次運行時會自動產生並使用default
配置。您也可以建立並使用屬於您的自訂配置。
身份憑證配置方式
阿里雲CLI提供了兩種配置方式,分別是互動式配置和非互動式配置,根據使用者需求可以選擇不同的配置方式。
互動式配置為使用者提供了流程引導,使使用者能以較低的學習成本在阿里雲CLI中快速配置身份憑證。對於新手使用者、不熟悉命令列操作的使用者或只需要偶爾進行配置的使用者,建議選擇該方式完成配置。
非互動式配置可以通過命令列參數或環境變數等方式直接指定配置項,具有靈活性和高效性的優點。對於希望通過指令碼、自動化部署工具或組態管理工具來管理和操作阿里雲CLI的使用者,建議選擇該方式完成配置。
通用文法
調用aliyun configure
命令,使用互動式方式配置憑證的命令文法如下:
aliyun configure --mode <AuthenticateMode> --profile <profileName>
選項詳情:
--mode
:指定憑證類型,預設為AK類型。更多關於支援類型的詳細資料,請參見身份憑證類型。--profile
:指定配置名稱。若不指定,則使用預設身份憑證配置調用命令。如果指定的配置已存在,則修改已存在配置;若不存在,則建立新配置。
注意事項
請確保配置正確的憑證資訊。若憑證資訊有誤,可能會造成誤操作或者無法調用介面。
使用互動式配置方式配置憑證後,若身份憑證配置有效,將顯示如下資訊:
通用文法
調用aliyun configure set
命令,使用非互動式方式配置憑證,命令文法如下:
aliyun configure set [--settingName <settingValue>]... --mode <AuthenticateMode> --profile <profileName>
憑證選項是用於配置憑證的必需資訊。配置某一憑證類型時,僅需配置該憑證類型所需的選項。
常見的通用選項如下,其適用於任一憑證類型。
注意事項
請確保配置正確的AccessKey資訊,若不正確,可能會造成誤操作或者無法調用介面。
使用非互動式配置方式配置憑證後,可使用
aliyun configure list
或aliyun configure get
命令查看配置是否建立成功。使用方法及樣本請參見配置憑證相關命令。
身份憑證類型
憑證說明
為保證帳號安全,建議您建立專用於API訪問的RAM使用者並建立對應的AccessKey。更多關於憑據的安全使用建議,請參見憑據的安全使用方式情節。
AK類型憑證為預設憑證類型,使用AccessKey資訊作為身份憑證。配置AK類型憑證時可以忽略
--mode
選項。配置必填項如下:
AccessKey Id
:指定您的AccessKey ID。擷取方式請參見建立RAM使用者的AccessKey。AccessKey Secret
:指定您的AccessKey Secret。擷取方式請參見建立RAM使用者的AccessKey。Region Id
:指定預設區域的Region Id。阿里雲支援的Region Id,請參見地區和可用性區域。
配置樣本
如下樣本,配置名為AkProfile
的AK類型憑證。
互動式配置
配置命令如下:
aliyun configure --profile AkProfile
配置互動過程樣本如下:
非互動式配置
使用
configure
命令下的set
子命令進行非互動式配置,配置命令如下:aliyun configure set \ --profile AkProfile \ --mode AK \ --access-key-id **** \ --access-key-secret **** \ --region ****
憑證說明
阿里雲STS(Security Token Service)是阿里雲提供的一種臨時存取權限管理服務。有關STS Token的更多資訊,請參見什麼是STS。
STS Token具有時效性,到期失效後需要重新擷取。在阿里雲CLI中,StsToken類型不支援自動重新整理身份憑證,推薦您配置以下類型憑證使用阿里雲CLI:
部分憑證類型支援自動重新整理身份憑證,具體類型如下所示:
雲SSO使用者可通過配置External類型憑證訪問阿里雲資源。具體操作,請參見使用CLI登入雲SSO並訪問阿里雲資源。
部分憑證類型支援開發人員自行實現身份憑證重新整理機制,具體類型如下所示:
配置StsToken類型憑證時,需要在命令中使用
--mode StsToken
指定憑證類型。配置必填項如下:
AccessKey Id
:指定您的AccessKey ID。擷取方式請參見建立AccessKey。AccessKey Secret
:指定您的AccessKey Secret。擷取方式請參見建立AccessKey。Region Id
:指定預設區域的RegionId。阿里雲支援的RegionId,請參見地區和可用性區域。STS Token
:指定StsToken鑒權所需要的資訊。擷取方式請參見擷取扮演角色的臨時身份憑證。
配置樣本
如下樣本,配置名為StsProfile
的StsToken類型憑證。
互動式配置
配置命令如下:
aliyun configure --profile StsProfile --mode StsToken
配置互動過程樣本如下:
非互動式配置
使用
configure
命令下的set
子命令進行非互動式配置,配置命令如下:aliyun configure set \ --profile StsProfile \ --mode StsToken \ --access-key-id **** \ --access-key-secret **** \ --sts-token **** \ --region ****
憑證說明
RamRoleArn類型憑證通過調用STS服務的
AssumeRole
介面擷取臨時身份憑證(STS Token)。更多資訊,請參見以下文檔:RamRoleArn類型憑證支援自動重新整理臨時身份憑證。
配置必填項如下:
AccessKey Id
:指定您的AccessKey ID。擷取方式請參見建立AccessKey。AccessKey Secret
:指定您的AccessKey Secret。擷取方式請參見建立AccessKey。Region Id
:指定預設區域的RegionId。阿里雲支援的RegionId,請參見地區和可用性區域。RamRoleArn
:需要扮演的RAM角色ARN。您可以通過RAM控制台或API查看角色 ARN,具體操作如下:RAM控制台:請參見如何查看 RAM 角色的 ARN。
API:請參見ListRoles - 擷取角色列表或GetRole - 擷取角色資訊。
RoleSessionName
:角色會話名稱。該參數為使用者自訂參數,通常設定為調用該API的使用者身份,例如:使用者名稱。
配置樣本
如下樣本,配置名為RamRoleArnProfile
的RamRoleArn類型憑證。
互動式配置
配置命令如下:
aliyun configure --profile RamRoleArnProfile --mode RamRoleArn
配置互動過程樣本如下:
非互動式配置
使用
configure
命令下的set
子命令進行非互動式配置,配置命令如下:aliyun configure set \ --profile RamRoleArnProfile \ --mode RamRoleArn \ --access-key-id **** \ --access-key-secret **** \ --ram-role-arn **** \ --role-session-name ****\ --region ****
憑證說明
阿里雲CLI支援使用加固模式(IMDSv2)擷取訪問憑據,建議您在配置該類型憑證前安裝最新版本阿里雲CLI工具。具體操作,請參見安裝指南。
關於ECS執行個體中繼資料的介紹,請參見執行個體中繼資料。
如何為ECS和ECI執行個體授予RAM角色,具體操作請參見建立RAM角色並授予給ECS執行個體和為ECI執行個體授予執行個體RAM角色。
EcsRamRole類型憑證無需配置AccessKey,當您在ECS或ECI執行個體內部使用阿里雲CLI時,可通過訪問中繼資料服務(Meta Data Service)擷取RAM角色的臨時身份憑證(STS Token)以調用OpenAPI,從而降低AccessKey泄露的風險。
EcsRamRole類型憑證支援自動重新整理臨時身份憑證。
執行個體中繼資料服務器支援加固模式和普通模式兩種訪問方式,阿里雲CLI預設使用加固模式(IMDSv2)擷取訪問憑據。若使用加固模式時發生異常,您可以通過設定環境變數
ALIBABA_CLOUD_IMDSV1_DISABLED
來執行不同的異常處理邏輯,變數值參考如下所示:當值為
false
(預設值)時,會使用普通模式繼續擷取訪問憑據。當值為
true
時,表示只能使用加固模式擷取訪問憑據,會拋出異常。
服務端是否支援IMDSv2,取決於您在伺服器的配置。
配置環境變數的具體操作,請參見在Linux、macOS和Windows系統配置環境變數。
配置必填項如下:
Region Id
:指定預設地區的RegionId。阿里雲支援的RegionId,請參見地區和可用性區域。
配置樣本
如下樣本,配置名為EcsRamRoleProfile
的EcsRamRole類型憑證。
互動式配置
配置命令如下:
aliyun configure --profile EcsRamRoleProfile --mode EcsRamRole
配置互動過程樣本如下:
非互動式配置
使用
configure
命令下的set
子命令進行非互動式配置,配置命令如下:aliyun configure set \ --profile EcsRamRoleProfile \ --mode EcsRamRole \ --region ****
憑證說明
該憑證類型支援自動重新整理身份憑證。
External類型憑證通過外部程式擷取憑證資料,阿里雲CLI在使用時會執行該程式命令,擷取返回結果作為憑證。該憑證類型支援使用者自行實現身份憑證重新整理機制。
External類型憑證支援使用者自行實現身份憑證重新整理機制。
阿里雲CLI支援通過配置External類型憑證登入雲SSO。具體操作,請參見使用CLI登入雲SSO並訪問阿里雲資源。
配置必填項如下:
Process Command
:外部程式命令。支援外部程式返回Accesskey和STS Token兩種靜態憑證。憑證結構樣本如下:Region Id
:指定預設區域的RegionId。阿里雲支援的RegionId,請參見地區和可用性區域。
配置樣本
如下樣本,配置名為ExternalProfile
的External類型憑證。
互動式配置
配置命令如下:
aliyun configure --profile ExternalProfile --mode External
配置互動過程樣本如下:
非互動式配置
使用
configure
命令下的set
子命令進行非互動式配置,配置命令如下:aliyun configure set \ --profile ExternalProfile \ --mode External \ --process-command **** \ --region ****
憑證說明
ChainableRamRoleArn類型憑證通過指定一個前置身份憑證配置,從前置配置中擷取中間憑證(AccessKey或STS Token),再基於中間憑證完成角色扮演,擷取最終的臨時身份憑證(STS Token)。
ChainableRamRoleArn類型憑證支援自動重新整理身份憑證。
配置必填項如下:
Source Profile
:前置身份憑證配置名稱。前置憑證類型不作限制,在配置ChainableRamRoleArn類型憑證之前,您需要先配置前置憑證。詳情可參見配置樣本。Region Id
:指定預設區域的RegionId。阿里雲支援的RegionId,請參見地區和可用性區域。RamRoleArn
:需要扮演的RAM角色ARN。您可以通過RAM控制台或API查看角色 ARN,具體操作如下:RAM控制台:請參見如何查看 RAM 角色的 ARN。
API:請參見ListRoles - 擷取角色列表或GetRole - 擷取角色資訊。
RoleSessionName
:角色會話名稱。該參數為使用者自訂參數,通常設定為調用該API的使用者身份,例如:使用者名稱。
配置樣本
配置ChainableRamRoleArn類型憑證前,需為前置身份憑證對應RAM身份授予系統權限原則AliyunSTSAssumeRoleAccess。
樣本如下,以配置名為ChainableProfile
的ChainableRamRoleArn類型憑證為例,使用RamRoleArn類型憑證RamRoleArnProfile
作為前置身份憑證。
互動式配置
配置前置身份憑證
RamRoleArnProfile
,配置流程可參考RamRoleArn類型憑證配置樣本。執行如下命令,配置ChainableRamRoleArn類型憑證
ChainableProfile
。aliyun configure --profile ChainableProfile --mode ChainableRamRoleArn
配置互動過程樣本如下,在
Source Profile
選項處輸入配置名稱RamRoleArnProfile
,以指定前置憑證:
暫不支援使用非互動式方式配置ChainableRamRoleArn類型憑證。
憑證說明
CredentialsURI類型憑證通過訪問您提供的URI地址擷取臨時身份憑證(STS Token)以調用OpenAPI。
CredentialsURI類型憑證支援使用者自行實現身份憑證重新整理機制。
配置必填項如下:
CredentialsURI
:本地或遠程URI地址。若該地址無法正常訪問或返回結構不正確,阿里雲CLI將處理為失敗案例。標準返回結構如下所示:Region Id
:指定預設區域的RegionId。阿里雲支援的RegionId,請參見地區和可用性區域。
配置樣本
如下樣本,配置名為URIProfile
的CredentialsURI類型憑證。
互動式配置
配置命令如下:
aliyun configure --profile URIProfile --mode CredentialsURI
配置互動過程樣本如下:
暫不支援使用非互動式方式配置CredentialsURI類型憑證。
憑證說明
在Container Service Kubernetes 版中設定了Worker節點RAM角色後,對應節點內的Pod中的應用也就可以像ECS上部署的應用一樣,通過中繼資料服務(Meta Data Server)擷取關聯角色的STS Token。但如果容器叢集上部署的是不可信的應用(比如部署您的客戶提交的應用,代碼也沒有對您開放),您可能並不希望它們能通過中繼資料服務擷取Worker節點關聯執行個體RAM角色的STS Token。為了避免影響雲上資源的安全,同時又能讓這些不可信的應用安全地擷取所需的 STS Token,實現應用層級的許可權最小化,您可以使用RRSA(RAM Roles for Service Account)功能。阿里雲容器叢集會為不同的應用Pod建立和掛載相應的服務賬戶OIDC Token檔案,並將相關配置資訊注入到環境變數中,阿里雲CLI工具通過擷取環境變數的配置資訊,調用STS服務的AssumeRoleWithOIDC - OIDC角色SSO時擷取扮演角色的臨時身份憑證介面換取綁定角色的STS Token。詳情請參見通過RRSA配置ServiceAccount的RAM許可權實現Pod許可權隔離。
OIDC類型憑證支援自動重新整理臨時身份憑證。
配置必填項如下:
OIDCProviderARN
:指定OIDC身份供應商的ARN。您可以通過 RAM 控制台或 API 查看 OIDC 身份供應商的 ARN,具體操作如下:RAM 控制台:請參見管理OIDC身份供應商。
API:請參見GetOIDCProvider - 查詢OIDC身份供應商資訊或ListOIDCProviders - 查詢OIDC身份供應商列表。
OIDCTokenFile
:指定OIDC Token檔案路徑。OIDC Token是由外部IdP簽發的OIDC令牌。Region Id
:指定預設區域的RegionId。阿里雲支援的RegionId,請參見地區和可用性區域。RamRoleArn
:需要扮演的RAM角色ARN。您可以通過RAM控制台或API查看角色ARN,具體操作如下:RAM控制台:請參見如何查看 RAM 角色的 ARN。
API:請參見ListRoles - 擷取角色列表或GetRole - 擷取角色資訊。
RoleSessionName
:角色會話名稱。該參數為使用者自訂參數,通常設定為調用該API的使用者身份,例如:使用者名稱。
配置樣本
如下樣本,配置名為OIDCProfile
的OIDC類型憑證。
互動式配置
配置命令如下:
aliyun configure --profile OIDCProfile --mode OIDC
配置互動過程樣本如下:
非互動式配置
使用
configure
命令下的set
子命令進行非互動式配置,配置命令如下:aliyun configure set \ --profile OIDCProfile \ --mode OIDC \ --oidc-provider-arn **** \ --oidc-token-file **** \ --ram-role-arn **** \ --role-session-name ****\ --region ****
使用身份憑證配置
如果未指定身份憑證配置,則預設使用
default
配置。若您需要指定身份憑證配置,可以參考以下方式進行設定。
命令列參數預設身份憑證配置在您的命令後使用
--profile
選項,以使用指定的身份憑證配置。樣本:使用指定身份憑證配置
exampleProfile
調用Elastic Compute Service OpenAPIDescribeInstances
,擷取Elastic Compute Service執行個體資訊。aliyun ecs DescribeInstances --profile exampleProfile
您可以通過設定預設身份憑證配置,避免在使用阿里雲CLI時重複指定設定檔。您仍然可以使用
--profile
選項覆蓋此設定。修改方式:
執行
aliyun configure switch
命令,設定預設身份憑證配置。具體操作,請參見設定預設身份憑證配置。執行
aliyun configure set
命令成功修改配置後,阿里雲CLI會將被修改的配置設定為預設身份憑證配置。具體操作,請參見修改指定身份憑證配置。手動在
config.json
檔案中修改current
元素值,將其設定為待指定的身份憑證配置名稱。
身份憑證配置儲存位置
身份憑證設定檔profile
是一個可自訂名稱的設定集,所有身份憑證與設定項均以JSON格式儲存在config.json
檔案中。該檔案位於您個人使用者目錄下的.aliyun
檔案夾中,個人使用者目錄位置因作業系統而異。
Windows環境:
C:\Users\<USERNAME>\.aliyun
Linux或macOS:
~/.aliyun