首页 > 解决方案 > AWS 在 golang 中获取基于角色的凭证

问题描述

我想对 AWS 请求使用 v4 签名。但是,我需要凭据变量才能使用签名过程。

现在,我可以使用 id 和密钥成功签署请求(我不想这样做)。

我有一个具有适当权限的 lambda 函数。所以问题是我如何为我的凭据变量使用该权限?

这是我尝试使用 id 和 key

creds := credentials.NewStaticCredentials(os.Getenv("AWS_ACCESS_KEY_ID"), os.Getenv("AWS_SECRET_ACCESS_KEY"), "")
signer := v4.NewSigner(creds)

我查看了https://docs.aws.amazon.com/sdk-for-go/api/aws/credentials/上的文档

其中列出了创建凭据的所有方法

我可以为我的用例使用哪种方法?

标签: amazon-web-servicesgoamazon-iam

解决方案


我终于找到了另一种使用会话的方法。

config := aws.Config{
    Region: aws.String(os.Getenv("AWS_REGION")),
}
sess := session.Must(session.NewSession(&config))    
signer := v4.NewSigner(sess.Config.Credentials)

推荐阅读