方法 : 定義済みの資格情報を使用して SQL Server にアクセスする

更新 : 2007 年 11 月

SQL Server に接続する信頼できる方法は、ユーザー名とパスワードを接続文字列で渡す方法です。定義済みのユーザー名とパスワードを使用できます。定義済みのユーザー名とパスワードを connectionStrings 構成セクションの一部としてサーバーに格納し、保護された構成を使用して接続文字列の内容を暗号化する方法をお勧めします。詳細については、「保護された構成の概要」を参照してください。また、NTFS ファイル システムのアクセス許可を使用して Web.config ファイルへのアクセスを制限することをお勧めします。

ds20z471.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

アプリケーションのプログラムに資格情報を文字列としてハードコーディングしないでください。(コンパイル済みコードであっても) コード ファイルにアクセスできる人物がいれば、資格情報が漏洩する可能性があります。

ds20z471.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

定義済みのユーザー名には、リソースに対して最小限のアクセス特権を設定してください。"sa" またはその他の管理レベルのユーザー名を使用しないでください。必ず厳密なパスワード使用してください。

資格情報を Web.config ファイルに格納するには

  1. Web.config ファイルの connectionStrings 要素に新しい add キーを作成します。connectionStrings 要素が configuration 要素の子として表示されます。詳細については、「構成セクション スキーマ」を参照してください。

    ユーザー名とパスワードが格納された add キーの例を次に示します。

    <configuration>
      <connectionStrings>
        <add name="NorthwindConnection" 
          connectionString="Data Source=localhost; 
            Initial Catalog=Northwind;
            User Id=ApplicationUserID;
            Password=#P%19!ef2" />
      </connectionStrings>
    </configuration>
    
  2. チュートリアル : 保護された構成を使用した構成情報の暗号化」に示すように、保護された構成を使用して接続文字列値を暗号化します。

  3. アプリケーションで、ConfigurationManager クラスの ConnectionStrings プロパティから資格情報を読み取ります。

    実行時に資格情報を読み取ってそれを接続文字列に連結する例を次に示します。

    Dim settings As ConnectionStringSettings
    settings = System.Configuration.ConfigurationManager.ConnectionStrings("NorthwindConnection")
    Dim connectionString As String = settings.ConnectionString
    
    ConnectionStringSettings settings;
    settings = System.Configuration.ConfigurationManager.ConnectionStrings["NorthwindConnection"];
    string connectionString = settings.ConnectionString;
    

参照

概念

Web アプリケーションから SQL Server へのアクセス

安全なデータ アクセス (ADO.NET)

その他の技術情報

ASP.NET 構成設定

ASP.NET の認証