1

Windowsローカルネットワークには、MySqlデータベース、いくつかのクライアントアプリケーション(データベースにクエリを実行するだけ)、および定期的にデータベースを埋める1つのWindowsNTサービスがあります。すべてのアプリケーションがデータベースにアクセスできるように、データベースのクレデンシャルを保存するための最良の方法を探しています。クライアントアプリケーション(通常のユーザーによって実行される)の場合、私はWindowsクレデンシャルマネージャーにクレデンシャルを保存します。これは、私が理解している限り、特定のユーザーにのみ表示されます。

私の質問は、WindowsサービスがデータベースにアクセスできるようにMySqlクレデンシャルをどこに保存するのが最適かということです。

よろしくお願いします、ニコラス

4

2 に答える 2

1

LsaStorePrivateDataおよびLsaRetrievePrivateData関数は、シークレットを保存および取得するかなり簡単な方法です。この方法で保存されたデータは、マシンへの管理アクセス権を持つユーザーのみが取得できます。これは 100% の保護を提供するわけではありませんが (バグがなく、暗号化アルゴリズムが壊れていないと仮定すると)、手動の介入なしにシステム サービスによってシークレットを取得する必要がある場合、保護は論理的に可能な限り優れています。

LsaStorePrivateData の組み込み GUI はありません。この関数を使用して MySql 資格情報を保存するコードを記述する必要があります。(ただし、このコードは、システム サービスと同じ実行可能ファイルにあり、コマンド ライン オプションを介してアクセスできます。)

于 2012-08-27T03:43:35.893 に答える
0

サービスはユーザーとしても実行されるのに、なぜ同じアプローチを使用できないのでしょうか? これは、サービスが独自のユーザーまたはその他の安全なアカウントとして実行されることを前提としています。

于 2012-08-27T02:10:59.427 に答える