Skip to content

Serverless-Devs/alibabacloud-credentials-cli

 
 

Repository files navigation

Alibaba Cloud Credentials CLI

Node.js CI npm version codecov

Installation

Install it via NPM.

$ npm i @alicloud/acc -g

You will get a command that named acc. Test it in terminal:

$ acc
Alibaba Cloud Credentials CLI v0.0.1

   help              print help information
   version           print version
   completion        auto completion
   list              list alibaba cloud cli configurations
   run               run command with profile

Usage

List all credentials

$ acc list
 # | Profile             | Credential 
---|---------------------|----------
   | default             | AK:***C44
   | pager               | AK:***TrK
   | jacksontian         | AK:***zwR
   | sts                 | AK:***est
   | shyvo               | AK:***73a
   | ecsramrole          | EcsRamRole:rolename
   | sso                 | External:acs-sso login
   | nexttoken           | AK:***HZt
   | ramrole             | RamRoleArn:***73a/acs:ram::20899859:role/my
   | chain               | ChainableRamRoleArn:shyvo:acs:ram::1325847523475998:role/read-ecs
   | cli-test            | AK:***461
   | uri                 | CredentialsURI:http://localhost:6666/?user=jacksontian
   | ids-dev             | External:acs-sso login --profile ids-dev
   | test                | External:node /Users/jacksontian/go/src/github.com/aliyun/aliyun-cli/test.js
 * | puling_ram_role_arn | RamRoleArn:***sUT/acs:ram::1325847523475998:role/fc-test

Run with credentials

default mode:

$ acc run --profile default
export ALIBABACLOUD_ACCESS_KEY_ID=akid
export ALICLOUD_ACCESS_KEY_ID=akid
export ALIBABACLOUD_ACCESS_KEY_SECRET=aksecret
export ALICLOUD_ACCESS_KEY_SECRET=aksecret

acc run will print environment variables to stdout. It can be used like this:

$ `acc run --profile default` # set ak&sk&security into environment variables
$ aliyun sts GetCallerIdentity # use it from environment variables

split mode:

$ acc run --profile default -- aliyun sts GetCallerIdentity
{
   "AccountId": "132584752347***",
   "Arn": "acs:ram::132584752347****:assumed-role/fc-test/test***",
   "IdentityType": "AssumedRoleUser",
   "PrincipalId": "34223406312260****:test****",
   "RequestId": "B2B1BD67-1B4F-5C6F-B318-AF175D47****",
   "RoleId": "342234063122600***"
}

ACC use -- to split acc run and real command. acc run will get AK/STS with specify profile name, and set it into environment variables, then spawn aliyun sts GetCallerIdentity command. If real command can consume the three environment variables(ALIBABACLOUD_ACCESS_KEY_ID, ALIBABACLOUD_ACCESS_KEY_SECRET, ALIBABACLOUD_SECURITY_TOKEN), it can be composed to use.

License

Apache License 2.0.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%