amazon-web-services - 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/上的文档
其中列出了创建凭据的所有方法
func NewChainCredentials(providers []Provider) *Credentials
func NewCredentials(provider Provider) *Credentials
func NewEnvCredentials() *Credentials
func NewSharedCredentials(filename, profile string) *Credentials
func NewStaticCredentials(id, secret, token string) *Credentials
func NewStaticCredentialsFromCreds(creds Value) *Credentials
我可以为我的用例使用哪种方法?
解决方案
我终于找到了另一种使用会话的方法。
config := aws.Config{
Region: aws.String(os.Getenv("AWS_REGION")),
}
sess := session.Must(session.NewSession(&config))
signer := v4.NewSigner(sess.Config.Credentials)
推荐阅读
- reactjs - 如何处理和呈现多个 api 响应在组件中包含超过 5000 个字符串数组
- javascript - 如何从 IndexDB 中获取 Firebase Auth 令牌以进行 Ajax 调用
- scala - 无效的JobConfException。未设置输出目录
- asp.net-mvc - 尝试使用来自另一个应用程序的返回类型视图调用控制器操作方法时出现 CORS 错误
- neural-network - 神经元是否总是持有一个标量值
- android - 在调用 onDestory() 之前是否绑定了服务?
- python-3.x - FTP 未连接以“EOFError”结束
- node.js - 节点 postgres 连接性能改进
- javascript - 在反应中获取具有特殊字符和动态变量的路由路径
- django - “Django_content_type 已经存在” - 在数据库恢复后在服务器上运行迁移之后