SQL Server認証モードの選択

Microsoft SQL Server 2016では、Windows認証モードまたは複合認証モードの2つの選択肢があります。

Windows認証とは、SQL ServerがWindowsのユーザー名とパスワードのみを使用してユーザーのIDを検証することを意味します。 ユーザーがWindowsシステムによって既に認証されている場合、SQL Serverはパスワードを要求しません。

混在モードは、SQL ServerがWindows認証とSQL Server認証の両方を有効にすることを意味します。 SQL Server認証では、Windowsとは無関係のユーザーログインが作成されます。

認証の基本

認証とは、ユーザーまたはコンピュータのIDを確認するプロセスです。 このプロセスは、通常、次の4つのステップで構成されます。

  1. ユーザは、通常、ユーザ名を提供することによって、身元を主張します。
  2. このシステムは、ユーザが自分の身元を証明するように挑戦する。 最も一般的な課題は、パスワードの要求です。
  3. ユーザーは、要求された証明書(通常はパスワード)を入力することによって、チャレンジに応答します。
  4. システムは、例えば、パスワードをローカルパスワードデータベースと照合したり、集中認証サーバを使用して確認するなどして、ユーザが許容可能な証明を提供したことを検証する。

SQL Serverの認証モードについては、システムがユーザーの身元証明を検証するポイントである上の4番目のステップで重要な点があります。 認証モードを選択すると SQL Serverがユーザーのパスワードを確認する場所が決まります。

SQL Server認証モードについて

これらの2つのモードをもう少し詳しく探そう。

Windows認証モードでは、ユーザーは有効なWindowsユーザー名とパスワードを入力してデータベースサーバーにアクセスする必要があります。 このモードを選択すると、SQL ServerはSQL Server固有のログイン機能を無効にし、ユーザーのIDはWindowsアカウントを介してのみ確認されます。 このモードは、SQL Serverが認証にWindowsに依存するため、 統合セキュリティと呼ばれることがあります。

混合認証モードでは、Windows資格情報を使用できますが、管理者がSQL Server内で作成および管理するローカルSQL Serverユーザーアカウント使用して資格情報を補うことができます。 ユーザーのユーザー名とパスワードはどちらもSQL Serverに格納されており、接続するたびにユーザーを再認証する必要があります。

認証モードの選択

可能な限りWindows認証モードを使用することをお勧めします。 主な利点は、このモードを使用すると、企業全体のアカウント管理を1か所に集約できることです。 これにより、エラーや見落としの可能性が大幅に減少します。 ユーザーの身元はWindowsによって確認されるため、特定のWindowsユーザーおよびグループアカウントをSQL Serverにログインするように構成できます。 さらに、Windows認証では、暗号化を使用してSQL Serverユーザーを認証します。

一方、SQL Server認証を使用すると、ユーザー名とパスワードをネットワーク全体に渡すことができ、セキュリティが低下します。 ただし、ユーザーが信頼されていないさまざまなドメインから接続している場合や、ASP.NETなどの安全性の低いインターネットアプリケーションが使用されている場合は、このモードを選択することをお勧めします。

たとえば、信頼できるデータベース管理者があなたの組織を非友好的な言葉で放置するというシナリオを考えてみましょう。 Windows認証モードを使用している場合、DBAのActive Directoryアカウントを無効にするか削除すると、そのユーザーのアクセスが自動的に取り消されます。

混合認証モードを使用する場合は、DBAのWindowsアカウントを無効にする必要があるだけでなく、DBAがパスワードを知っているローカル・アカウントがないことを確認するために、 各データベース・サーバーのローカル・ユーザー・リストを参照する必要があります。 それはたくさんの仕事です!

要約すると、選択するモードは、セキュリティのレベルと組織のデータベースのメンテナンスの容易さの両方に影響します。