Использование переменных среды CircleCi для aws доступа / секретных ключей - PullRequest
1 голос
/ 08 января 2020

Я создал простой 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 ключи в управлении исходным кодом.

Ответы [ 2 ]

0 голосов
/ 08 января 2020

Вы можете использовать контекст CircleCI для хранения ключей AWS, а затем указать контекст в конфигурации CircleCI. Это не позволит сохранить их в коде.

0 голосов
/ 08 января 2020

Я использую кружочки, но не использую точку. net.

Я добавил AWS учетные данные в качестве переменных среды для проекта circleci. После этого я не включаю учетную часть моего кода nodejs. aws-sdk для nodejs будет использовать переменные среды для получения учетных данных. Я считаю, что поведение должно быть одинаковым и для приложений на основе dot. net.

Надеюсь, это поможет.

Справка: Безсерверная платформа развертывается через CircleCI

...