web-dev-qa-db-ja.com

SQLパスワードを保存しないSSIS接続マネージャー

以前は、SQLサーバー認証接続を持つdtsがありました。基本的に、ユーザーIDパスワードはパッケージ自体に保存されます。これで、SSISにアクセスしても、パスワードがパッケージに保存されません。私は問題をグーグルで見たときにこれを見た。 http://social.msdn.Microsoft.com/Forums/en-US/sqlintegrationservices/thread/c720e694-2f58-483a-9cd7-3feb7de2db7b しかし、誰も適切な解像度を与えていないようです。あなたの誰かが助けてくれますか?前もって感謝します

30
OpenSource

その答えはこの記事を指します: http://support.Microsoft.com/kb/91876

ここに提案されたソリューションがあります-それらを評価しましたか?

  • 方法1:SQL Serverエージェントプロキシアカウントを使用する

SQL Serverエージェントプロキシアカウントを作成します。このプロキシアカウントは、SQL Serverエージェントがパッケージを作成したアカウントまたは必要なアクセス許可を持つアカウントとしてジョブを実行できるようにする資格情報を使用する必要があります。

この方法は、シークレットを復号化し、ユーザーによるキー要件を満たします。ただし、SSISパッケージのユーザーキーには現在のユーザーと現在のコンピューターが関係するため、この方法では成功が制限される場合があります。したがって、パッケージを別のコンピューターに移動すると、ジョブステップで正しいプロキシアカウントが使用されている場合でも、この方法は失敗する可能性があります。先頭に戻る

  • 方法2:SSISパッケージのProtectionLevelプロパティをServerStorageに設定する

SSISパッケージのProtectionLevelプロパティをServerStorageに変更します。この設定は、パッケージをSQL Serverデータベースに格納し、SQL Serverデータベースロールを介したアクセス制御を許可します。先頭に戻る

  • 方法3:SSISパッケージのProtectionLevelプロパティをEncryptSensitiveWithPasswordに設定する

SSISパッケージのProtectionLevelプロパティをEncryptSensitiveWithPasswordに変更します。この設定では、暗号化にパスワードが使用されます。その後、SQL Serverエージェントジョブステップのコマンドラインを変更して、このパスワードを含めることができます。

  • 方法4:SSISパッケージ構成ファイルを使用する

SSISパッケージ構成ファイルを使用して機密情報を保存し、これらの構成ファイルをセキュリティで保護されたフォルダーに保存します。その後、ProtectionLevelプロパティをDontSaveSensitiveに変更して、パッケージが暗号化されず、秘密をパッケージに保存しないようにすることができます。 SSISパッケージを実行すると、必要な情報が構成ファイルから読み込まれます。構成ファイルに機密情報が含まれている場合は、構成ファイルが適切に保護されていることを確認してください。

  • 方法5:パッケージテンプレートを作成する

長期的な解決策として、デフォルト設定とは異なる保護レベルを使用するパッケージテンプレートを作成します。この問題は将来のパッケージでは発生しません。

26
Sam

プロパティに移動してpassword = yourpasswordを追加することで、構成文字列にパスワードを保存できますが、次のように「password」Wordの前と「;」の後にスペースを入れることが非常に重要です:

Data Source=50.21.65.225;User ID=vc_ssis; password=D@mc317Feo; Initial Catalog=Sales; Provider=SQLNCLI10.1; Persist Security Info=True;Auto Translate=False; Application Name=SSIS-PKG_CustomerData-{2A666833-6095-4486-C04F-350CBCA5C49E}IDM11.Sales.dev;

これが役立つことを願っています--Vijay K

19
VijayK

変数を使用して接続文字列全体を保存し、それをConnectionString式に渡します。これにより、接続のすべての設定が上書きされ、パスワードを保存できます。

8
Dave Sexton

SSISで設計された動作は、パッケージにパスワードを保存することを防ぐことです。これは、それが悪い習慣であるため、安全ではないためです。

代わりに、Windows認証を使用して、パッケージまたは構成ファイルにシークレットを保存しないようにするか、環境でそれが本当に不可能な場合(たとえば、Windowsドメインがない場合など)、 http://support.Microsoft.com/kb/91876 (Samの正しい、その記事の続きを読んでください)。最も簡単な答えは、パッケージに付属する構成ファイルですが、構成ファイルが安全に保存されているため、誰かがそれを読み取って資格情報を取得できないようにする必要があります。

6
onupdatecascade

接続文字列とパスワードを変数に保存して、式を使用して接続文字列に変数を割り当ててみてください。私も同じ問題に直面し、disのように解決しました。

私にも同じことが起こり、次のように修正されました。

式ベースの接続文字列を作成し、パスワードを変数に保存して使用しました。

0
Ramanujam Allam

パッケージを実行できるように、プロジェクトの構成ファイルを確認し、そこにIDとパスワードを設定してください

0
Prabish VT