将CircleCi环境变量用于AWS访问/秘密密钥

问题描述 投票:1回答:2

我创建了一个简单的API测试来发布文档。终端节点需要使用AWS访问和密钥进行身份验证。这是我的API测试代码。

public static async Task<HttpResponseMessage> PostRequest(string requestUrl, dynamic json = null, byte[] file = null)
        {
            var credentials = new ImmutableCredentials(accessKey, secretKey, null);

            var url= url.SetQueryParams(json);
            var httpContent = new ByteArrayContent(file );

            var response = await client.PostAsync(
                postUrl,
                httpContent,
                regionName: regionName,
                serviceName: serviceName,
                credentials: credentials);

            return response;
        }

[目前,这些凭据是硬编码的(我知道这不是很好)。通过CI管道,我正在使用CircleCi,并将AWS密钥存储在环境变量部分中。我现在的问题是如何访问和实现这些变量到我的测试代码中?

关于我要执行的操作的想法是,我不想在源代码控制中对我的AWS密钥进行硬编码。

c# .net amazon-web-services api circleci
2个回答
0
投票

我使用circleci,但我不使用dot.net。

我已将AWS凭证添加为circleci项目的环境变量。在那之后,我不包括我的nodejs代码的凭据部分。 aws-sdknodejs将使用环境变量来获取凭据。我认为基于dot.net的应用程序的行为也应相同。

希望这会有所帮助。

参考:Serverless Framework deploy through CircleCI


0
投票

您可以使用CircleCI context存储AWS密钥,然后在CircleCI配置中指定上下文。这将阻止将它们保留在代码中。

© www.soinside.com 2019 - 2024. All rights reserved.