Вы можете поместить токен авторизации в переменную HEROKU_API_KEY
env в вашей промежуточной среде. Сгенерируйте токен с помощью heroku auth:token
.
Затем установите токен при постановке с помощью heroku config:set HEROKU_API_KEY=token -a staging
С точки зрения безопасности это означает, что ваша промежуточная среда в значительной степени имеет полный доступ к вашей производственной среде.
Более безопасный способ - запустить запланированное задание в производственном приложении или в новом приложении, специально предназначенном для этой цели, которое копирует резервную копию базы данных в корзину S3, к которой имеет доступ промежуточное приложение. Постановочное приложение восстанавливает данные из резервной копии в корзине s3. Постановка не требует доступа к производству.
В любом случае, это хорошая идея - если вы потеряете доступ к Heroku, у вас останется доступ к резервным копиям.
Для этого есть пакет сборки - https://github.com/kbaum/heroku-database-backups. Я рекомендую вам прочитать код в пакете сборки - это довольно простые процессы. Я также хотел бы либо создать пакет сборки, либо просто написать свой собственный код, потому что он будет иметь полный доступ к вашей производственной среде. Я никогда не доверяю сторонним buildpack-пакетам с этим.
Бонусные баллы, если ваша работа убирает конфиденциальную информацию из вашей производственной базы данных для постановки. Это может сделать это:
- Восстановление рабочей резервной копии во вторую базу данных
- Удаление конфиденциальной информации из второй базы данных
- Резервное копирование второй базы данных
- Вставьте вторую резервную копию базы данных в корзину S3.