在阿里云CLI中配置身份凭证
在使用阿里云CLI之前,您需要配置调用阿里云资源所需的凭证信息、地域、语言等。
配置凭证时请确保凭证信息的准确性,以防因误操作或接口调用失败导致不必要的损失。
身份凭证配置方式
阿里云CLI提供交互式配置和非交互式配置两种配置方式。交互式配置为用户提供了流程引导,使用户能以较低的学习成本在阿里云CLI中快速配置身份凭证。
通用语法
调用aliyun configure
命令,可使用交互式方式配置凭证。命令语法如下:
aliyun configure [--profile <profileName>] [--mode <AuthenticateMode>]
选项详情:
配置成功的返回示例:
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 [--profile <profileName>] [--mode <AuthenticateMode>] [--settingName <settingValue>...]
选项详情:
--profile <profileName>
:指定配置名称。如果指定的配置存在,则修改配置。若不存在,则创建配置。--mode <AuthenticateMode>
:指定配置的凭证类型,默认为AK类型。更多关于支持类型的详细信息,请参见身份凭证类型。--settingName <settingValue>
:不同类型凭证所需信息不同,详情请参见身份凭证类型及非交互式创建或修改配置。
使用非交互式配置方式配置凭证后可使用
aliyun configure list
或aliyun configure get
命令查看配置是否创建成功。
身份凭证类型
凭证说明
为保证账号安全,建议您创建专用于API访问的RAM用户并创建对应的AccessKey。更多关于凭据的安全使用建议,请参见凭据的安全使用方案。
AK类型凭证为默认凭证类型,使用AccessKey信息作为身份凭证。配置AK类型凭证时可以忽略
--mode
选项。凭证参数:
参数名称
说明
示例值
AccessKey Id
指定您的AccessKey ID。获取方式请参见创建RAM用户的AccessKey。
yourAccessKeyID
AccessKey Secret
指定您的AccessKey Secret。获取方式请参见创建RAM用户的AccessKey。
yourAccessKeySecret
Region Id
指定默认区域的Region Id。更多信息,请参见如何选择地域。
cn-hangzhou
配置示例
如下示例,配置名为AkProfile
的AK类型凭证。
交互式配置
配置命令示例如下:
aliyun configure --profile AkProfile
交互过程示例如下:
非交互式配置
配置命令示例如下:
aliyun configure set \ --profile AkProfile \ --mode AK \ --access-key-id <yourAccessKeyID> \ --access-key-secret <yourAccessKeySecret> \ --region cn-hangzhou
凭证说明
阿里云STS(Security Token Service)是阿里云提供的一种临时访问权限管理服务。有关STS Token的更多信息,请参见什么是STS。
STS Token具有时效性,过期失效后需要重新获取。在阿里云CLI中,StsToken类型不支持自动刷新身份凭证,推荐您配置以下类型凭证使用阿里云CLI:
部分凭证类型支持自动刷新身份凭证,具体类型如下所示:
RamRoleArn
EcsRamRole
OIDC
ChainableRamRoleArn
CloudSSO
部分凭证类型支持开发者或外部程序自行实现身份凭证刷新机制,具体类型如下所示:
CredentialsURI
External
凭证参数:
参数名称
说明
示例值
AccessKey Id
指定您的AccessKey ID。获取方式请参见创建RAM用户的AccessKey。
yourAccessKeyID
AccessKey Secret
指定您的AccessKey Secret。获取方式请参见创建RAM用户的AccessKey。
yourAccessKeySecret
STS Token
指定您的临时凭证STS Token。获取方式请参见获取扮演角色的临时身份凭证。
yourSTSToken
Region Id
指定默认区域的Region Id。更多信息,请参见如何选择地域。
cn-hangzhou
配置示例
如下示例,配置名为StsProfile
的StsToken类型凭证。
交互式配置
配置命令示例如下:
aliyun configure --profile StsProfile --mode StsToken
交互过程示例如下:
非交互式配置
配置命令示例如下:
aliyun configure set \ --profile StsProfile \ --mode StsToken \ --access-key-id <yourAccessKeyID> \ --access-key-secret <yourAccessKeySecret> \ --sts-token <yourSTSToken> \ --region cn-hangzhou
凭证说明
RamRoleArn类型凭证通过调用STS服务的
AssumeRole
接口获取临时身份凭证(STS Token)。更多信息,请参见以下文档:RamRoleArn类型凭证支持自动刷新临时身份凭证。
凭证参数:
参数名称
说明
示例值
AccessKey Id
指定您的AccessKey ID。获取方式请参见创建RAM用户的AccessKey。
yourAccessKeyID
AccessKey Secret
指定您的AccessKey Secret。获取方式请参见创建RAM用户的AccessKey。
yourAccessKeySecret
Ram Role Arn
需要扮演的RAM角色ARN。您可以通过RAM控制台或API查看角色 ARN,具体操作如下:
RAM控制台:请参见如何查看 RAM 角色的 ARN。
API:请参见ListRoles - 获取角色列表或GetRole - 获取角色信息。
acs:ram::012345678910****:role/Alice
Role Session Name
角色会话名称。该参数为用户自定义参数,通常设置为RAM用户的用户名。
alice
Region Id
指定默认区域的Region Id。更多信息,请参见如何选择地域。
cn-hangzhou
配置示例
如下示例,配置名为RamRoleArnProfile
的RamRoleArn类型凭证。
交互式配置
配置命令示例如下:
aliyun configure --profile RamRoleArnProfile --mode RamRoleArn
交互过程示例如下:
非交互式配置
配置命令示例如下:
aliyun configure set \ --profile RamRoleArnProfile \ --mode RamRoleArn \ --access-key-id <yourAccessKeyID> \ --access-key-secret <yourAccessKeySecret> \ --ram-role-arn acs:ram::012345678910****:role/Alice \ --role-session-name alice \ --region cn-hangzhou
凭证说明
阿里云CLI支持使用加固模式(IMDSv2)获取访问凭据,建议您在配置该类型凭证前安装最新版本阿里云CLI工具。具体操作,请参见安装指南。
如何为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系统配置环境变量。
凭证参数:
参数名称
说明
示例值
Ecs Ram Role
指定授予ECS实例的RAM角色的角色名。
若不指定此参数,程序将自动访问ECS的元数据服务获取
RoleName
信息,再通过RoleName信息获取凭证,整个过程需发起两次请求。ECSAdmin
Region Id
指定默认区域的Region Id。更多信息,请参见如何选择地域。
cn-hangzhou
配置示例
如下示例,配置名为EcsProfile
的EcsRamRole类型凭证。
交互式配置
配置命令示例如下:
aliyun configure --profile EcsProfile --mode EcsRamRole
交互过程示例如下:
非交互式配置
配置命令示例如下:
aliyun configure set \ --profile EcsProfile \ --mode EcsRamRole \ --ram-role-name ECSAdmin \ --region cn-hangzhou
凭证说明
External类型凭证通过外部程序获取凭证数据,阿里云CLI在使用时会执行该程序命令,获取返回结果作为凭证。
External类型凭证支持用户自行实现身份凭证刷新机制。
凭证参数:
参数名称
说明
示例值
Process Command
指定外部程序命令。支持外部程序返回Accesskey和STS Token两种静态凭证。
acs-sso login --profile sso
Region Id
指定默认区域的Region Id。更多信息,请参见如何选择地域。
cn-hangzhou
外部程序返回凭证示例:
AccesskeySTS Token{ "mode": "AK", "access_key_id": "yourAccessKeyID", "access_key_secret": "yourAccessKeySecret" }
{ "mode": "StsToken", "access_key_id": "yourAccessKeyID", "access_key_secret": "yourAccessKeySecret", "sts_token": "yourSTSToken" }
配置示例
如下示例,配置名为ExternalProfile
的External类型凭证。
交互式配置
配置命令示例如下:
aliyun configure --profile ExternalProfile --mode External
交互过程示例如下:
非交互式配置
配置命令示例如下:
aliyun configure set \ --profile ExternalProfile \ --mode External \ --process-command acs-sso login --profile sso \ --region cn-hangzhou
凭证说明
ChainableRamRoleArn类型凭证通过指定一个前置身份凭证配置,从前置配置中获取中间凭证(AccessKey或STS Token),再基于中间凭证完成角色扮演,获取最终的临时身份凭证(STS Token)。
ChainableRamRoleArn类型凭证支持自动刷新身份凭证。
凭证参数:
参数名称
说明
示例值
Source Profile
指定前置身份凭证配置名称。前置凭证类型不作限制,在配置ChainableRamRoleArn类型凭证之前,您需要先配置前置凭证。详情可参见配置示例。
RamRoleArnProfile
STS Region
指定获取STS Token令牌时发起接口调用的区域。STS服务支持的地域,请参见服务接入点。若不指定该参数,程序将使用默认接入地址发起调用。
cn-hangzhou
RamRoleArn
指定需要扮演的RAM角色ARN。您可以通过RAM控制台或API查看角色 ARN,具体操作如下:
RAM控制台:请参见如何查看 RAM 角色的 ARN。
API:请参见ListRoles - 获取角色列表或GetRole - 获取角色信息。
acs:ram::012345678910****:role/Alice
RoleSessionName
角色会话名称。该参数为用户自定义参数,通常设置为RAM用户的用户名。
alice
Expired Seconds
指定凭证失效时间,单位:秒。该参数默认值为
900
,最大值为要扮演角色的MaxSessionDuration
时间。900
Region Id
指定默认区域的Region Id。更多信息,请参见如何选择地域。
cn-hangzhou
配置示例
配置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将处理为失败案例。
http://credentials.uri/
Region Id
指定默认区域的Region Id。更多信息,请参见如何选择地域。
cn-hangzhou
配置示例
如下示例,配置名为URIProfile
的CredentialsURI类型凭证。
交互式配置
配置命令示例如下:
aliyun configure --profile URIProfile --mode CredentialsURI
交互过程示例如下:
暂不支持使用非交互式方式配置CredentialsURI类型凭证。
凭证说明
OIDC类型凭证通过调用STS服务的AssumeRoleWithOIDC接口换取绑定角色的临时身份凭证(STS Token)。详情请参见通过RRSA配置ServiceAccount的RAM权限实现Pod权限隔离。
OIDC类型凭证支持自动刷新临时身份凭证。
凭证参数:
参数名称
说明
示例值
OIDCProviderARN
指定OIDC身份提供商的ARN。您可以通过 RAM 控制台或 API 查看 OIDC 身份提供商的 ARN,具体操作如下:
RAM 控制台:请参见管理OIDC身份提供商。
API:请参见GetOIDCProvider - 查询OIDC身份提供商信息或ListOIDCProviders - 查询OIDC身份提供商列表。
acs:ram::012345678910****:oidc-provider/TestOidcIdp
OIDCTokenFile
指定OIDC Token文件路径。OIDC Token是由外部IdP签发的OIDC令牌。
/path/to/oidctoken
RamRoleArn
需要扮演的RAM角色ARN。您可以通过RAM控制台或API查看角色ARN,具体操作如下:
RAM控制台:请参见如何查看 RAM 角色的 ARN。
API:请参见ListRoles - 获取角色列表或GetRole - 获取角色信息。
acs:ram::012345678910****:role/Alice
RoleSessionName
角色会话名称。该参数为用户自定义参数,通常设置为RAM用户的用户名。
alice
Region Id
指定默认区域的Region Id。更多信息,请参见如何选择地域。
cn-hangzhou
配置示例
如下示例,配置名为OIDC_Profile
的OIDC类型凭证。
交互式配置
配置命令示例如下:
aliyun configure --profile OIDC_Profile --mode OIDC
交互过程示例如下:
非交互式配置
配置命令示例如下:
aliyun configure set \ --profile OIDC_Profile \ --mode OIDC \ --oidc-provider-arn acs:ram::012345678910****:oidc-provider/TestOidcIdp \ --oidc-token-file /path/to/oidctoken \ --ram-role-arn acs:ram::012345678910****:role/Alice \ --role-session-name alice \ --region cn-hangzhou
凭证说明
阿里云CLI 3.0.271及以上版本新增CloudSSO凭证类型并简化了配置流程,旧版本操作方法仍然可用。您可使用aliyun version
命令查看阿里云CLI当前版本。
云SSO提供基于阿里云资源目录RD(Resource Directory)的多账号统一身份管理与访问控制。当您给云SSO用户或用户组授予RD账号的访问配置后,访问配置将在RD账号内部署一个RAM角色。云SSO通过扮演该RAM角色获取临时身份凭证(STS Token)以调用OpenAPI,从而降低AccessKey泄露的风险。
CloudSSO类型凭证支持自动刷新临时身份凭证。
凭证参数:
参数名称
说明
示例值
signinUrl
用户登录地址
signinUrl
获取方法:请登录云SSO控制台,在概览页面的右侧,获取用户登录URL。https://signin-******.alibabacloudsso.com/device/login
Region Id
指定默认区域的Region Id。更多信息,请参见如何选择地域。
cn-hangzhou
操作步骤
执行以下命令,开始配置云SSO登录信息。您可以设置多个Profile,通过指定Profile快速切换登录的账号和访问配置。
aliyun configure --profile sso --mode CloudSSO
根据提示输入用户登录地址
signinUrl
。aliyun configure --profile sso --mode CloudSSO CloudSSO Sign In Url []: https://signin-******.alibabacloudsso.com/device/login
在弹出的浏览器窗口中,根据界面提示,完成云SSO用户登录,登录成功后请关闭浏览器窗口。
如果浏览器窗口未弹出,您可以根据CLI的提示信息,手动复制登录URL(SignIn url)和用户码(User code)完成登录。
提示信息示例:
If the browser does not open automatically, use the following URL to complete the login process: SignIn url: https://signin-****.alibabacloudsso.com/device/code User code: *********
CLI返回登录成功,同时列出您可以访问的RD账号名称,请输入编号选择要访问的RD账号。
Now you can login to your account with SSO configuration in the browser. You have successfully logged in. Please choose an account: 1. <RD Management Account> 2. AccountName Please input the account number: 1
CLI列出您可以使用的访问配置,请输入编号选择要使用的访问配置。
Please choose an access configuration: 1. AccessConfiguration1 2. AccessConfiguration2 Please input the access configuration number: 2
指定默认地域。
Default Region Id []: cn-hangzhou
配置成功后显示Configure Done字样及欢迎信息。
使用身份凭证配置
您可以参考以下方式使用指定的凭证配置。
设置当前配置
执行
aliyun configure switch --profile ProfileName
命令,可切换当前配置。执行
aliyun configure set
命令成功修改配置后,修改完成的配置将被设置为当前配置。
使用命令行选项
在命令行中使用--profile
选项可指定使用配置。此方式具有最高优先级,会覆盖其他任何形式的配置。
示例:使用指定配置exampleProfile
调用云服务器 ECSDescribeInstances
接口,获取云服务器 ECS实例信息。
aliyun ecs DescribeInstances --profile exampleProfile
凭证配置存储位置
凭证配置文件profile
是一个可自定义名称的设置集,所有凭证信息与设置项均以JSON格式存储在config.json
文件中。该文件位于您个人用户目录下的.aliyun
文件夹中,个人用户目录位置因操作系统而异。
Windows:
C:\Users\<USERNAME>\.aliyun
Linux/macOS:
~/.aliyun
相关文档
- 本页导读 (1)
- 身份凭证配置方式
- 身份凭证类型
- 使用身份凭证配置
- 设置当前配置
- 使用命令行选项
- 凭证配置存储位置
- 相关文档