配置憑證
在使用阿里云CLI之前,您需要配置調(diào)用阿里云資源所需的憑證信息、地域、語言等。阿里云CLI在初次運(yùn)行時(shí)會(huì)自動(dòng)生成并使用default
配置。您也可以創(chuàng)建并使用屬于您的自定義配置。
身份憑證配置方式
阿里云CLI提供了兩種配置方式,分別是交互式配置和非交互式配置,根據(jù)用戶需求可以選擇不同的配置方式。
交互式配置為用戶提供了流程引導(dǎo),使用戶能以較低的學(xué)習(xí)成本在阿里云CLI中快速配置身份憑證。對于新手用戶、不熟悉命令行操作的用戶或只需要偶爾進(jìn)行配置的用戶,建議選擇該方式完成配置。
非交互式配置可以通過命令行參數(shù)或環(huán)境變量等方式直接指定配置項(xiàng),具有靈活性和高效性的優(yōu)點(diǎn)。對于希望通過腳本、自動(dòng)化部署工具或配置管理工具來管理和操作阿里云CLI的用戶,建議選擇該方式完成配置。
交互式配置
通用語法
調(diào)用aliyun configure
命令,使用交互式方式配置憑證的命令語法如下:
aliyun configure --mode <AuthenticateMode> --profile <profileName>
選項(xiàng)詳情:
--mode
:指定憑證類型,默認(rèn)為AK類型。更多關(guān)于支持類型的詳細(xì)信息,請參見身份憑證類型。--profile
:指定配置名稱。若不指定,則使用默認(rèn)身份憑證配置調(diào)用命令。如果指定的配置已存在,則修改已存在配置;若不存在,則創(chuàng)建新配置。
注意事項(xiàng)
請確保配置正確的憑證信息。若憑證信息有誤,可能會(huì)造成誤操作或者無法調(diào)用接口。
使用交互式配置方式配置憑證后,若身份憑證配置有效,將顯示如下信息:
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 ..............
非交互式配置
通用語法
調(diào)用aliyun configure set
命令,使用非交互式方式配置憑證,命令語法如下:
aliyun configure set [--settingName <settingValue>]... --mode <AuthenticateMode> --profile <profileName>
憑證選項(xiàng)是用于配置憑證的必需信息。配置某一憑證類型時(shí),僅需配置該憑證類型所需的選項(xiàng)。
常見的通用選項(xiàng)如下,其適用于任一憑證類型。
--profile
(必選):指定配置名稱。如果指定的配置存在,則修改配置。若不存在,則創(chuàng)建配置。--region
(必選):指定默認(rèn)地域。詳情請參見地域和可用區(qū)。--language
:指定阿里云CLI顯示的語言,默認(rèn)為英語。--mode
:指定配置的憑證類型,默認(rèn)為AK類型。更多關(guān)于支持類型的詳細(xì)信息,請參見身份憑證類型。
注意事項(xiàng)
請確保配置正確的AccessKey信息,若不正確,可能會(huì)造成誤操作或者無法調(diào)用接口。
使用非交互式配置方式配置憑證后,可使用
aliyun configure list
或aliyun configure get
命令查看配置是否創(chuàng)建成功。使用方法及示例請參見配置憑證相關(guān)命令。
身份憑證類型
AK
憑證說明
為保證賬號安全,建議您創(chuàng)建專用于API訪問的RAM用戶并創(chuàng)建對應(yīng)的AccessKey。更多關(guān)于憑據(jù)的安全使用建議,請參見憑據(jù)的安全使用方案。
AK類型憑證為默認(rèn)憑證類型,使用AccessKey信息作為身份憑證。配置AK類型憑證時(shí)可以忽略
--mode
選項(xiàng)。配置必填項(xiàng)如下:
AccessKey Id
:指定您的AccessKey ID。獲取方式請參見創(chuàng)建RAM用戶的AccessKey。AccessKey Secret
:指定您的AccessKey Secret。獲取方式請參見創(chuàng)建RAM用戶的AccessKey。Region Id
:指定默認(rèn)區(qū)域的Region Id。阿里云支持的Region Id,請參見地域和可用區(qū)。
配置示例
如下示例,配置名為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
子命令進(jìn)行非交互式配置,配置命令如下:aliyun configure set \ --profile AkProfile \ --mode AK \ --access-key-id **** \ --access-key-secret **** \ --region ****
RamRoleArn
憑證說明
RamRoleArn類型憑證通過RAM子賬號進(jìn)行角色扮演獲取臨時(shí)憑證
SecurityToken
。更多關(guān)于此憑證類型的信息,請參見AssumeRole - 獲取扮演角色的臨時(shí)身份憑證。配置RamRoleArn類型憑證時(shí),需要在命令中使用
--mode RamRoleArn
指定憑證類型。配置必填項(xiàng)如下:
AccessKey Id
:指定您的AccessKey ID。獲取方式請參見創(chuàng)建AccessKey。AccessKey Secret
:指定您的AccessKey Secret。獲取方式請參見創(chuàng)建AccessKey。Region Id
:指定默認(rèn)區(qū)域的RegionId。阿里云支持的RegionId,請參見地域和可用區(qū)。RamRoleArn
:需要扮演的RAM角色ARN。您可以通過RAM控制臺(tái)或API查看角色 ARN,具體操作如下:RAM控制臺(tái):請參見如何查看 RAM 角色的 ARN。
API:請參見ListRoles - 獲取角色列表或GetRole - 獲取角色信息。
RoleSessionName
:角色會(huì)話名稱。該參數(shù)為用戶自定義參數(shù),通常設(shè)置為調(diào)用該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
子命令進(jìn)行非交互式配置,配置命令如下:aliyun configure set \ --profile RamRoleArnProfile \ --mode RamRoleArn \ --access-key-id **** \ --access-key-secret **** \ --ram-role-arn **** \ --role-session-name ****\ --region ****
EcsRamRole
憑證說明
EcsRamRole類型憑證無需配置AccessKey,即可在ECS實(shí)例內(nèi)部通過訪問元數(shù)據(jù)服務(wù)(Meta Data Service)獲取臨時(shí)身份憑證(STS Token)以調(diào)用API,從而降低AccessKey泄露的風(fēng)險(xiǎn)。
EcsRamRole類型憑證僅支持在實(shí)例RAM角色綁定的ECS實(shí)例內(nèi)部使用,在實(shí)例外部無法配置或使用該類型憑證。
配置EcsRamRole類型憑證時(shí),需要在命令中使用
--mode EcsRamRole
指定憑證類型。配置必填項(xiàng)如下:
Region Id
:指定默認(rèn)地域的RegionId。阿里云支持的RegionId,請參見地域和可用區(qū)。EcsRamRole
:指定ECS實(shí)例RAM角色的角色名稱。實(shí)例RAM角色的創(chuàng)建方式,請參見創(chuàng)建RAM角色并授予給ECS實(shí)例。
配置示例
如下示例,配置名為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
子命令進(jìn)行非交互式配置,配置命令如下:aliyun configure set \ --profile EcsRamRoleProfile \ --mode EcsRamRole \ --ram-role-name **** \ --region ****
External
憑證說明
External類型憑證通過外部程序獲取憑證數(shù)據(jù),阿里云CLI在使用時(shí)會(huì)執(zhí)行該程序命令,獲取返回結(jié)果作為憑證。
配置External類型憑證時(shí),需要在命令中使用
--mode External
指定憑證類型。阿里云CLI支持云SSO通過該憑證類型進(jìn)行登錄。具體操作,請參見使用CLI登錄云SSO并訪問阿里云資源。
配置必填項(xiàng)如下:
Process Command
:外部程序命令。支持外部程序返回AK和StsToken兩種靜態(tài)的憑證。憑證結(jié)構(gòu)示例如下:{ "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
:指定默認(rèn)區(qū)域的RegionId。阿里云支持的RegionId,請參見地域和可用區(qū)。
配置示例
如下示例,配置名為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
子命令進(jìn)行非交互式配置,配置命令如下:aliyun configure set \ --profile ExternalProfile \ --mode External \ --process-command **** \ --region ****
ChainableRamRoleArn
憑證說明
ChainableRamRoleArn類型憑證通過指定一個(gè)前置身份憑證配置,從前置配置中獲取中間憑證,再基于中間憑證完成角色扮演,獲取最終的身份憑證。
配置ChainableRamRoleArn類型憑證時(shí),需要在命令中使用
--mode ChainableRamRoleArn
指定憑證類型。配置必填項(xiàng)如下:
Source Profile
:前置身份憑證配置名稱。前置憑證類型不作限制,在配置ChainableRamRoleArn類型憑證之前,您需要先配置前置憑證。詳情可參見配置示例。Region Id
:指定默認(rèn)區(qū)域的RegionId。阿里云支持的RegionId,請參見地域和可用區(qū)。RamRoleArn
:需要扮演的RAM角色ARN。您可以通過RAM控制臺(tái)或API查看角色 ARN,具體操作如下:RAM控制臺(tái):請參見如何查看 RAM 角色的 ARN。
API:請參見ListRoles - 獲取角色列表或GetRole - 獲取角色信息。
RoleSessionName
:角色會(huì)話名稱。該參數(shù)為用戶自定義參數(shù),通常設(shè)置為調(diào)用該API的用戶身份,例如:用戶名。
配置示例
配置ChainableRamRoleArn類型憑證前,需為前置身份憑證對應(yīng)RAM身份授予系統(tǒng)權(quán)限策略AliyunSTSAssumeRoleAccess。
示例如下,以配置名為ChainableProfile
的ChainableRamRoleArn類型憑證為例,使用RamRoleArn類型憑證RamRoleArnProfile
作為前置身份憑證。
交互式配置
配置前置身份憑證
RamRoleArnProfile
,配置流程可參考RamRoleArn類型憑證配置示例。執(zhí)行如下命令,配置ChainableRamRoleArn類型憑證
ChainableProfile
。aliyun configure --profile ChainableProfile --mode ChainableRamRoleArn
配置交互過程示例如下,在
Source Profile
選項(xiàng)處輸入配置名稱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類型憑證通過訪問一個(gè)本地或遠(yuǎn)程的URI地址獲取身份憑證。
配置CredentialsURI類型憑證時(shí),需要在命令中使用
--mode CredentialsURI
指定憑證類型。配置必填項(xiàng)如下:
CredentialsURI
:本地或遠(yuǎn)程URI地址。若該地址無法正常訪問或返回結(jié)構(gòu)不正確,阿里云CLI將處理為失敗案例。標(biāo)準(zhǔn)返回結(jié)構(gòu)如下所示:{ "Code": "Success", "AccessKeyId": "<ak id>", "AccessKeySecret": "<ak secret>", "SecurityToken": "<security token>", "Expiration": "2006-01-02T15:04:05Z" }
Region Id
:指定默認(rèn)區(qū)域的RegionId。阿里云支持的RegionId,請參見地域和可用區(qū)。
配置示例
如下示例,配置名為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角色扮演獲取憑證。更多關(guān)于此憑證類型的信息,請參見AssumeRoleWithOIDC - OIDC角色SSO時(shí)獲取扮演角色的臨時(shí)身份憑證。
配置OIDC類型憑證時(shí),需要在命令中使用
--mode OIDC
指定憑證類型。配置必填項(xiàng)如下:
OIDCProviderARN
:指定OIDC身份提供商的ARN。您可以通過 RAM 控制臺(tái)或 API 查看 OIDC 身份提供商的 ARN,具體操作如下:RAM 控制臺(tái):請參見管理OIDC身份提供商。
API:請參見GetOIDCProvider - 查詢OIDC身份提供商信息或ListOIDCProviders - 查詢OIDC身份提供商列表。
OIDCTokenFile
:指定OIDC Token文件路徑。OIDC Token是由外部IdP簽發(fā)的OIDC令牌。Region Id
:指定默認(rèn)區(qū)域的RegionId。阿里云支持的RegionId,請參見地域和可用區(qū)。RamRoleArn
:需要扮演的RAM角色ARN。您可以通過RAM控制臺(tái)或API查看角色ARN,具體操作如下:RAM控制臺(tái):請參見如何查看 RAM 角色的 ARN。
API:請參見ListRoles - 獲取角色列表或GetRole - 獲取角色信息。
RoleSessionName
:角色會(huì)話名稱。該參數(shù)為用戶自定義參數(shù),通常設(shè)置為調(diào)用該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
子命令進(jìn)行非交互式配置,配置命令如下:aliyun configure set \ --profile OIDCProfile \ --mode OIDC \ --oidc-provider-arn **** \ --oidc-token-file **** \ --ram-role-arn **** \ --role-session-name ****\ --region ****
使用身份憑證配置
如果未指定身份憑證配置,則默認(rèn)使用
default
配置。若您需要指定身份憑證配置,可以參考以下方式進(jìn)行設(shè)置。
命令行參數(shù)
在您的命令后使用
--profile
選項(xiàng),以使用指定的身份憑證配置。示例:使用指定身份憑證配置
exampleProfile
調(diào)用云服務(wù)器 ECS OpenAPIDescribeInstances
,獲取云服務(wù)器 ECS實(shí)例信息。aliyun ecs DescribeInstances --profile exampleProfile
默認(rèn)身份憑證配置
您可以通過設(shè)定默認(rèn)身份憑證配置,避免在使用阿里云CLI時(shí)重復(fù)指定配置文件。您仍然可以使用
--profile
選項(xiàng)覆蓋此設(shè)置。修改方式:
執(zhí)行
aliyun configure switch
命令,設(shè)定默認(rèn)身份憑證配置。具體操作,請參見設(shè)定默認(rèn)身份憑證配置。執(zhí)行
aliyun configure set
命令成功修改配置后,阿里云CLI會(huì)將被修改的配置設(shè)定為默認(rèn)身份憑證配置。具體操作,請參見修改指定身份憑證配置。手動(dòng)在
config.json
文件中修改current
元素值,將其設(shè)定為待指定的身份憑證配置名稱。
身份憑證配置存儲(chǔ)位置
身份憑證配置文件profile
是一個(gè)可自定義名稱的設(shè)置集,所有身份憑證與設(shè)置項(xiàng)均以JSON格式存儲(chǔ)在config.json
文件中。該文件位于您個(gè)人用戶目錄下的.aliyun
文件夾中,個(gè)人用戶目錄位置因操作系統(tǒng)而異。
Windows環(huán)境:
C:\Users\<USERNAME>\.aliyun
Linux或macOS:
~/.aliyun