Как получить доступ к переменным среды в Amazon S3 для приложения react, поскольку я сохранил ключ Firebase и Google Api в переменных env?

#reactjs #amazon-s3 #environment-variables #cicd

#реагирует на #amazon-s3 #переменные среды #cicd

Вопрос:

REACT_APP_API_KEY=** REACT_APP_FIREBASE_API_KEY=**

Использование в приведенном ниже стиле в react js для локальной среды : process.env.REACT_APP_FIREBASE_API_KEY

Примечание : Я использую конвейер кода aws и сборку кода для ci /cd.

Ответ №1:

В сборке кода вы можете редактировать среду и добавлять переменные среды. Нажмите кнопку Дополнительная конфигурация в консоли, чтобы просмотреть ее. Вы можете экспортировать REACT_APP_FIREBASE_API_KEY туда, и вы должны его забрать npm run build .

Вы также можете использовать файл .env.production и зафиксировать его в исходном коде. Это не секреты, они добавляются в развернутый код, поэтому проблем с безопасностью быть не должно.

Комментарии:

1. Спасибо, что я могу получить доступ к ключу, используя переменную среды, когда я использую в качестве открытого текста и при попытке доступа через параметр, в доступе отказано с ошибкой «код состояния контекста фазы: Расшифрованные переменные Сообщение об ошибке: AccessDeniedException: Пользователь: arn:aws:sts::357976885335:assumed-role/codebuild-vehicle-doctor-frontend-f2-alpha-service-role/AWSCodeBuild-f7192431-8e0a-4611-8bea-3d857eafea95 не авторизован для выполнения: ssm:getParameters на ресурсе: arn:aws:ssm:сша-восток-2:357976885335:параметр/FIREBASE_KEY, поскольку никакая политика на основе идентификации не разрешает действие ssm:getParameters»

2. Смысл ясен. Вам необходимо предоставить коду для сборки роли IAM ssm:разрешение на получение параметров на ресурсе. Найдите роль в консоли IAM и добавьте разрешение.

3. Я уже дал нижеприведенную политику для роли ARN :arn:aws:iam::357976885335:роль/служба-роль/сборка кода-транспортное средство-врач-интерфейс-f2-альфа-роль службы, но по-прежнему получаю отказ в доступе { «Версия»: «2012-10-17», «Заявление»: [ { «Эффект»: «Разрешить», «Действие»: [ «ssm:getParameters», «ssm:getParameter»], «Ресурс»: «arn:aws:ssm:США-восток-2:357976885335:параметр/Сборка кода/*» } ] }

4. Это опечатка? Ошибка для arn:aws:ssm:восток США-2:357976885335:параметр/FIREBASE_KEY, и вы предоставляете доступ к arn:aws:ssm:восток США-2:357976885335:параметр/Кодовая сборка/*. Хотя это не очень хорошая практика, попробуйте сначала использовать»*», а затем попробуйте ограничить его.

5. Должен ли я изменить на arn:aws:ssm:сша-восток-2:357976885335:параметр/FIREBASE_KEY/*?