1

私は、Visual Studio 2015で書かれたいくつかのSQLユニットテストを行っています。現在、app.configファイルの静的接続文字列を使用してデータベース(SQL Azureデータベース)に接続しています。Visual Studio 2015でSQLユニットテストのConnectionStringを暗号化します。

可能であれば、Azure Key Vaultを使用してこの情報を保護したいと考えています。

私は、web.configファイルを暗号化するには、このようなthis onethis oneなどの記事を見てきましたが、彼らは紺碧のWebアプリケーションに対してよりギヤードようです。

誰かが、SQLユニットテストのシナリオにより近い実装推奨事項を提供することができますか、上記のアプローチが私の場合に有効であることを確認できますか?

また、TestServiceで使用されているExecutionContextを上書きするなどの方法がありますか?

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

+1

このページが見つかりました:https://msdn.microsoft.com/en-us/library/53tyfkaw(v=vs.110).aspx –

答えて

0

鍵保管庫の単体テスト用のSQL接続文字列を格納するのがいいとは思いません。あなたの単体テストでキー格納域からこれらの接続文字列を取得するには、it needs a token from Azure ADを使用してキー格納域と通信します。したがって、鍵保管庫から秘密を取得する権限を持つAzure ADにアプリケーションを登録する必要があります。

しかし、その登録されたアプリケーションとしてのAzure ADに認証するアプリケーションのために、それはクライアントIDと秘密クライアントを必要とします。このクライアントの秘密は、明らかに鍵保管庫に保管することはできませんので、鍵保管庫の外に保管する必要がある秘密を持つ正方形に戻ります。

ユニットテストが常に同じマシンで実行されている場合は、クライアント証明書をインストールして、クライアントシークレットではなくAzure ADで認証することができます。しかし、これはあなたの単体テストを移植性のないものにするでしょう。

あなたのapp.configweb.configファイルからソース管理とreferenceから除外するプライベート設定ファイルにあなたの接続文字列を格納し、または環境変数でそれらを読むことがオフにあなたの方がよいでしょう。

関連する問題