登录
首页 >  Golang >  Go问答

AWS Go SDK 凭证泄露

来源:stackoverflow

时间:2024-02-24 09:54:25 186浏览 收藏

大家好,今天本人给大家带来文章《AWS Go SDK 凭证泄露》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

我正在使用 aws,如果我想自动化某些操作,通常我会使用 boto3 / botocore 库在 python 中编写程序。现在我正在尝试学习 golang,但我发现奇怪的一件事是 aws sdk for go 如何处理可能的凭证链。

例如,botocore 库作为身份验证源使用起来非常简单;事实上,我不必担心“发现”aws 凭证,因为 botocore 会自动处理该问题。打开任何特定 python 脚本的调试日志会显示以下内容:

2020-09-11 20:32:59 my-local-machine botocore.credentials[91719] DEBUG Looking for credentials via: env
2020-09-11 20:32:59 my-local-machine botocore.credentials[91719] DEBUG Looking for credentials via: assume-role
2020-09-11 20:32:59 my-local-machine botocore.credentials[91719] DEBUG Looking for credentials via: assume-role-with-web-identity
2020-09-11 20:32:59 my-local-machine botocore.credentials[91719] DEBUG Looking for credentials via: sso
2020-09-11 20:32:59 my-local-machine botocore.credentials[91719] DEBUG Looking for credentials via: shared-credentials-file
2020-09-11 20:32:59 my-local-machine botocore.credentials[91719] INFO Found credentials in shared credentials file: ~/.aws/credentials

如您所见,它会遍历每种可能性,直到发现可行的选项;在本例中,是我的本地 ~/.aws/credentials 文件。

据我所知,我认为 go 中不存在类似类型的简单凭证发现。

  • 这是真的吗?为什么?
  • 此外,现有 golang 代码的一个很好的示例是什么,可以自动“发现”多种类型的凭据?

解决方案


AWS SDK for Go 使用类似的方案。根据 documentation

对于 V1 版本(其文档已链接),您将创建一个会话,仅此而已。对于 V2 版本(目前正在开发),您可以在导入包 "github.com/aws/aws-sdk-go-v2/aws/external"

后使用 external.LoadDefaultAWSConfig()

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《AWS Go SDK 凭证泄露》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>