首页  >  文章  >  后端开发  >  如何将变量中的凭证传递到 AWS 开发工具包版本 2 以进行 IAM 服务访问?

如何将变量中的凭证传递到 AWS 开发工具包版本 2 以进行 IAM 服务访问?

Patricia Arquette
Patricia Arquette原创
2024-10-31 09:41:29452浏览

How to Pass Credentials from Variables to AWS SDK Version 2 for IAM Service Access?

将凭证从变量传递到 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn