将凭证从变量传递到 AWS SDK 版本 2
此查询呼应了之前有关使用来自变量的凭证的 AWS SDK 的问题。但是,在本例中,使用的是 SDK 版本 2,这消除了会话功能。
要使用从变量获取的凭据建立新客户端以访问 IAM 服务,请考虑以下函数:
<code class="go">func getIAMClient(ctx context.Context) (*iam.Client, error) { cfg, err := config.LoadDefaultConfig(ctx, config.WithRegion("no-region")) if err != nil { return nil, errors.Wrap(err) } cfg.HTTPClient, err = getHTTPClient(ctx) if err != nil { return nil, err } return iam.NewFromConfig(cfg), nil }</code>
由于多个用户可能同时使用该应用程序,因此利用 ENV 文件是不切实际的。但是,解释如何将这些凭据传递给客户端的文档可能不容易获得。
解决方案:静态凭据提供程序
要解决此问题,可以使用 StaticCredentialsProvider正如 AWS SDK for Go V2 文档的“静态凭证”部分所述:
<code class="go">cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID", "SECRET_KEY", "TOKEN")))</code>
通过合并此修改,凭证可以从变量传递到开发工具包,从而能够检索和使用IAM 服务。
以上是如何将变量中的凭证传递到 AWS 开发工具包版本 2 以进行 IAM 服务访问?的详细内容。更多信息请关注PHP中文网其他相关文章!