5

Herokuは「開発中にPostgreSQLを使用することを強くお勧めします」ので、これは私が過去数か月間行ってきたことです。Rails 3.2.8を使用しており、DanielKehoeの優れたRailsHerokuチュートリアルとPostgreSQLへの移行に関するRyanBatesのrailscastの間で、アプリを実行してデプロイすることができました。私の問題は、postgreSQLが内部で(ロール、ユーザー、スーパーユーザーなどで)実行していることがたくさんあり、私には洞察がないことです。私は、ローカルと展開の両方で「信頼」認証を使用しているという事実を特に懸念しています。それは、ランダムな人々がどういうわけか私のアプリのデータベースにアクセスできることを意味しますか?

時々、rails / githubインターウェブで、アプリのconfig / database.ymlファイルをgithub(おそらくパブリックリポジトリまたは共有リポジトリのみ)から遠ざけることへの参照に出くわします。そのファイルにはパスワード情報が含まれているからです。私はいつもそのファイルを見て頭をかきます。私はそこにパスワード情報を入れていません。そのファイルは、開発、テスト、および本番環境でどのように表示されますか(注:これらはすべて同じコードであるため、簡潔にするために3つのうちの1つのみを示しています)。

[development, test or production]:
  adapter: postgresql
  encoding: unicode
  database: [myapp]_[development, test or production]
  pool: 5
  username: [myapp]
  password:

postgreSQLを正しくセットアップし、Railsアプリに安全にデプロイするために何をすべきかを知るのが怖いです。ご意見をお寄せいただきありがとうございます。あなたは世界をより安全な場所にするでしょう!

4

1 に答える 1

6

Railsアプリをherokuにデプロイするときは、postgresの構成についてまったく心配する必要はありません。各アプリに、独自のデータにアクセスするためのアクセス許可のみを持つ新しい資格情報のセットを提供し、データベースをオーバーライドすることでアプリにそれらを使用させます。デプロイするたびにyml。

これを確認するには、次のようにします。

heroku run bash --app your-app
$ less app/config/database.yml

ただし、誰も本番認証をソース管理に入れてはならないのは事実です(ただし、そうしているわけではありません)。

于 2012-08-19T20:40:25.540 に答える