配置憑證
在使用阿里云CLI之前,您需要配置調用阿里云資源所需的憑證信息、地域、語言等。阿里云CLI在初次運行時會自動生成并使用default
配置。您也可以創建并使用屬于您的自定義配置。
身份憑證配置方式
阿里云CLI提供了兩種配置方式,分別是交互式配置和非交互式配置,根據用戶需求可以選擇不同的配置方式。
交互式配置為用戶提供了流程引導,使用戶能以較低的學習成本在阿里云CLI中快速配置身份憑證。對于新手用戶、不熟悉命令行操作的用戶或只需要偶爾進行配置的用戶,建議選擇該方式完成配置。
非交互式配置可以通過命令行參數或環境變量等方式直接指定配置項,具有靈活性和高效性的優點。對于希望通過腳本、自動化部署工具或配置管理工具來管理和操作阿里云CLI的用戶,建議選擇該方式完成配置。
交互式配置
通用語法
調用aliyun configure
命令,使用交互式方式配置憑證的命令語法如下:
aliyun configure --mode <AuthenticateMode> --profile <profileName>
選項詳情:
--mode
:指定憑證類型,默認為AK類型。更多關于支持類型的詳細信息,請參見身份憑證類型。--profile
:指定配置名稱。若不指定,則使用默認身份憑證配置調用命令。如果指定的配置已存在,則修改已存在配置;若不存在,則創建新配置。
注意事項
請確保配置正確的憑證信息。若憑證信息有誤,可能會造成誤操作或者無法調用接口。
使用交互式配置方式配置憑證后,若身份憑證配置有效,將顯示如下信息:
Configure Done!!! ..............888888888888888888888 ........=8888888888888888888D=.............. ...........88888888888888888888888 ..........D8888888888888888888888I........... .........,8888888888888ZI: ...........................=Z88D8888888888D.......... .........+88888888 ..........................................88888888D.......... .........+88888888 .......Welcome to use Alibaba Cloud.......O8888888D.......... .........+88888888 ............. ************* ..............O8888888D.......... .........+88888888 .... Command Line Interface(Reloaded) ....O8888888D.......... .........+88888888...........................................88888888D.......... ..........D888888888888DO+. ..........................?ND888888888888D.......... ...........O8888888888888888888888...........D8888888888888888888888=........... ............ .:D8888888888888888888.........78888888888888888888O ..............
非交互式配置
通用語法
調用aliyun configure set
命令,使用非交互式方式配置憑證,命令語法如下:
aliyun configure set [--settingName <settingValue>]... --mode <AuthenticateMode> --profile <profileName>
憑證選項是用于配置憑證的必需信息。配置某一憑證類型時,僅需配置該憑證類型所需的選項。
常見的通用選項如下,其適用于任一憑證類型。
注意事項
請確保配置正確的AccessKey信息,若不正確,可能會造成誤操作或者無法調用接口。
使用非交互式配置方式配置憑證后,可使用
aliyun configure list
或aliyun configure get
命令查看配置是否創建成功。使用方法及示例請參見配置憑證相關命令。
身份憑證類型
AK
憑證說明
為保證賬號安全,建議您創建專用于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
配置交互過程示例如下:
Configuring profile 'AkProfile' in 'AK' authenticate mode... Access Key Id []: **** Access Key Secret []: **** Default Region Id []: **** Default Output Format [json]: json (Only support json)) Default Language [zh|en] en: en Saving profile[akProfile] ...Done.
非交互式配置
使用
configure
命令下的set
子命令進行非交互式配置,配置命令如下:aliyun configure set \ --profile AkProfile \ --mode AK \ --access-key-id **** \ --access-key-secret **** \ --region ****
RamRoleArn
憑證說明
RamRoleArn類型憑證通過RAM子賬號進行角色扮演獲取臨時憑證
SecurityToken
。更多關于此憑證類型的信息,請參見AssumeRole - 獲取扮演角色的臨時身份憑證。配置RamRoleArn類型憑證時,需要在命令中使用
--mode 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
配置交互過程示例如下:
Configuring profile 'RamRoleArnProfile' in 'RamRoleArn' authenticate mode... Access Key Id []: **** Access Key Secret []: **** Ram Role Arn []: **** Role Session Name []: **** Default Region Id []: **** Default Output Format [json]: json (Only support json)) Default Language [zh|en] en: en Saving profile[ramRoleArnProfile] ...Done.
非交互式配置
使用
configure
命令下的set
子命令進行非交互式配置,配置命令如下:aliyun configure set \ --profile RamRoleArnProfile \ --mode RamRoleArn \ --access-key-id **** \ --access-key-secret **** \ --ram-role-arn **** \ --role-session-name ****\ --region ****
EcsRamRole
憑證說明
EcsRamRole類型憑證無需配置AccessKey,即可在ECS實例內部通過訪問元數據服務(Meta Data Service)獲取臨時身份憑證(STS Token)以調用API,從而降低AccessKey泄露的風險。
EcsRamRole類型憑證僅支持在實例RAM角色綁定的ECS實例內部使用,在實例外部無法配置或使用該類型憑證。
配置EcsRamRole類型憑證時,需要在命令中使用
--mode EcsRamRole
指定憑證類型。配置必填項如下:
Region Id
:指定默認地域的RegionId。阿里云支持的RegionId,請參見地域和可用區。EcsRamRole
:指定ECS實例RAM角色的角色名稱。實例RAM角色的創建方式,請參見創建RAM角色并授予給ECS實例。
配置示例
如下示例,配置名為EcsRamRoleProfile
的EcsRamRole類型憑證。
交互式配置
配置命令如下:
aliyun configure --profile EcsRamRoleProfile --mode EcsRamRole
配置交互過程示例如下:
Configuring profile 'EcsRamRoleProfile' in 'EcsRamRole' authenticate mode... Ecs Ram Role []: **** Default Region Id []: **** Default Output Format [json]: json (Only support json)) Default Language [zh|en] en: en Saving profile[ecsRamRamRoleArnProfile] ...Done.
非交互式配置
使用
configure
命令下的set
子命令進行非交互式配置,配置命令如下:aliyun configure set \ --profile EcsRamRoleProfile \ --mode EcsRamRole \ --ram-role-name **** \ --region ****
External
憑證說明
External類型憑證通過外部程序獲取憑證數據,阿里云CLI在使用時會執行該程序命令,獲取返回結果作為憑證。
配置External類型憑證時,需要在命令中使用
--mode External
指定憑證類型。阿里云CLI支持云SSO通過該憑證類型進行登錄。具體操作,請參見使用CLI登錄云SSO并訪問阿里云資源。
配置必填項如下:
Process Command
:外部程序命令。支持外部程序返回AK和StsToken兩種靜態的憑證。憑證結構示例如下:{ "mode": "AK", "access_key_id": "accessKeyId", "access_key_secret": "accessKeySecret" }
{ "mode": "StsToken", "access_key_id": "accessKeyId", "access_key_secret": "accessKeySecret", "sts_token": "stsToken" }
Region Id
:指定默認區域的RegionId。阿里云支持的RegionId,請參見地域和可用區。
配置示例
如下示例,配置名為ExternalProfile
的External類型憑證。
交互式配置
配置命令如下:
aliyun configure --profile ExternalProfile --mode External
配置交互過程示例如下:
Configuring profile 'ExternalProfile' in 'External' authenticate mode... Process Command []: **** Default Region Id []: **** Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[externalTest] ...Done.
非交互式配置
使用
configure
命令下的set
子命令進行非交互式配置,配置命令如下:aliyun configure set \ --profile ExternalProfile \ --mode External \ --process-command **** \ --region ****
ChainableRamRoleArn
憑證說明
ChainableRamRoleArn類型憑證通過指定一個前置身份憑證配置,從前置配置中獲取中間憑證,再基于中間憑證完成角色扮演,獲取最終的身份憑證。
配置ChainableRamRoleArn類型憑證時,需要在命令中使用
--mode 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
,以指定前置憑證:Configuring profile 'ChainableProfile' in 'ChainableRamRoleArn' authenticate mode... Source Profile []: RamRoleArnProfile Sts Region []: **** Ram Role Arn []: **** Role Session Name []: **** Expired Seconds [900]: **** Default Region Id []: **** Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[p1] ...Done.
暫不支持使用非交互式方式配置ChainableRamRoleArn類型憑證。
CredentialsURI
憑證說明
CredentialsURI類型憑證通過訪問一個本地或遠程的URI地址獲取身份憑證。
配置CredentialsURI類型憑證時,需要在命令中使用
--mode CredentialsURI
指定憑證類型。配置必填項如下:
CredentialsURI
:本地或遠程URI地址。若該地址無法正常訪問或返回結構不正確,阿里云CLI將處理為失敗案例。標準返回結構如下所示:{ "Code": "Success", "AccessKeyId": "<ak id>", "AccessKeySecret": "<ak secret>", "SecurityToken": "<security token>", "Expiration": "2006-01-02T15:04:05Z" }
Region Id
:指定默認區域的RegionId。阿里云支持的RegionId,請參見地域和可用區。
配置示例
如下示例,配置名為URIProfile
的CredentialsURI類型憑證。
交互式配置
配置命令如下:
aliyun configure --profile URIProfile --mode CredentialsURI
配置交互過程示例如下:
Configuring profile 'URIProfile' in 'CredentialsURI' authenticate mode... Credentials URI []: **** Default Region Id []: **** Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[cup] ...Done.
暫不支持使用非交互式方式配置CredentialsURI類型憑證。
OIDC
憑證說明
OIDC類型憑證使用基于OIDC的SSO角色扮演獲取憑證。更多關于此憑證類型的信息,請參見AssumeRoleWithOIDC - OIDC角色SSO時獲取扮演角色的臨時身份憑證。
配置OIDC類型憑證時,需要在命令中使用
--mode 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
配置交互過程示例如下:
Configuring profile 'OIDCProfile' in 'OIDC' authenticate mode... OIDC Provider ARN []: **** OIDC Token File []: **** RAM Role ARN []: **** Role Session Name []: **** Default Region Id []: **** Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[oidc_p] ...Done.
非交互式配置
使用
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
調用云服務器 ECS OpenAPIDescribeInstances
,獲取云服務器 ECS實例信息。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