在阿里云CLI中配置身份凭证

更新时间:2025-05-12 03:13:14

在使用阿里云CLI之前,您需要配置调用阿里云资源所需的凭证信息、地域、语言等。

说明

配置凭证时请确保凭证信息的准确性,以防因误操作或接口调用失败导致不必要的损失。

身份凭证配置方式

阿里云CLI提供交互式配置和非交互式配置两种配置方式。交互式配置为用户提供了流程引导,使用户能以较低的学习成本在阿里云CLI中快速配置身份凭证。

交互式配置
非交互式配置

通用语法

调用aliyun configure命令,可使用交互式方式配置凭证。命令语法如下:

aliyun configure [--profile <profileName>] [--mode <AuthenticateMode>]
  • 选项详情:

    • --profile <profileName>:指定配置名称。如果指定的配置已存在,则修改已存在配置;若不存在,则创建新配置。

      若不指定,将修改当前配置。当前设置的修改方式,请参见设置当前配置

    • --mode <AuthenticateMode>:指定身份凭证类型,默认使用AK类型。

  • 配置成功的返回示例:

    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 listaliyun configure get命令查看配置是否创建成功。

身份凭证类型

AK
StsToken
RamRoleArn
EcsRamRole
External
ChainableRamRoleArn
CredentialsURI
OIDC
CloudSSO

凭证说明

重要

为保证账号安全,建议您创建专用于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

配置示例

如下示例,配置名为AkProfileAK类型凭证。

  • 交互式配置

    配置命令示例如下:

    aliyun configure --profile AkProfile

    交互过程示例如下:

    示例

    Configuring profile 'AkProfile' in 'AK' authenticate mode...
    Access Key Id []: <yourAccessKeyID>
    Access Key Secret []: <yourAccessKeySecret>
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[AkProfile] ...Done.
  • 非交互式配置

    配置命令示例如下:

    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

配置示例

如下示例,配置名为StsProfileStsToken类型凭证。

  • 交互式配置

    配置命令示例如下:

    aliyun configure --profile StsProfile --mode StsToken

    交互过程示例如下:

    示例

    Configuring profile 'StsProfile' in 'StsToken' authenticate mode...
    Access Key Id []: <yourAccessKeyID>
    Access Key Secret []: <yourAccessKeySecret>
    Sts Token []: <yourSTSToken>
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[StsProfile] ...Done.
  • 非交互式配置

    配置命令示例如下:

    aliyun configure set \
      --profile StsProfile \
      --mode StsToken \
      --access-key-id <yourAccessKeyID> \
      --access-key-secret <yourAccessKeySecret> \
      --sts-token <yourSTSToken> \
      --region cn-hangzhou

凭证说明

配置示例

如下示例,配置名为RamRoleArnProfileRamRoleArn类型凭证。

  • 交互式配置

    配置命令示例如下:

    aliyun configure --profile RamRoleArnProfile --mode RamRoleArn

    交互过程示例如下:

    示例

    Configuring profile 'RamRoleArnProfile' in 'RamRoleArn' authenticate mode...
    Access Key Id []: <yourAccessKeyID>
    Access Key Secret []: <yourAccessKeySecret>
    Ram Role Arn []: acs:ram::012345678910****:role/Alice
    Role Session Name []: alice
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[RamRoleArnProfile] ...Done.
  • 非交互式配置

    配置命令示例如下:

    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

凭证说明

说明
  • EcsRamRole类型凭证无需配置AccessKey,当您在ECSECI实例内部使用阿里云CLI时,可通过访问元数据服务(Meta Data Service)获取RAM角色的临时身份凭证(STS Token)以调用OpenAPI,从而降低AccessKey泄露的风险。

  • EcsRamRole类型凭证支持自动刷新临时身份凭证。

  • 实例元数据服务器支持加固模式和普通模式两种访问方式,阿里云CLI默认使用加固模式(IMDSv2)获取访问凭据。若使用加固模式时发生异常,您可以通过设置环境变量ALIBABA_CLOUD_IMDSV1_DISABLED来执行不同的异常处理逻辑,变量值如下:

    • 当值为false(默认值)时,会使用普通模式继续获取访问凭据。

    • 当值为true时,表示只能使用加固模式获取访问凭据,会抛出异常。

    服务器是否支持IMDSv2,取决于您在服务器中的配置。

    配置环境变量的具体操作,请参见Linux、macOSWindows系统配置环境变量

  • 凭证参数:

    参数名称

    说明

    示例值

    Ecs Ram Role

    指定授予ECS实例的RAM角色的角色名。

    若不指定此参数,程序将自动访问ECS的元数据服务获取RoleName信息,再通过RoleName信息获取凭证,整个过程需发起两次请求。

    ECSAdmin

    Region Id

    指定默认区域的Region Id。更多信息,请参见如何选择地域

    cn-hangzhou

配置示例

如下示例,配置名为EcsProfileEcsRamRole类型凭证。

  • 交互式配置

    配置命令示例如下:

    aliyun configure --profile EcsProfile --mode EcsRamRole

    交互过程示例如下:

    示例

    Configuring profile 'EcsProfile' in 'EcsRamRole' authenticate mode...
    Ecs Ram Role []: ECSAdmin
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[EcsProfile] ...Done.
  • 非交互式配置

    配置命令示例如下:

    aliyun configure set \
      --profile EcsProfile \
      --mode EcsRamRole \
      --ram-role-name ECSAdmin \
      --region cn-hangzhou

凭证说明

  • External类型凭证通过外部程序获取凭证数据,阿里云CLI在使用时会执行该程序命令,获取返回结果作为凭证。

  • External类型凭证支持用户自行实现身份凭证刷新机制。

  • 凭证参数:

    参数名称

    说明

    示例值

    Process Command

    指定外部程序命令。支持外部程序返回AccesskeySTS Token两种静态凭证。

    acs-sso login --profile sso

    Region Id

    指定默认区域的Region Id。更多信息,请参见如何选择地域

    cn-hangzhou

  • 外部程序返回凭证示例:

    Accesskey
    STS Token
    {
      "mode": "AK",
      "access_key_id": "yourAccessKeyID",
      "access_key_secret": "yourAccessKeySecret"
    }
    {
      "mode": "StsToken",
      "access_key_id": "yourAccessKeyID",
      "access_key_secret": "yourAccessKeySecret",
      "sts_token": "yourSTSToken"
    }

配置示例

如下示例,配置名为ExternalProfileExternal类型凭证。

  • 交互式配置

    配置命令示例如下:

    aliyun configure --profile ExternalProfile --mode External

    交互过程示例如下:

    示例

    Configuring profile 'ExternalProfile' in 'External' authenticate mode...
    Process Command []: acs-sso login --profile sso
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[ExternalProfile] ...Done.
  • 非交互式配置

    配置命令示例如下:

    aliyun configure set \
      --profile ExternalProfile \
      --mode External \
      --process-command acs-sso login --profile sso \
      --region cn-hangzhou

凭证说明

  • ChainableRamRoleArn类型凭证通过指定一个前置身份凭证配置,从前置配置中获取中间凭证(AccessKeySTS Token),再基于中间凭证完成角色扮演,获取最终的临时身份凭证(STS Token)。

  • ChainableRamRoleArn类型凭证支持自动刷新身份凭证。

  • 凭证参数:

    参数名称

    说明

    示例值

    Source Profile

    指定前置身份凭证配置名称。前置凭证类型不作限制,在配置ChainableRamRoleArn类型凭证之前,您需要先配置前置凭证。详情可参见配置示例

    RamRoleArnProfile

    STS Region

    指定获取STS Token令牌时发起接口调用的区域。STS服务支持的地域,请参见服务接入点。若不指定该参数,程序将使用默认接入地址发起调用。

    cn-hangzhou

    RamRoleArn

    指定需要扮演的RAM角色ARN。您可以通过RAM控制台或API查看角色 ARN,具体操作如下:

    acs:ram::012345678910****:role/Alice

    RoleSessionName

    角色会话名称。该参数为用户自定义参数,通常设置为RAM用户的用户名。

    alice

    Expired Seconds

    指定凭证失效时间,单位:秒。该参数默认值为900,最大值为要扮演角色的MaxSessionDuration时间。

    900

    Region Id

    指定默认区域的Region Id。更多信息,请参见如何选择地域

    cn-hangzhou

配置示例

说明

配置ChainableRamRoleArn类型凭证前,需为前置身份凭证对应RAM身份授予系统权限策略AliyunSTSAssumeRoleAccess

