繁体   English   中英

从 Go 中的 ec2 元数据服务获取 aws 凭据

[英]get aws credentials from ec2 metadata services in Go

如何让 GO SDK 从AWS提供的Instance Metadata Service ( 169.254.169.254 ) 获取AWS的访问密钥。

我检查了官方AWS SDKgo文档,似乎只有从环境变量中获取访问密钥的方法,但没有来自IMS的凭证检索器。

这是如何在 go 中完成的?

我检查了官方 AWS SDK 的 go 文档,似乎只有从环境变量中获取访问密钥的方法,但没有来自 IMS 的凭据检索器。

你只是错过了它。 Go SDK 支持实例元数据服务以及所有其他常见凭证提供程序。

https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html

如果您已将实例配置为使用 IAM 角色,则 SDK 会自动将这些凭证用于您的应用程序。

您无需执行任何操作来配置它。 它应该可以工作。 如果您遇到问题,请确保您没有手动配置某些其他凭据源。

通常你不需要做更多的事情,比如:

  sess := session.Must(
    session.NewSessionWithOptions(session.Options{
      SharedConfigState: session.SharedConfigEnable,
    }),
  )

无论有没有 CLI 配置、元数据服务或环境变量,它都应该可以在任何地方运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM