全部產品
Search
文件中心

Alibaba Cloud CLI:配置憑證

更新時間:Nov 21, 2024

在使用阿里雲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>
說明

憑證選項是用於配置憑證的必需資訊。配置某一憑證類型時,僅需配置該憑證類型所需的選項。

  • 常見的通用選項如下,其適用於任一憑證類型。

    • --profile(必選):指定配置名稱。如果指定的配置存在,則修改配置。若不存在,則建立配置。

    • --region(必選):指定預設地區。詳情請參見地區和可用性區域

    • --language:指定阿里雲CLI顯示的語言,預設為英語。

    • --mode:指定配置的憑證類型,預設為AK類型。更多關於支援類型的詳細資料,請參見身份憑證類型

  • 注意事項

    • 請確保配置正確的AccessKey資訊,若不正確,可能會造成誤操作或者無法調用介面。

    • 使用非互動式配置方式配置憑證後,可使用aliyun configure listaliyun configure get命令查看配置是否建立成功。使用方法及樣本請參見配置憑證相關命令

身份憑證類型

AK

憑證說明

重要

為保證帳號安全,建議您建立專用於API訪問的RAM使用者並建立對應的AccessKey。更多關於憑據的安全使用建議,請參見憑據的安全使用方式情節

  • AK類型憑證為預設憑證類型,使用AccessKey資訊作為身份憑證。配置AK類型憑證時可以忽略--mode選項。

  • 配置必填項如下:

配置樣本

如下樣本,配置名為AkProfileAK類型憑證。

  • 互動式配置

    配置命令如下:

    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指定憑證類型。

  • 配置必填項如下:

配置樣本

如下樣本,配置名為RamRoleArnProfileRamRoleArn類型憑證。

  • 互動式配置

    配置命令如下:

    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指定憑證類型。

  • 配置必填項如下:

配置樣本

如下樣本,配置名為EcsRamRoleProfileEcsRamRole類型憑證。

  • 互動式配置

    配置命令如下:

    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兩種靜態憑證。憑證結構樣本如下:

      AK

      {
        "mode": "AK",
        "access_key_id": "accessKeyId",
        "access_key_secret": "accessKeySecret"
      }

      StsToken

      {
        "mode": "StsToken",
        "access_key_id": "accessKeyId",
        "access_key_secret": "accessKeySecret",
        "sts_token": "stsToken"
      }
    • Region Id:指定預設區域的RegionId。阿里雲支援的RegionId,請參見地區和可用性區域

配置樣本

如下樣本,配置名為ExternalProfileExternal類型憑證。

  • 互動式配置

    配置命令如下:

    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,具體操作如下:

    • RoleSessionName:角色會話名稱。該參數為使用者自訂參數,通常設定為調用該API的使用者身份,例如:使用者名稱。

配置樣本

說明

配置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 []: ****
      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,請參見地區和可用性區域

配置樣本

如下樣本,配置名為URIProfileCredentialsURI類型憑證。

  • 互動式配置

    配置命令如下:

    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

憑證說明

配置樣本

如下樣本,配置名為OIDCProfileOIDC類型憑證。

  • 互動式配置

    配置命令如下:

    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調用Elastic Compute Service OpenAPIDescribeInstances擷取Elastic Compute Service執行個體資訊。

    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