示例如下,以配置名为ChainableProfileChainableRamRoleArn类型凭证为例,使用RamRoleArn类型凭证RamRoleArnProfile作为前置身份凭证。

  • 交互式配置

    1. 配置前置身份凭证RamRoleArnProfile,配置流程可参考RamRoleArn类型凭证配置示例。

    2. 执行如下命令,配置ChainableRamRoleArn类型凭证ChainableProfile

      aliyun configure --profile ChainableProfile --mode ChainableRamRoleArn

      交互过程示例如下,在Source Profile选项处输入配置名称RamRoleArnProfile以指定前置凭证:

      示例

      Configuring profile 'ChainableProfile' in 'ChainableRamRoleArn' authenticate mode...
      Source Profile []: RamRoleArnProfile
      Sts Region []: cn-hangzhou
      Ram Role Arn []: acs:ram::012345678910****:role/Alice
      Role Session Name []: alice
      Expired Seconds [900]: 900
      Default Region Id []: cn-hangzhou
      Default Output Format [json]: json (Only support json)
      Default Language [zh|en] en: en
      Saving profile[ChainableProfile] ...Done.
  • 暂不支持使用非交互式方式配置ChainableRamRoleArn类型凭证。

凭证说明

  • CredentialsURI类型凭证通过访问您提供的URI地址获取临时身份凭证(STS Token)以调用OpenAPI。

  • CredentialsURI类型凭证支持用户自行实现身份凭证刷新机制。

  • 凭证参数:

    参数名称

    说明

    示例值

    CredentialsURI

    指定本地或远程URI地址。若该地址无法正常访问或返回结构不正确,阿里云CLI将处理为失败案例。

    返回结构示例

    {
      "Code": "Success",
      "AccessKeyId": "<ak id>",
      "AccessKeySecret": "<ak secret>",
      "SecurityToken": "<security token>",
      "Expiration": "2006-01-02T15:04:05Z"
    }

    http://credentials.uri/

    Region Id

    指定默认区域的Region Id。更多信息,请参见如何选择地域

    cn-hangzhou

配置示例

如下示例,配置名为URIProfileCredentialsURI类型凭证。

  • 交互式配置

    配置命令示例如下:

    aliyun configure --profile URIProfile --mode CredentialsURI

    交互过程示例如下:

    示例

    Configuring profile 'URIProfile' in 'CredentialsURI' authenticate mode...
    Credentials URI []: http://credentials.uri/
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[URIProfile] ...Done.
  • 暂不支持使用非交互式方式配置CredentialsURI类型凭证。

凭证说明

配置示例

如下示例,配置名为OIDC_ProfileOIDC类型凭证。

  • 交互式配置

    配置命令示例如下:

    aliyun configure --profile OIDC_Profile --mode OIDC

    交互过程示例如下:

    示例

    Configuring profile 'OIDC_Profile' in 'OIDC' authenticate mode...
    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
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[OIDC_Profile] ...Done.
  • 非交互式配置

    配置命令示例如下:

    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

操作步骤

  1. 执行以下命令,开始配置云SSO登录信息。您可以设置多个Profile,通过指定Profile快速切换登录的账号和访问配置。

    aliyun configure --profile sso --mode CloudSSO
  2. 根据提示输入用户登录地址signinUrl

    aliyun configure --profile sso --mode CloudSSO
    CloudSSO Sign In Url []: https://signin-******.alibabacloudsso.com/device/login
  3. 在弹出的浏览器窗口中,根据界面提示,完成云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: *********
  4. 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
  5. CLI列出您可以使用的访问配置,请输入编号选择要使用的访问配置。

    Please choose an access configuration:
    1. AccessConfiguration1
    2. AccessConfiguration2
    Please input the access configuration number: 2
  6. 指定默认地域。

    Default Region Id []: cn-hangzhou
  7. 配置成功后显示Configure Done字样及欢迎信息。

使用身份凭证配置

您可以参考以下方式使用指定的凭证配置。

设置当前配置

使用命令行选项

在命令行中使用--profile选项可指定使用配置。此方式具有最高优先级,会覆盖其他任何形式的配置。

示例:使用指定配置exampleProfile调用云服务器 ECSDescribeInstances接口获取云服务器 ECS实例信息。

aliyun ecs DescribeInstances --profile exampleProfile

凭证配置存储位置

凭证配置文件profile是一个可自定义名称的设置集,所有凭证信息与设置项均以JSON格式存储在config.json文件中。该文件位于您个人用户目录下的.aliyun文件夹中,个人用户目录位置因操作系统而异。

  • Windows:C:\Users\<USERNAME>\.aliyun

  • Linux/macOS:~/.aliyun

相关文档

  • 本页导读 (1)
  • 身份凭证配置方式
  • 身份凭证类型
  • 使用身份凭证配置
  • 设置当前配置
  • 使用命令行选项
  • 凭证配置存储位置
  • 相关文档