![](/img/trans.png)
[英]Unable to get IAM security credentials from EC2 Instance Metadata Service - .netcore AWS SDK
[英]get aws credentials from ec2 metadata services in Go
如何让 GO SDK 从AWS
提供的Instance Metadata Service
( 169.254.169.254
) 获取AWS
的访问密钥。
我检查了官方AWS SDK
的go
文档,似乎只有从环境变量中获取访问密钥的方法,但没有来自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.