使用 STS 登陆 Aliyun 命令行

建议点击 查看原文 查看最新内容。

原文链接: https://typonotes.com/posts/2023/08/22/aliyun-sso-login-and-configure/

  1. 使用 acs-sso 登陆, 获取 sts token
1
$ acs-sso login --profile my-profile
  1. 配置 aliyun configure, aliyun cli 非交互式登陆
1
2
3
4
5
6
7
$ aliyun configure set \
    --profile my-profile \
    --mode StsToken \
    --region cn-hangzhou \
    --access-key-id AccessKeyId \
    --access-key-secret AccessKeySecret \
    --sts-token StsToken
  1. 使用 aliyun --profile my-profile XXXX 执行命令

2. 使用 jq 提取字段, 完成自动登陆

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash

PROFILE=my-profile
REGION=cn-shangzhou

tmpfile=acs-sso.${PROFILE}

## login
acs-sso login --profile ${PROFILE}
acs-sso login --profile ${PROFILE} > ${tmpfile}

## get params
AccessKeyId=$(jq -r .access_key_id ${tmpfile})
AccessKeySecret=$(jq -r .access_key_secret ${tmpfile})
StsToken=$(jq -r .sts_token ${tmpfile})

## aliyun configure setting
aliyun configure set \
    --profile ${PROFILE} \
    --mode StsToken \
    --region cn-hangzhou \
    --access-key-id AccessKeyId \
    --access-key-secret AccessKeySecret \
    --sts-token StsToken

## delete tmpfile
rm -f ${tmpfile}