在使用阿里云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
命令查看配置是否创建成功。使用方法及示例请参见配置凭证相关命令。
身份凭证类型
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
配置交互过程示例如下:
非交互式配置
使用
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
配置交互过程示例如下:
非交互式配置
使用
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
配置交互过程示例如下:
非交互式配置
使用
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两种静态的凭证。凭证结构示例如下: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
凭证说明
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
,以指定前置凭证:
暂不支持使用非交互式方式配置ChainableRamRoleArn类型凭证。
CredentialsURI
凭证说明
CredentialsURI类型凭证通过访问一个本地或远程的URI地址获取身份凭证。
配置CredentialsURI类型凭证时,需要在命令中使用
--mode CredentialsURI
指定凭证类型。配置必填项如下:
CredentialsURI
:本地或远程URI地址。若该地址无法正常访问或返回结构不正确,阿里云CLI将处理为失败案例。标准返回结构如下所示:Region Id
:指定默认区域的RegionId。阿里云支持的RegionId,请参见地域和可用区。
配置示例
如下示例,配置名为URIProfile
的CredentialsURI类型凭证。
交互式配置
配置命令如下:
aliyun configure --profile URIProfile --mode CredentialsURI
配置交互过程示例如下:
暂不支持使用非交互式方式配置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
配置交互过程示例如下:
非交互式配置
使用
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