Рубрики
Uncategorized

Как использовать AWS SSM в автономном режиме для ежедневного развития.

В настоящее время многие команды используют AWS SSM, чтобы обеспечить безопасность своих секретов, но иногда вам нужно запустить свою AP … Tagged с Dotenv, AWS, SSM, DevOps.

В настоящее время многие команды используют AWS SSM, чтобы обеспечить безопасность своих секретов, но иногда вам нужно запустить свое приложение на локальной машине разработки, не подключаясь к AWS SSM. В этой статье я постараюсь объяснить простое решение для использования ваших секретов в автономном режиме.

Одним из общих решений для использования AWS SSM является инъекция секретов в качестве переменной среды в ОС Docker. Приложение может легко получить доступ ко всем переменным и секретам, которые ему нужны. SSM-ENV .

Решение:

AWS CLI имеет хорошую функцию, чтобы извлечь все секреты рекурсивно ( —рекурсивное-с декрифрованием ). Мы используем его для извлечения всех секретов в нашей локальной разработке в качестве файла dotenv.

#!/bin/sh

REGION=eu-west-1
PROFILE=default

AWS_SECRET_PATH="/secrets/service/TESTAPP/eu/staging/"         
SECRET_FILE_PATH="secrets/eu-staging.env"

currentDate=`date`

echo "# Last update = $currentDate" > $SECRET_FILE_PATH


(export AWS_REGION="$REGION"; export AWS_DEFAULT_REGION="$REGION"; aws --profile $PROFILE ssm get-parameters-by-path --path "${AWS_SECRET_PATH}" \
             --recursive --with-decryption \
             --output text --query "Parameters[].[Name,Version,Value]"  \
            | while read key version value  ; do echo "# version $version " >> $SECRET_FILE_PATH ; echo "${key##*/}=$value" >> $SECRET_FILE_PATH ;  done)

Результатом будет eu-staging.env файл

# Last update = Di 28 Jul 2020 17:26:08 CEST

# version 1 
DB_PASSWORD=Xrttrsdfseww
# version 2 
API_PASS=sdfsdflklhfs

Время даты в верхней части файла показано вам последнее обновление.

Чтобы запустить ваше приложение, вы можете использовать dotenv-cli

dotenv -e secrets/eu-staging.env yarn start

Вы можете легко расширить этот сценарий, чтобы получить все секреты окружающей среды на основе ваших потребностей.

Алиакбар Салехи

Оригинал: «https://dev.to/aliakbar_salehi/use-aws-secret-in-local-development-via-dotenv-31ii»