セットアップ中に、データベース エンジンの認証モードを選択する必要があります。 Windows 認証モードと混合モードの 2 つのモードがあります。 Windows 認証モードでは、Windows 認証が有効になり、SQL Server 認証が無効になります。 混合モードでは、Windows 認証と SQL Server 認証の両方が有効になります。 Windows 認証は常に使用可能であり、無効にすることはできません。
認証モードの構成
セットアップ中に混合モード認証を選択した場合は、sa という名前の組み込みの SQL Server システム管理者アカウントの強力なパスワードを指定して確認する必要があります。 sa アカウントは、SQL Server 認証を使用して接続します。
セットアップ中に Windows 認証を選択すると、セットアップによって SQL Server 認証用の sa アカウントが作成されますが、無効になります。 後で混合モード認証に変更し、sa アカウントを使用する場合は、アカウントを有効にする必要があります。 Windows または SQL Server アカウントは、システム管理者として構成できます。 sa アカウントはよく知られており、多くの場合、悪意のあるユーザーを対象としているため、アプリケーションで必要な場合を除き、sa アカウントを有効にしないでください。 sa アカウントに空白または脆弱なパスワードを設定しないでください。 Windows 認証モードから混合モード認証に変更し、SQL Server 認証を使用するには、「 サーバー認証モードの変更」を参照してください。
Windows 認証を使用した接続
ユーザーが Windows ユーザー アカウントを介して接続すると、SQL Server はオペレーティング システムの Windows プリンシパル トークンを使用してアカウント名とパスワードを検証します。 これは、ユーザー ID が Windows によって確認されることを意味します。 SQL Server はパスワードを要求せず、ID 検証も実行しません。 Windows 認証は既定の認証モードであり、SQL Server 認証よりもはるかに安全です。 Windows 認証では、Kerberos セキュリティ プロトコルを利用し、強力なパスワードに対して複雑な検証を行うという点に関して、パスワード ポリシーが強化されています。また、アカウント ロックアウトの機能を提供し、パスワード有効期限にも対応しています。 Windows 認証を使用して行われる接続は、SQL Server が Windows によって提供される資格情報を信頼するため、信頼された接続と呼ばれることもあります。
Windows 認証を使用すると、ドメイン レベルで Windows グループを作成でき、グループ全体に対して SQL Server にログインを作成できます。 ドメイン レベルでアクセスを管理すると、アカウント管理が簡素化されます。
重要
可能な場合は、Windows 認証を使用します。
SQL Server 認証を使用した接続
SQL Server 認証を使用する場合、Windows ユーザー アカウントに基づいていないログインが SQL Server に作成されます。 ユーザー名とパスワードの両方が SQL Server を使用して作成され、SQL Server に格納されます。 SQL Server 認証を使用して接続するユーザーは、接続するたびに資格情報 (ログインとパスワード) を入力する必要があります。 SQL Server 認証を使用する場合は、すべての SQL Server アカウントに強力なパスワードを設定する必要があります。 強力なパスワードのガイドラインについては、「 強力なパスワード」を参照してください。
SQL Server ログインには、3 つのオプションのパスワード ポリシーを使用できます。
ユーザーは次のログイン時にパスワードを変更する必要があります
ユーザーが次回接続する際にパスワードを変更する必要があります。 パスワードを変更する機能は、SQL Server Management Studio によって提供されます。 このオプションを使用する場合は、サード パーティのソフトウェア開発者がこの機能を提供する必要があります。
パスワードの有効期限を適用する
コンピューターの最大パスワード有効期間ポリシーは、SQL Server ログインに適用されます。
パスワード ポリシーを適用する
コンピューターの Windows パスワード ポリシーは、SQL Server ログインに適用されます。 これには、パスワードの長さと複雑さが含まれます。 この機能は、Windows Server 2003 以降のバージョンでのみ使用できる
NetValidatePasswordPolicy
API によって異なります。
ローカル コンピューターのパスワード ポリシーを確認するには
[スタート] メニューの [ファイル名を指定して実行] をクリックします。
[ 実行 ] ダイアログ ボックスで、「
secpol.msc
」と入力し、[OK] をクリック します。ローカル セキュリティ設定アプリケーションで、[セキュリティ設定] を展開し、[アカウント ポリシー] を展開し、[パスワード ポリシー] をクリックします。
パスワード ポリシーは、結果ウィンドウで説明します。
SQL Server 認証の欠点
ユーザーが Windows のログインとパスワードを持つ Windows ドメイン ユーザーの場合でも、接続するには別の (SQL Server) ログインとパスワードを指定する必要があります。 複数の名前とパスワードを追跡することは、多くのユーザーにとって困難です。 データベースに接続するたびに SQL Server 資格情報を指定する必要があると、面倒な場合があります。
SQL Server 認証では、Kerberos セキュリティ プロトコルを使用できません。
Windows には、SQL Server ログインでは使用できない追加のパスワード ポリシーが用意されています。
暗号化された SQL Server 認証ログイン パスワードは、接続時にネットワーク経由で渡す必要があります。 自動的に接続する一部のアプリケーションでは、パスワードがクライアントに格納されます。 これらは追加の攻撃ポイントです。
SQL Server 認証の利点
SQL Server 認証を必要とするサード パーティが提供する古いアプリケーションとアプリケーションを SQL Server でサポートできるようにします。
すべてのユーザーが Windows ドメインによって認証されない、オペレーティング システムが混在する環境を SQL Server でサポートできるようにします。
ユーザーが不明または信頼されていないドメインから接続できるようにします。 たとえば、確立された顧客が割り当てられた SQL Server ログインに接続して注文の状態を受け取るアプリケーションなどです。
ユーザーが独自の ID を作成する Web ベースのアプリケーションを SQL Server でサポートできるようにします。
ソフトウェア開発者は、既知のプリセット SQL Server ログインに基づく複雑なアクセス許可階層を使用して、アプリケーションを配布できます。
注
SQL Server 認証を使用しても、SQL Server がインストールされているコンピューター上のローカル管理者のアクセス許可は制限されません。