阿里云STS(Security Token Service) 是为阿里云账号(或RAM用户)提供短期访问权限管理的云服务。通过STS,您可以为联盟用户(您的本地账号系统所管理的用户)颁发一个自定义时效和访问权限的访问凭证。联盟用户可以使用STS短期访问凭证直接调用阿里云服务API,或登录阿里云管理控制台操作被授权访问的资源。
如果您需要快速掌握阿里云账号管理体系,请参看云栖社区。
- 当前版本:1.0.0
- Go 1.5及以上
- 执行命令
go get github.com/jkingben/aliyun-sts-go-sdk/sts
package main
import (
"fmt"
"os"
"github.com/aliyun/aliyun-sts-go-sdk/sts"
)
func handleError(err error) {
fmt.Println(err)
os.Exit(-1)
}
const (
accessKeyID = "<AccessKeyID>"
accessKeySecret = "<AccessKeySecret>"
roleArn = "<RoleArn>"
sessionName = "sts_demo"
)
func main() {
stsClient := sts.NewClient(accessKeyID, accessKeySecret, roleArn, sessionName)
resp, err := stsClient.AssumeRole(3600)
if err != nil {
handleError(err)
}
fmt.Printf("Credentials:\n")
fmt.Printf(" AccessKeyID:%s\n", resp.Credentials.AccessKeyId)
fmt.Printf(" AccessKeySecret:%s\n", resp.Credentials.AccessKeySecret)
fmt.Printf(" SecurityToken:%s\n", resp.Credentials.SecurityToken)
fmt.Printf(" Expiration:%s\n", resp.Credentials.Expiration)
}