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
$ 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
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.