2016-06-18 4 views
1

私は誤って猫を袋から出して、HerokuのmLabによってプロビジョニングされたデータベースのために私のMONGODB_URIを公開しました - 私の接続文字列をリセット/再生成/変更する方法はありますか?HerokuでmlabプロビジョニングされたDBのMONGODB_URIを変更するにはどうすればよいですか?

例えば、私の接続文字列は次のように見えた:ここで重要なのは、接続文字列がで作られているものを実現することである mongodb://heroku_g20xzxs8:[email protected]:41222/heroku_g20xzxs8

答えて

4

すぐモンゴCLI経由で新しいパスワードを設定まず:

ログイン:

$ mongo --port 27017 -u siteUserAdmin -p password --authenticationDatabase admin 

パスワード変更:

$ db.changeUserPassword("yourusername", "S0m3NeWPaSW0RdPxmt1oOfL") 

あなたはdb.removeUserでenterilyユーザー名を削除することができ、後(ユーザ名)と再作成するdb.createUser()。最大mongo 2.6 db.removeUser()

ユーザー全体を更新することは可能ですdb.updateUser()。新しい文字列を展開する

は、Herokuの操作を行います。

$ heroku config:set MONGODB_URI=mongodb://dbuser:[email protected]:port1,host2:port2/dbname 

あなたは完全にユーザーを削除し、mLabsに新しいものを作成し、CLI /コマンドラインウェイにしたくない場合は - 「最初のホーム画面」/ ' MongoDBデプロイメントの/ Users/'Name-Readonly-X'削除して終了するには「X」をクリックしてください。新しいユーザーを追加し、その後に新しい文字列を展開します。

1

。単一ノードの計画に私の場合、私の接続文字列は、この形式のデータベースのためのいくつかの生成されたユーザとパスワードが含まれてい

mongodb://dbuser:[email protected]:port/dbname

にデフォルト設定しました。あなたはHerokuのアプリのダッシュボードを経由して、あなたのMLAB管理ポータルに行くか、またはHerokuのCLIでそれを開いた場合:

heroku addons:open mongolab

あなたは[ユーザー]タブに移動して、新しいユーザーを作成することができます。新しいユーザー名とパスワードを使用すると、update your heroku config variableとすることができます。

たとえば、この場合、生成されたユーザ名はheroku_g20xzxs8であり、パスワードはvc8k708rh1qqgr17luq7satqctです。新しいユーザーnew_db_userとパスワードth1$PasswordR0x、更新し、接続文字列を作成し、あなたのMONGODB_URIの設定変数の値は次のようになります場合:あなたの更新MONGODB_URIが作業順序であることをテストしたら

mongodb://new_db_user:[email protected]:41222/heroku_g20xzxs8

、自動的に生成されたユーザーを削除してください - はい、これ以上の脆弱性はありません!

関連する問題