2015-10-13 9 views
7

私はAzureにMVC 5アプリケーションをインストールすることに非常に不満を感じました。 http://www.asp.net/identity/overview/features-api/best-practices-for-deploying-passwords-and-other-sensitive-data-to-aspnet-and-azureAzureにWeb.configのパスワードを保存する正しい手順は何ですか

しかし、私は私の頭の中に入れて管理していないことは以下の通りである:

セキュリティ警告:プロジェクトにファイル.configをお使いの秘密を追加しないでください、私は以下のページを読んでてきましたまたはソースコントロールにチェックインしてください。既定では、Visual StudioはBuild ActionをContentに設定します。これは、ファイルが展開されていることを意味します。詳細については、プロジェクトフォルダ内のすべてのファイルが展開されない理由を参照してください。秘密の.configファイルには任意の拡張子を使用できますが、設定ファイルはIISによって提供されないため、.configファイルを保持することをお勧めします。また、AppSettingsSecrets.configファイルは、web.configファイルから2つ上のディレクトリレベルであるため、ソリューションディレクトリから完全に外れています。このファイルをソリューションディレクトリから移動することで、 "git add *"はリポジトリにファイルを追加しません。

そして:

セキュリティ警告:AppSettingsSecrets.configファイルとは異なり、外部接続文字列ファイルには、ルートweb.configファイルと同じディレクトリにある必要がありますので、あなたが取る必要があるでしょうに注意して、ソースリポジトリにチェックインしないように注意してください。

問題は次のとおりです。Web.configファイルを外部ファイルと共にアップロードせずに「システムが指定されたファイルを見つけることができません」というヒットが表示されるため、 Microsoftの投稿の目的を破った.configファイル。

私は本当に本当に本当に理解していません。 AzureのポータルにconnectionStringsとappSettingのキーを追加しました。 とは何ですか?私のパスワードと秘密をオンラインで保存する方法はですか?私は何が欠けていますか?私はデバッグモードで動作しているのですか?

は、これによると: How can I secure passwords stored inside web.config?

ありWeb.configファイルにアクセスして何も心配することはありません...

しかし、それはちょうど、Microsoftのポストを挑みます。

ありがとうございました。

答えて

3

これを行う最も簡単な方法は、次の手法があります。

の値web.configに入れるのではなく、代わりにテスト値を保持します。私は、Azureのポータルを通じてAzureのWebサイトのアプリケーションの設定]セクションに展開値を置く:

enter image description here

をウェブサイトを実行すると、これらの設定はweb.configにあるものよりも優先されます。これは、外部化されたファイルを避けるのに役立ち、私がチームが共有できる正常な開発構成を維持し、展開を非常に簡単にします。

+0

閉じるが、あなたはより良いあなたが何を意味するかを参照してください –

+0

あなたの秘密を確保するために、代わりにアプリの設定]セクションの接続文字列]セクションを使用することができますが、私はしないでくださいここで得られる安全性がそれほど高くないと思っています。そして、接続文字列の設定を接続文字列セクションから読み取るという混乱が生じました。 –

+0

返事をありがとう。接続文字列の場合...私のマシンとAzureでlocaldb接続だけを持っていて、DB接続を設定しても問題ありませんか? DB接続はlocaldbよりも優先されますか?私は、アプリケーションの設定がマージまたは置換されている場合(duplicateが見つかった場合)、connectionStringがオーバーライドされていることを読んで覚えています。 –

0

最も良い方法は、ポータルの[接続文字列]セクションで秘密を設定することです。そこに設定された値は、web.configファイルで指定した値を上書きします。

この方法では、サイト自体の管理者権限を持つユーザーにのみ公開されます。ソースに完全にアクセスできるだけでは、秘密の値を取得するのに十分ではありません。

enter image description here

詳細here

関連する問題